.photo-album-container{max-width:1200px;margin:0 auto;padding:20px 0}.photo-album-header{display:none}.photo-album-title{font-size:2em;margin-bottom:15px}.photo-album-description{margin-bottom:20px}.album-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:30px}.album-nav-item{padding:8px 20px;border:none;border-radius:20px;background:var(--muted-color-l);color:var(--main-color);cursor:pointer;transition:all .3s ease;font-size:14px;border:1px solid var(--main-border-color)}.dark-theme .album-nav-item{background:var(--muted-color);border-color:var(--main-border-color)}.album-nav-item:hover{background:var(--muted-color);color:var(--main-color)}.dark-theme .album-nav-item:hover{background:var(--muted-color-2);color:var(--main-color)}.album-nav-item.active{background:var(--theme-color);color:#fff;border-color:var(--theme-color)}.dark-theme .album-nav-item.active{background:var(--theme-color);color:#fff;border-color:var(--theme-color)}.album-nav-item.active:hover{background:var(--theme-color);color:#fff;opacity:.9}.photo-album-section{display:none;margin-bottom:40px;padding:0;border-radius:10px}.photo-album-section.active{display:block}.album-section-title{font-size:1.5em;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid rgba(0,0,0,.1)}.album-section-description{margin:0 auto 30px;width:var(--description-width,100%);max-width:var(--description-max-width,none);font-size:1em;line-height:1.8;text-align:center;box-sizing:border-box}.desc-style-modern{background:var(--main-bg);padding:25px 35px;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.05);transform:translateY(0);transition:all .3s ease}.desc-style-modern:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,.1)}.dark-theme .desc-style-modern{background:var(--main-bg-2);box-shadow:0 5px 20px rgba(0,0,0,.15)}.desc-style-classic{position:relative;padding:30px 40px}.desc-style-classic:before,.desc-style-classic:after{content:'';position:absolute;width:100px;height:2px;background:var(--theme-color);left:50%;transform:translateX(-50%)}.desc-style-classic:before{top:0}.desc-style-classic:after{bottom:0}.desc-style-classic .description-inner:before,.desc-style-classic .description-inner:after{content:'';position:absolute;width:2px;height:50px;background:var(--theme-color);top:50%;transform:translateY(-50%)}.desc-style-classic .description-inner:before{left:0}.desc-style-classic .description-inner:after{right:0}.desc-style-quote{position:relative;padding:30px 40px;font-style:italic}.desc-style-quote:before,.desc-style-quote:after{content:'"';position:absolute;font-size:4em;color:var(--theme-color);opacity:.2;font-family:Georgia,serif;line-height:1}.desc-style-quote:before{top:0;left:0}.desc-style-quote:after{bottom:-20px;right:0}.desc-style-highlight{background:var(--theme-color);color:#fff;padding:25px 35px;border-radius:10px;position:relative;overflow:hidden}.desc-style-highlight:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1))}.desc-style-highlight .description-inner{position:relative;z-index:1}.desc-style-minimal{position:relative;padding:20px 0}.desc-style-minimal:before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:50px;height:1px;background:var(--theme-color)}.desc-style-minimal .description-inner{position:relative;padding:0 20px}@media screen and (max-width:768px){.album-section-description{margin-bottom:20px;padding:20px;font-size:.95em;width:100%}.desc-style-classic:before,.desc-style-classic:after{width:60px}.desc-style-classic .description-inner:before,.desc-style-classic .description-inner:after{height:30px}}.masonry-container{position:relative;margin:0;--masonry-force-columns:var(--masonry-columns,4)}.masonry-item{position:absolute;padding-top:var(--masonry-spacing-top,10px);padding-right:var(--masonry-spacing-right,10px);padding-bottom:var(--masonry-spacing-bottom,10px);padding-left:var(--masonry-spacing-left,10px);width:calc((100%/var(--masonry-force-columns)));box-sizing:border-box;transition:transform .3s ease}@media screen and (max-width:1200px){.masonry-item{width:var(--masonry-item-width-tablet)}}@media screen and (max-width:768px){.masonry-item{width:var(--masonry-item-width-mobile)}}@media screen and (max-width:480px){.masonry-item{width:var(--masonry-item-width-small)}}.photo-inner{position:relative;width:100%;height:100%;overflow:hidden;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .3s ease;background:var(--main-bg)}.frame-simple .photo-inner{border:4px solid #fff;box-shadow:0 0 5px rgba(0,0,0,.2);background:#fff}.dark-theme .frame-simple .photo-inner{border-color:#333;box-shadow:0 0 5px rgba(0,0,0,.4);background:#222}.frame-double .photo-inner{border:4px solid #fff;outline:2px solid var(--theme-color);outline-offset:-8px;background:#fff}.dark-theme .frame-double .photo-inner{border-color:#333;outline-color:var(--theme-color);background:#222}.frame-shadow .photo-inner{border:none;box-shadow:0 10px 20px rgba(0,0,0,.2),0 5px 10px rgba(0,0,0,.1);background:#fff}.dark-theme .frame-shadow .photo-inner{box-shadow:0 10px 20px rgba(0,0,0,.4),0 5px 10px rgba(0,0,0,.2);background:#222}.frame-gradient .photo-inner{padding:4px;background:linear-gradient(45deg,var(--theme-color),var(--theme-color-2,var(--theme-color)))}.frame-gradient .photo-inner img{border-radius:4px}.dark-theme .frame-gradient .photo-inner{background:linear-gradient(45deg,var(--theme-color),var(--theme-color-2,var(--theme-color)));box-shadow:0 5px 15px rgba(0,0,0,.3)}.frame-rounded .photo-inner{border-radius:15px;border:4px solid #fff;box-shadow:0 5px 15px rgba(0,0,0,.1);background:#fff}.dark-theme .frame-rounded .photo-inner{border-color:#333;box-shadow:0 5px 15px rgba(0,0,0,.3);background:#222}.frame-vintage .photo-inner{border:8px solid #fff;box-shadow:0 0 0 1px #ccc,2px 2px 8px rgba(0,0,0,.1);background:#f5f5f5}.dark-theme .frame-vintage .photo-inner{border-color:#333;box-shadow:0 0 0 1px #444,2px 2px 8px rgba(0,0,0,.3);background:#222}.photo-inner:hover{transform:translateY(-5px)}.dark-theme .photo-inner:hover{box-shadow:0 8px 20px rgba(0,0,0,.4)}.photo-inner img{width:100%;height:auto;display:block;transition:transform .3s ease}.photo-inner:hover img{transform:scale(1.05)}.photo-title{position:absolute;bottom:0;left:0;right:0;padding:15px;margin:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;font-size:1.1em;opacity:0;transition:opacity .3s ease;z-index:2}.photo-inner:hover .photo-title{opacity:1}.lazy{opacity:0;transition:opacity .3s ease}.lazy.loaded{opacity:1}.no-photos-message{text-align:center;padding:40px;background:var(--main-bg);border-radius:8px;border:1px solid var(--main-border-color);font-size:1.1em}.album-switcher{position:fixed;left:0;top:50%;transform:translateY(-50%);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:99}.album-switcher.style-classic{width:30px;height:60px;border-radius:0 30px 30px 0;background:var(--theme-color);box-shadow:2px 0 10px rgba(0,0,0,.2);padding-right:5px}.album-switcher.style-classic:hover{width:40px;box-shadow:3px 0 15px rgba(0,0,0,.3)}.album-switcher.style-minimal{width:4px;height:80px;background:var(--theme-color);opacity:.6}.album-switcher.style-minimal:hover{width:8px;opacity:1}.album-switcher.style-minimal i{opacity:0}.album-switcher.style-minimal:hover i{opacity:1}.album-switcher.style-floating{width:45px;height:45px;border-radius:50%;background:var(--theme-color);box-shadow:0 2px 10px rgba(0,0,0,.2);left:15px}.album-switcher.style-floating:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 4px 15px rgba(0,0,0,.3)}.album-switcher.style-elegant{width:35px;height:70px;background:var(--theme-color);border-radius:0 35px 35px 0;box-shadow:2px 0 10px rgba(0,0,0,.15)}.album-switcher.style-elegant:before,.album-switcher.style-elegant:after{content:'';position:absolute;left:50%;width:1px;height:15px;background:rgba(255,255,255,.5)}.album-switcher.style-elegant:before{top:10px}.album-switcher.style-elegant:after{bottom:10px}.album-switcher.style-elegant:hover{width:45px}.album-switcher.style-creative{width:40px;height:50px;background:var(--theme-color);clip-path:polygon(0 0,100% 15%,100% 85%,0 100%);box-shadow:2px 0 10px rgba(0,0,0,.2)}.album-switcher.style-creative:hover{width:50px;background:linear-gradient(45deg,var(--theme-color),var(--theme-color-2,var(--theme-color)))}.album-switcher i{font-size:18px;transition:transform .3s ease}.album-switcher.active i{transform:rotate(-180deg)}.album-sidebar:not(.click-mode)~.album-switcher:hover i{transform:rotate(-180deg)}.album-sidebar.click-mode{left:-300px}.album-sidebar.click-mode.show{left:0}@media screen and (max-width:768px){.album-switcher{transform:scale(.9) translateY(-50%)}.album-switcher.style-floating{left:10px}}.album-sidebar{position:fixed;left:-300px;top:0;width:300px;height:100%;z-index:98;transition:left .3s ease;display:flex;flex-direction:column;padding:20px}.album-sidebar.show{left:0}.album-sidebar-header{padding:10px 0;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}.album-sidebar-title{font-size:1.2em;font-weight:600;color:var(--main-color);margin:0;text-shadow:0 1px 2px rgba(0,0,0,.1)}.album-sidebar-body{flex:1;overflow-y:auto;padding-right:10px}.album-list{display:flex;flex-direction:column;gap:10px}.album-list-item{padding:12px 15px;border-radius:8px;background:rgba(255,255,255,.9);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.dark-theme .album-list-item{background:rgba(30,30,30,.9);box-shadow:0 2px 8px rgba(0,0,0,.2)}.album-list-item:hover{transform:translateX(5px);background:rgba(255,255,255,.95);box-shadow:0 4px 12px rgba(0,0,0,.15)}.dark-theme .album-list-item:hover{background:rgba(40,40,40,.95)}.album-list-item.active{background:var(--theme-color);color:#fff;box-shadow:0 4px 12px rgba(var(--theme-color-rgb),.3)}.album-list-item-title{font-weight:600;margin-bottom:5px}.album-list-item-desc{font-size:.9em;opacity:.8}.album-sidebar-body::-webkit-scrollbar{width:4px}.album-sidebar-body::-webkit-scrollbar-track{background:0 0}.album-sidebar-body::-webkit-scrollbar-thumb{background:rgba(125,125,125,.3);border-radius:2px}.album-sidebar-body::-webkit-scrollbar-thumb:hover{background:rgba(125,125,125,.5)}.album-trigger-area{display:none}.album-sidebar:not(.click-mode):hover,.album-switcher:hover+.album-sidebar:not(.click-mode){left:0}.album-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);z-index:100;display:none;opacity:0;transition:opacity .3s ease}.album-modal.show{display:flex;opacity:1}.album-modal-content{position:relative;width:90%;max-width:600px;margin:auto;background:var(--main-bg);border-radius:10px;padding:20px;transform:translateY(20px);transition:transform .3s ease}.album-modal.show .album-modal-content{transform:translateY(0)}.album-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--main-border-color)}.album-modal-title{font-size:1.2em;font-weight:600;color:var(--main-color);margin:0}.album-modal-close{width:30px;height:30px;border:none;background:0 0;cursor:pointer;color:var(--muted-color);display:flex;align-items:center;justify-content:center;transition:color .3s ease}.album-modal-close:hover{color:var(--main-color)}.album-modal-body{max-height:70vh;overflow-y:auto}.loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10;background:rgba(255,255,255,.9);padding:20px;border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,.1)}.dark-theme .loading-indicator{background:rgba(30,30,30,.9)}.loading-spinner{width:40px;height:40px;margin:0 auto 10px;border:3px solid var(--theme-color);border-top:3px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:var(--main-color);font-size:14px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.album-image.lazy{opacity:0;transition:opacity .5s ease}.album-image.lazy.loaded{opacity:1}.load-more-container{width:100%;text-align:center;margin:30px 0;clear:both}.load-more-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 30px;background:var(--theme-color);color:#fff;border:none;border-radius:25px;cursor:pointer;font-size:15px;transition:all .3s ease;box-shadow:0 3px 10px rgba(var(--theme-color-rgb),.2)}.load-more-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(var(--theme-color-rgb),.3)}.load-more-button:active{transform:translateY(0)}.load-more-text{margin-right:8px}.load-more-count{font-size:.9em;opacity:.8}.load-more-loading{display:flex;flex-direction:column;align-items:center;gap:10px}.load-more-loading .loading-spinner{width:30px;height:30px}.load-more-loading .loading-text{font-size:14px;color:var(--muted-color)}.load-more-button:disabled{background:var(--muted-color);cursor:not-allowed;transform:none;box-shadow:none}.dark-theme .load-more-button{background:var(--theme-color)}.dark-theme .load-more-button:disabled{background:var(--muted-color-2)}@media screen and (max-width:768px){.load-more-container{margin:20px 0}.load-more-button{padding:10px 25px;font-size:14px}}.photo-tooltip{position:absolute;top:0;left:0;right:0;background:rgba(0,0,0,.8);color:#fff;padding:10px;font-size:14px;line-height:1.4;opacity:0;transform:translateY(-100%);transition:all .3s ease;max-height:30%;overflow-y:auto;z-index:1;border-radius:8px 8px 0 0}.dark-theme .photo-tooltip{background:rgba(255,255,255,.9);color:#333}.photo-tooltip.show{opacity:1;transform:translateY(0)}.tooltip-content{margin:0;padding:0;max-height:120px;overflow-y:auto}@media (max-width:768px){.photo-tooltip{padding:8px;font-size:12px;max-height:100px}.tooltip-content{max-height:80px}}.tooltip-content::-webkit-scrollbar{width:4px}.tooltip-content::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}.tooltip-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.5);border-radius:2px}.dark-theme .tooltip-content::-webkit-scrollbar-track{background:rgba(0,0,0,.1)}.dark-theme .tooltip-content::-webkit-scrollbar-thumb{background:rgba(0,0,0,.5)}.view-image-control{position:absolute;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;z-index:3}.view-button-center .view-image-control{top:50%;left:50%;transform:translate(-50%,-50%)}.view-button-left .view-image-control{top:50%;left:20px;transform:translateY(-50%)}.view-button-right .view-image-control{top:50%;right:20px;transform:translateY(-50%)}.photo-inner:hover .view-image-control{opacity:1}.view-image-icon{width:40px;height:40px;background:rgba(0,0,0,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .3s ease}.view-image-icon:hover{background:var(--theme-color);transform:scale(1.1)}.view-image-button{padding:8px 15px;background:rgba(0,0,0,.6);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;transition:all .3s ease}.view-image-button:hover{background:var(--theme-color);transform:scale(1.05)}.image-view-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);z-index:9999;display:none;opacity:0;transition:opacity .3s ease}.image-view-modal.show{display:flex;opacity:1}.image-view-content{position:relative;margin:auto;display:flex;align-items:center;justify-content:center;padding:40px;box-sizing:border-box}.image-view-content img{max-width:90vw;max-height:90vh;object-fit:contain}.image-view-close{position:absolute;top:0;right:0;width:30px;height:30px;background:0 0;border:none;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.image-view-close:hover{transform:rotate(90deg)}