/**
 * LazyBox v2.2.2 CSS (Final Layout Fix)
 * Corrected the .lb-image rule to ensure 100% width on initial load.
 */
body.lazybox-open { overflow: hidden; }
#lazybox { z-index: 99992; position: fixed; top: 0; right: 0; bottom: 0; left: 0; font-family: 'Helvetica Neue', Helvetica, sans-serif; animation: lb-fade-in 0.3s ease; }
#lazybox.lb-fade-out { animation: lb-fade-out 0.3s ease forwards; }
#lazybox * { margin: 0; padding: 0; box-sizing: border-box; }
#lazybox .lb-content { position: relative; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.9); }
#lazybox .lb-loading { z-index: 99999; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 30px; height: 30px; border: 3px solid #f3f3f3; border-top-color: #555; border-radius: 50%; animation: lb-spin 1s linear infinite; }
#lazybox .lb-infobar { z-index: 99997; position: absolute; top: 15px; left: 15px; color: #a8a8a8; background: rgba(0,0,0,0.5); padding: 5px 10px; border-radius: 4px; font-size: 14px; }

#lazybox .lb-close {
    z-index: 99997;
    position: absolute;
    top: 15px;
    right: 15px;
    width: 45px;
    height: 45px;
    cursor: pointer;
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMyIDMyIiBoZWlnaHQ9IjMycHgiIGlkPSLQodC70L7QuV8xIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMycHgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxwYXRoIGQ9Ik0xNy40NTksMTYuMDE0bDguMjM5LTguMTk0YzAuMzk1LTAuMzkxLDAuMzk1LTEuMDI0LDAtMS40MTRjLTAuMzk0LTAuMzkxLTEuMDM0LTAuMzkxLTEuNDI4LDAgIGwtOC4yMzIsOC4xODdMNy43Myw2LjI4NGMtMC4zOTQtMC4zOTUtMS4wMzQtMC4zOTUtMS40MjgsMGMtMC4zOTQsMC4zOTYtMC4zOTQsMS4wMzcsMCwxLjQzMmw4LjMwMiw4LjMwM2wtOC4zMzIsOC4yODYgIGMtMC4zOTQsMC4zOTEtMC4zOTQsMS4wMjQsMCwxLjQxNGMwLjM5NCwwLjM5MSwxLjAzNCwwLjM5MSwxLjQyOCwwbDguMzI1LTguMjc5bDguMjc1LDguMjc2YzAuMzk0LDAuMzk1LDEuMDM0LDAuMzk1LDEuNDI4LDAgIGMwLjM5NC0wLjM5NiwwLjM5NC0xLjAzNywwLTEuNDMyTDE3LjQ1OSwxNi4wMTR6IiBmaWxsPSIjZmZmZmZmIiBpZD0iQ2xvc2UiLz48Zy8+PGcvPjxnLz48Zy8+PGcvPjxnLz48L3N2Zz4=') center/cover no-repeat;
    opacity: 0.8;
    transition: all 0.2s;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,0.8));
}
#lazybox .lb-close:hover { 
    opacity: 1;
    transform: rotate(90deg);
}

#lazybox .lb-control-left, #lazybox .lb-control-right { z-index: 99996; position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 60px; background-color: rgba(0, 0, 0, 0.4); cursor: pointer; transition: background-color 0.2s; background-repeat: no-repeat; background-position: center; background-size: 20px 20px; }
#lazybox .lb-control-left:hover, #lazybox .lb-control-right:hover { background-color: rgba(0, 0, 0, 0.7); }
#lazybox .lb-control-left { left: 10px; border-radius: 0 4px 4px 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAHlBMVEUAAAD///////////////////////////////////8kfJuVAAAACXRSTlMAFRqzwcvM0tm5QgwQAAAAK0lEQVR4AWMYtoCJlRm/PAcnCwF5dsZhLM/ABpKnSAETxwhTwUI4yQ0zAAD12gHrZ1kh5AAAAABJRU5ErkJggg=='); }
#lazybox .lb-control-right { right: 10px; border-radius: 4px 0 0 4px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAHlBMVEUAAAD///////////////////////////////////8kfJuVAAAACXRSTlMAFhq+w8bM1dlMuAVXAAAAKklEQVR4AWMYdoCZlRG/AjZOdvwqmDhGmAoWchUgrBie8ogEQzDJDVMAAPJZAelGeIG8AAAAAElFTSuQmCC'); }
#lazybox .lb-image-wrapper { z-index: 99995; position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 0; }

#lazybox .lb-panzoom-container {
    line-height: 0;
    cursor: grab;
}
#lazybox .lb-panzoom-container:active {
    cursor: grabbing;
}

/* 【最终修正】确保图片初始加载时宽度为100% */
#lazybox .lb-image {
    width: 100%;
    height: auto;
    max-height: 100vh; /* 仅限制最大高度，防止超长图溢出 */
    display: block;
    opacity: 0;
    transition: opacity 0.3s ease;
}

#lazybox .lb-description { z-index: 99996; position: absolute; bottom: 0; left: 0; width: 100%; display: none; padding: 20px 40px; color: #fff; font-size: 16px; text-align: center; background: linear-gradient(to top, rgba(0,0,0,0.7), transparent); }
@keyframes lb-spin { 0% { transform: translate(-50%, -50%) rotate(0deg); } 100% { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes lb-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes lb-fade-out { from { opacity: 1; } to { opacity: 0; } }