.gallery-page{max-width:1200px;margin:0 auto;padding:40px 20px}.page-title{font-family:OldeEnglish,UnifrakturMaguntia,Cinzel,serif;font-size:3.5rem;text-align:center;color:#2c3e50;margin-bottom:10px}.page-subtitle{font-family:OldeEnglish,Crimson Text,serif;font-size:1.5rem;text-align:center;color:#5a6c7d;margin:0 0 50px;font-style:italic}.loading,.error-message,.no-photos,.auth-required{text-align:center;padding:60px 20px;font-family:OldeEnglish,Crimson Text,serif;font-size:1.3rem;color:#2c3e50}.auth-required{background:#ffffff80;border:3px solid #C78891;border-radius:15px;padding:40px}.auth-required h2{font-family:OldeEnglish,Cinzel,serif;font-size:2.5rem;color:#2c3e50;margin-bottom:20px}.auth-button,.retry-button{font-family:OldeEnglish,Cinzel,serif;font-size:1.3rem;padding:15px 30px;margin-top:20px;background:linear-gradient(135deg,#fff9,#e8d5c466);border:3px solid #C78891;border-radius:15px;color:#2c3e50;cursor:pointer;transition:all .3s ease}.auth-button:hover,.retry-button:hover{transform:translateY(-3px);box-shadow:0 6px 16px #c7889180;border-color:#a86878}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;padding:20px 0}.photo-card{position:relative;aspect-ratio:1;overflow:hidden;border-radius:15px;border:3px solid #C78891;transition:all .4s ease;background:#ffffff4d;cursor:pointer;box-shadow:0 4px 12px #0000004d}.photo-card:hover{transform:scale(1.05);box-shadow:0 8px 20px #0006}.photo-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.enlarged-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80vw;height:80vh;max-width:1000px;max-height:1000px;z-index:1000;display:flex;align-items:center;justify-content:center;cursor:pointer}.enlarged-image{max-width:100%;max-height:100%;object-fit:contain;border:3px solid #C78891;border-radius:15px;box-shadow:0 30px 100px #000c}.backdrop{position:fixed;inset:0;background:#000000b3;z-index:999}
