*{box-sizing:border-box;margin:0;padding:0}body{background-color:#fff;color:#333;font-family:Inter,sans-serif;line-height:1.6}.container{margin:0 auto;max-width:1200px;padding:0 20px}.gem-detail-main .container{padding-top:1rem}.header{background-color:#f5f5f7;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 2px #00000014,0 4px 12px #0000000d;left:0;overflow:visible;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.header-scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#f5f5f7;border-bottom:1px solid #00000014;box-shadow:0 2px 8px #0000001f,0 8px 24px #00000014}.header-top{background-color:initial;padding:1.2rem 0;position:relative;transition:all .3s ease;z-index:1000}.header-scrolled .header-top{padding:.8rem 0}.header-nav{align-items:center;display:flex;gap:1rem;justify-content:space-between;position:relative}.logo a{position:relative;text-decoration:none;z-index:1002}.logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#34d08f,#4488b3);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;margin:0}.header-actions{align-items:center;display:flex;gap:1rem;position:relative;z-index:1002}.header-content{max-height:300px;opacity:1;overflow:visible;position:relative;transition:all .3s ease}.header-content-hidden{margin:0;max-height:0;opacity:0;overflow:visible;padding:0;transform:translateY(-10px)}.search-container{left:50%;max-width:400px;opacity:1;position:fixed;top:50%;transform:translate(-50%,-50%);transition:all .4s cubic-bezier(.25,.46,.45,.94);width:auto;z-index:999}.header:not(.header-scrolled) .search-container{max-width:600px;top:45%;width:100%}.search-container-scrolled{max-width:400px;top:50%;width:auto}@media (max-width:768px){.header:not(.header-scrolled) .search-container,.search-container,.search-container-scrolled{max-width:90%;width:90%}}.category-filter{background:#f5f5f7;margin-bottom:2rem;margin-top:0;max-height:100px;opacity:1;overflow:hidden;padding:1rem 0;position:relative;transition:all .3s ease;width:100%}.category-filter-hidden{margin:0;max-height:0;opacity:0;padding:0;transform:translateY(-5px)}.category-buttons{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;display:flex;flex-wrap:nowrap;gap:.75rem;justify-content:flex-start;max-width:100%;overflow-x:auto;overflow-y:visible;padding:.5rem 2rem;position:relative;scrollbar-width:none}.category-buttons::-webkit-scrollbar{display:none}.category-filter:after,.category-filter:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:20px;z-index:1}.category-filter:before{background:linear-gradient(90deg,#f5f5f7 0,#f5f5f7cc 50%,#0000);left:0}.category-filter:after{background:linear-gradient(270deg,#f5f5f7 0,#f5f5f7cc 50%,#0000);right:0}.category-btn{align-items:center;background:#ffffffe6;border:2px solid #ffffff4d;border-radius:25px;box-shadow:0 2px 10px #0000001a;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;font-weight:600;gap:.5rem;min-width:-webkit-fit-content;min-width:fit-content;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.category-btn:hover{background:#fff;border-color:#34d08f80;box-shadow:0 4px 20px #00000026;transform:translateY(-2px)}.category-btn.active{background:linear-gradient(135deg,#34d08f,#4488b3);border-color:#34d08f;box-shadow:0 4px 20px #34d08f4d;color:#fff}.category-btn i{font-size:1rem}.search-container{margin-bottom:2rem;position:relative;transition:all .3s ease}.scrolled-search-wrapper{left:50%;max-width:400px;overflow:visible;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%);width:auto;z-index:1003}.scrolled-search-wrapper .search-container{margin-bottom:0;overflow:visible;pointer-events:auto}.search-container-scrolled{margin-bottom:0;position:relative}.search-box{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:50px;box-shadow:0 4px 15px #00000014;display:flex;margin:0 auto;max-width:500px;padding:.5rem;transition:all .3s ease}.search-box-scrolled{border-radius:25px;box-shadow:0 2px 8px #0000001a;max-width:400px;min-width:300px;padding:.4rem;position:relative}.search-box:focus-within{border-color:#34d08f;box-shadow:0 6px 20px #34d08f26}.search-input{border:none;color:#333;flex:1 1;font-size:1rem;outline:none;padding:.8rem 1rem;transition:all .3s ease}.search-input-scrolled{font-size:.9rem;padding:.6rem 1rem}.search-input::placeholder{color:#999}.search-btn{align-items:center;background:linear-gradient(135deg,#34d08f,#4488b3);border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;padding:.8rem;transition:all .3s ease;width:40px}.search-btn-scrolled{font-size:.9rem;height:32px;padding:.6rem;width:32px}.search-btn:hover{box-shadow:0 4px 15px #34d08f4d;transform:translateY(-1px)}.autocomplete-dropdown{background:#fff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 8px 30px #0000001f;display:none;left:0;margin-top:8px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1001}.autocomplete-dropdown.show{display:block}.autocomplete-item{align-items:center;border-bottom:1px solid #f1f3f4;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background-color .2s ease}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item.highlighted,.autocomplete-item:hover{background-color:#f8f9fa}.autocomplete-item-icon{align-items:center;color:#6c757d;display:flex;font-size:14px;height:20px;justify-content:center;width:20px}.autocomplete-item-content{flex:1 1;min-width:0}.autocomplete-item-title{color:#2c3e50;font-size:14px;font-weight:500;margin-bottom:2px}.autocomplete-item-subtitle,.autocomplete-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-item-subtitle{color:#6c757d;font-size:12px}.autocomplete-item-type{background:#e3f2fd;border-radius:10px;color:#1976d2;font-size:10px;font-weight:500;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.autocomplete-item-type.gem{background:#f3e5f5;color:#7b1fa2}.autocomplete-item-type.category{background:#e8f5e8;color:#388e3c}.autocomplete-item-type.location{background:#fff3e0;color:#f57c00}.auth-buttons{gap:1rem;position:relative;z-index:1002}.auth-buttons,.login-btn{align-items:center;display:flex}.login-btn{background:linear-gradient(135deg,#34d08f,#4488b3);border:none;border-radius:25px;color:#fff;cursor:pointer;font-weight:500;gap:.5rem;padding:.6rem 1.2rem;transition:all .3s ease}.login-btn:hover{box-shadow:0 4px 15px #34d08f4d;transform:translateY(-2px)}.hamburger-menu{background:none;border:none;color:#666;cursor:pointer;display:flex;flex-direction:column;font-size:1.1rem;gap:3px;padding:.5rem;position:relative;transition:all .3s ease;z-index:1002}.hamburger-menu:hover{color:#34d08f;transform:scale(1.05)}.hamburger-menu span{background-color:#666;height:2px;transform-origin:center;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:20px}.hamburger-menu:hover span{background-color:#34d08f}.hamburger-menu.active span:first-child{transform:translateY(5px) rotate(45deg)}.hamburger-menu.active span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-menu.active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.main-content{margin-top:250px;padding:3rem 0;transition:margin-top .3s ease}body:has(.header-scrolled) .main-content{margin-top:20px}body.non-home-page .main-content{margin-top:20px}.hero{margin-bottom:3rem;padding-top:2rem;text-align:center}.hero h2{color:#333;font-size:2.5rem;font-weight:600;margin-bottom:1rem}.hero p{color:#666;font-size:1.2rem;margin:0 auto;max-width:600px}.gems-section{margin-top:2rem}.section-header{align-items:center;border-bottom:2px solid #eee;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.section-header h3{color:#333;font-size:2rem;font-weight:600}.filter-info{color:#666;font-weight:500}.gems-grid{grid-gap:2rem;align-items:stretch;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-top:2rem}.gem-card{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;cursor:pointer;overflow:hidden;transition:all .3s ease}.gem-card:hover{box-shadow:0 8px 30px #34d08f26;transform:translateY(-5px)}.gem-image{align-items:center;background:#f0f0f0;color:#fff;display:flex;font-size:3rem;height:200px;justify-content:center;overflow:hidden;position:relative;width:100%}.gem-image img{border-radius:0;height:100%;object-fit:cover;width:100%}.gem-save-btn{align-items:center;background:#0000004d;border:none;border-radius:50%;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:10px;top:10px;transition:all .3s ease;width:40px;z-index:2}.gem-save-btn:hover{background:#00000080;transform:scale(1.1)}.gem-save-btn i{color:#fff;font-size:1.2rem;transition:all .3s ease}.gem-save-btn i.fas.fa-heart{color:#e74c3c}.gem-save-btn:hover i.fas.fa-heart{color:#c0392b}.gem-content{padding:1.5rem}.gem-title{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.gem-location{color:#34d08f;font-weight:500;margin-bottom:.5rem}.gem-location,.gem-rating{align-items:center;display:flex;gap:.5rem}.gem-rating{margin-bottom:1rem}.gem-stars{color:#ffc107;font-size:.9rem}.gem-rating-text{color:#666;font-size:.9rem;font-weight:500}.gem-reviews{color:#999;font-size:.85rem}.gem-description{color:#666;line-height:1.6;margin-bottom:1rem}.gem-category{margin-bottom:.75rem}.category-title{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid #667eea33;border-radius:15px;color:#667eea;font-size:.8rem;font-weight:500;padding:.3rem .8rem}.gem-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:linear-gradient(135deg,#34d08f1a,#4488b31a);border:1px solid #34d08f33;border-radius:15px;color:#4488b3;font-size:.8rem;font-weight:500;padding:.3rem .8rem}.no-results{color:#666;padding:3rem;text-align:center}.no-results i{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-results h3{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.no-results p{font-size:1rem;margin-bottom:1.5rem}.notification{background:#fff;border-left:4px solid #34d08f;border-radius:10px;box-shadow:0 4px 20px #00000026;max-width:350px;opacity:0;padding:1rem 1.5rem;position:relative;transform:translateX(-100%);transition:all .3s ease;z-index:3000}.notification.show{opacity:1;transform:translateX(0)}.notification.success{border-left-color:#28a745}.notification.error{border-left-color:#dc3545}.notification.info{border-left-color:#17a2b8}.notification-content{align-items:center;display:flex;font-weight:500;gap:.8rem}.notification.success .notification-content i{color:#28a745}.notification.error .notification-content i{color:#dc3545}.notification.info .notification-content i{color:#17a2b8}@media (max-width:1024px){.gems-grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.gems-grid,.photos-grid{gap:1.5rem;grid-template-columns:1fr}.photos-grid{padding:0 .5rem}.gallery-header h1{font-size:2rem}.gallery-header p{font-size:1rem}.photo-item img{height:200px}.photo-overlay{padding:1.5rem 1rem 1rem}.photo-title{font-size:1.1rem}.photo-description{font-size:.85rem}.container{padding:0 15px}.logo h1{font-size:1.3rem}.search-box{max-width:100%}.hero h2{font-size:2rem}.gem-content{padding:1rem}.hero h2{font-size:1.8rem}.gallery-container{grid-template-columns:1fr;height:auto}a.gallery-container{color:inherit;cursor:pointer;text-decoration:none}.side-photos{margin-top:1rem}.photo-grid{grid-template-columns:repeat(4,1fr)}.gem-title-section h1{font-size:2.2rem}}@media (max-width:480px){.logo h1{font-size:1.2rem}.gem-content{padding:1rem}.hero h2{font-size:1.8rem}.header-scrolled .header-top{padding:.6rem 0}.main-content{margin-top:200px}body:has(.header-scrolled) .main-content{margin-top:100px}.gem-detail-main{margin-top:200px}body.non-home-page .gem-detail-main,body:has(.header-scrolled) .gem-detail-main{margin-top:100px}.gallery-container{gap:1rem;grid-template-columns:1fr;height:auto}a.gallery-container{color:inherit;cursor:pointer;text-decoration:none}.side-photos{flex-direction:row;overflow-x:auto}.photo-grid{display:flex;gap:.5rem;min-width:-webkit-max-content;min-width:max-content}.small-photo{height:80px;min-width:80px}.gem-title-section h1{font-size:2rem}}.menu-panel{background:#fff;box-shadow:-2px 0 10px #0000001a;height:100vh;position:fixed;right:-350px;top:0;transform:translateX(0);transition:right .4s cubic-bezier(.25,.46,.45,.94);width:350px;z-index:1021}.menu-panel.active{right:0;transform:translateX(0)}.menu-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;height:100vh;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:all .3s ease;visibility:hidden;width:100vw;z-index:1020}.menu-backdrop.active{opacity:1;pointer-events:auto;visibility:visible}.menu-content{height:100%;opacity:0;overflow-y:auto;padding:2rem;transform:translateY(20px);transition:all .3s ease .1s}.menu-panel.active .menu-content{opacity:1;transform:translateY(0)}.menu-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.menu-header h3{color:#333;font-size:1.5rem;font-weight:600}.close-menu{background:none;border:none;color:#666;cursor:pointer;font-size:1.2rem;padding:.5rem}.menu-nav{display:flex;flex-direction:column;gap:.5rem}.menu-item{align-items:center;background:none;border:none;border-radius:10px;color:#333;cursor:pointer;display:flex;font-size:1rem;gap:1rem;opacity:0;padding:1rem;text-decoration:none;transform:translateX(-20px);transition:all .3s ease;width:100%}.menu-panel.active .menu-item{opacity:1;transform:translateX(0)}.menu-panel.active .menu-item:first-child{transition-delay:.2s}.menu-panel.active .menu-item:nth-child(2){transition-delay:.25s}.menu-panel.active .menu-item:nth-child(3){transition-delay:.3s}.menu-panel.active .menu-item:nth-child(4){transition-delay:.35s}.menu-panel.active .menu-item:nth-child(5){transition-delay:.4s}.menu-panel.active .menu-item:nth-child(6){transition-delay:.45s}.menu-panel:not(.active) .menu-item{transition-delay:0s}.menu-panel:not(.active) .menu-item:first-child{transition-delay:.05s}.menu-panel:not(.active) .menu-item:nth-child(2){transition-delay:.1s}.menu-panel:not(.active) .menu-item:nth-child(3){transition-delay:.15s}.menu-panel:not(.active) .menu-item:nth-child(4){transition-delay:.2s}.menu-panel:not(.active) .menu-item:nth-child(5){transition-delay:.25s}.menu-panel:not(.active) .menu-item:nth-child(6){transition-delay:.3s}.menu-item:hover{background:#f5f5f5;color:#34d08f}.menu-item.active{background:linear-gradient(135deg,#34d08f,#4488b3);color:#fff}.login-modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:none;height:100vh;isolation:isolate;justify-content:center;left:0;position:fixed;top:0;transform:none;width:100vw;z-index:99999}.login-modal.show{display:flex}.login-modal-content{animation:modalSlideIn .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:400px;overflow-y:auto;position:relative;width:90%;z-index:100000}.login-header{align-items:center;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;padding:1.5rem 2rem 1rem}.login-header h2{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.close-login{background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;font-size:1.2rem;padding:.5rem;transition:all .2s ease}.close-login:hover{background:#f8f9fa;color:#2c3e50}.login-body{padding:1.5rem 2rem 2rem}.login-tabs{background:#f8f9fa;border-radius:10px;display:flex;margin-bottom:1.5rem;padding:4px}.login-tab{background:none;border:none;border-radius:8px;color:#6c757d;cursor:pointer;flex:1 1;font-weight:500;padding:.75rem 1rem;transition:all .2s ease}.login-tab.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#2c3e50}.login-form{display:none}.login-form.active{display:block}.form-group{margin-bottom:1rem}.form-group label{color:#2c3e50;font-weight:500}.form-group input{border-radius:10px;box-sizing:border-box;padding:.75rem 1rem;transition:border-color .2s ease}.form-group input:focus{border-color:#34d08f}.password-input-container{align-items:center;display:flex}.password-input-container input{padding-right:3rem}.password-toggle{border-radius:4px;color:#6c757d;padding:.25rem;right:.75rem;transition:color .2s ease;z-index:1}.password-toggle:hover{color:#34d08f}.password-toggle:focus{background:#34d08f1a;color:#34d08f;outline:none}.password-toggle i{font-size:.9rem}.login-submit-btn{align-items:center;background:linear-gradient(135deg,#34d08f,#4488b3);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.login-submit-btn:hover{box-shadow:0 4px 15px #34d08f4d;transform:translateY(-2px)}.login-divider{color:#6c757d;font-size:.9rem;margin:1.5rem 0;position:relative;text-align:center}.login-divider:before{background:#e1e8ed;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.login-divider span{background:#fff;padding:0 1rem;position:relative}.google-login-btn{align-items:center;background:#fff;border:2px solid #e1e8ed;border-radius:10px;color:#2c3e50;cursor:pointer;display:flex;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .3s ease;width:100%}.google-login-btn:hover{border-color:#34d08f;box-shadow:0 4px 15px #34d08f33;transform:translateY(-2px)}.login-error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.9rem;margin-top:1rem;padding:.75rem 1rem}.saved-main{background:#fff;min-height:100vh;padding:2rem 0;transition:margin-top .3s ease}body:has(.header-scrolled) .saved-main{margin-top:20px}body.non-home-page .saved-main{margin-top:20px}.saved-header{margin-bottom:3rem;text-align:center}.saved-header h1{color:#333;font-size:2.5rem;font-weight:600;margin-bottom:.5rem}.saved-header p{color:#666;font-size:1.1rem}.no-saved{color:#666;grid-column:1/-1;padding:4rem 2rem;text-align:center}.no-saved i{font-size:4rem;margin-bottom:1rem;opacity:.5}.no-saved h3{color:#333;font-size:1.8rem;font-weight:600;margin-bottom:1rem}.no-saved p{font-size:1.1rem;margin-bottom:2rem}.explore-btn{align-items:center;background:linear-gradient(135deg,#34d08f,#4488b3);border-radius:25px;color:#fff;display:inline-flex;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.explore-btn:hover{box-shadow:0 8px 25px #34d08f4d;transform:translateY(-2px)}.gem-detail-main{background:#fff;margin-top:250px;min-height:calc(100vh - 220px);padding:0 0 2rem;transition:margin-top .3s ease}body:has(.header-scrolled) .gem-detail-main{margin-top:100px;min-height:calc(100vh - 100px)}body.non-home-page .gem-detail-main{margin-top:100px;min-height:calc(100vh - 100px)}.photo-gallery{margin-bottom:2rem}.photo-gallery .gallery-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.gallery-actions{align-items:center;display:flex;gap:1.5rem}.gallery-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 1fr;height:400px}a.gallery-container{color:inherit;cursor:pointer;text-decoration:none}.main-photo{background:linear-gradient(135deg,#34d08f,#4488b3);border-radius:15px;box-shadow:0 8px 25px #0000001a;height:100%;overflow:hidden;position:relative;transition:transform .3s ease;width:100%}.main-photo:hover{box-shadow:0 12px 35px #00000026;cursor:pointer;transform:translateY(-2px)}.main-photo img{height:100%;object-fit:cover;width:100%}.save-btn-large{align-items:center;background:none;border:none;color:#2c3e50;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 0;transition:all .3s ease}.save-btn-large:hover{color:#e74c3c;transform:translateY(-1px)}.save-btn-large i{color:inherit;font-size:1.2rem;transition:all .3s ease}.save-btn-large span{font-size:1rem;font-weight:500;transition:all .3s ease}.share-btn{align-items:center;background:none;border:none;color:#2c3e50;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 0;transition:all .3s ease}.share-btn:hover{color:#3498db;transform:translateY(-1px)}.share-btn i{color:inherit;font-size:1.2rem;transition:all .3s ease}.share-btn span{font-size:1rem;font-weight:500;transition:all .3s ease}.share-dropdown{position:relative}.share-menu{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 4px 20px #00000026;margin-top:8px;min-width:140px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.share-item{align-items:center;background:none;border:none;color:#2c3e50;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.share-item:hover{background-color:#f8f9fa}.share-item i{color:#6c757d;font-size:.9rem}.side-photos{display:flex;flex-direction:column;gap:.5rem;position:relative}.photo-grid{grid-gap:.5rem;display:grid;flex:1 1;gap:.5rem;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.small-photo{border-radius:10px;box-shadow:0 4px 15px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.small-photo img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.small-photo:hover{box-shadow:0 6px 20px #00000026;cursor:pointer;transform:translateY(-2px)}.small-photo:hover img{transform:scale(1.05)}a.small-photo{align-items:center;color:inherit;display:flex;justify-content:center;text-decoration:none}.photos-main{min-height:calc(100vh - 100px);padding:2rem 0}.gallery-header{margin-bottom:3rem;text-align:center}.gallery-header h1{color:#333;font-size:2.5rem;font-weight:600;margin-bottom:.5rem}.gallery-header p{color:#666;font-size:1.1rem;margin:0 auto;max-width:600px}.gem-filter-info{background:#34d08f1a;border:1px solid #34d08f33;border-radius:10px;margin-top:1rem;padding:1rem}.gem-filter-info p{color:#333;margin:0 0 .5rem}.photos-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:0 1rem}.photo-item{background:#fff;box-shadow:0 8px 25px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.photo-item:hover{box-shadow:0 15px 35px #00000026;transform:translateY(-5px)}.photo-item img{height:250px;object-fit:cover;transition:transform .3s ease;width:100%}.photo-item:hover img{transform:scale(1.05)}.photo-overlay{background:linear-gradient(#0000,#000c);bottom:0;color:#fff;left:0;padding:2rem 1.5rem 1.5rem;position:absolute;right:0;transform:translateY(100%);transition:transform .3s ease}.photo-item:hover .photo-overlay{transform:translateY(0)}.photo-title{font-size:1.2rem;font-weight:600;line-height:1.3;margin-bottom:.5rem}.photo-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.9rem;line-height:1.4;margin-bottom:.5rem;opacity:.9;overflow:hidden}.photo-location{font-size:.85rem;font-weight:500;margin-bottom:.25rem;opacity:.8}.photo-category{background:#fff3;border-radius:12px;display:inline-block;font-size:.8rem;opacity:.7;padding:.25rem .5rem}.gem-header{border-bottom:2px solid #f0f0f0;margin-bottom:.5rem;padding-bottom:.5rem}.gem-title-section h1{color:#333;font-size:2.5rem;font-weight:600;margin-bottom:.5rem}.gem-title-section .gem-location{color:#34d08f;font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.gem-title-section .gem-location,.gem-title-section .gem-rating{align-items:center;display:flex;gap:.5rem}.gem-title-section .gem-stars{color:#ffc107;font-size:1.2rem}.gem-title-section .gem-rating-text{color:#333;font-size:1.1rem;font-weight:600}.gem-title-section .gem-reviews{color:#666;font-size:1rem}.gem-category-section,.gem-description-section,.gem-tags-section{margin-bottom:3rem}.gem-description-section h2{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.gem-category-section h3,.gem-tags-section h3{color:#333;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.gem-description-section p{color:#555;font-size:1.1rem;line-height:1.8}.notification-container{bottom:20px;display:flex;flex-direction:column;gap:10px;left:20px;position:fixed;z-index:10000}@media (max-width:768px){.notification-container{bottom:10px;left:10px;right:10px}.notification{max-width:none;width:100%}}.footer{background:#f5f5f7;border-top:1px solid #e0e0e0;color:#666;margin-top:3rem;padding:2rem 0;text-align:center}.photo-modal-overlay{background:#000000e6;bottom:0;cursor:pointer;left:0;position:fixed;right:0;top:0;z-index:1000}.photo-modal-content,.photo-modal-overlay{align-items:center;display:flex;justify-content:center}.photo-modal-content{cursor:default;max-height:90vh;max-width:90vw;position:relative}.modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;position:absolute;right:0;top:-50px;transition:background .3s ease;width:40px;z-index:1001}.modal-close-btn:hover{background:#ffffff4d}.modal-nav-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:3rem;height:60px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:60px;z-index:1001}.modal-nav-btn:hover:not(:disabled){background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.modal-nav-btn:disabled{cursor:not-allowed;opacity:.3}.modal-nav-left{left:-80px}.modal-nav-right{right:-80px}.modal-photo-container{align-items:center;display:flex;flex-direction:column;max-height:100%;max-width:100%;position:relative}.modal-photo{border-radius:8px;box-shadow:0 20px 60px #00000080;height:auto;max-height:90vh;object-fit:contain;width:60dvw}.modal-photo-info{color:#fff;margin-top:1rem;text-align:center}.modal-photo-info h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.modal-photo-info p{font-size:1rem;margin-bottom:.5rem;opacity:.8}.photo-counter{background:#ffffff1a;border-radius:20px;font-size:.9rem;opacity:.7;padding:.3rem .8rem}@media (max-width:768px){.modal-nav-btn{font-size:2rem;height:50px;width:50px}.modal-nav-left{left:-60px}.modal-nav-right{right:-60px}.modal-photo-info h3{font-size:1.2rem}.modal-photo-info p{font-size:.9rem}}@media (max-width:480px){.modal-nav-btn{font-size:1.5rem;height:40px;width:40px}.modal-nav-left{left:-50px}.modal-nav-right{right:-50px}.modal-photo{max-height:85vh;width:60dvw}}.logout-btn{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ee5a52);border:none;border-radius:12px;box-shadow:0 4px 15px #ff6b6b4d;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.logout-btn:hover{background:linear-gradient(135deg,#ff5252,#e53935);box-shadow:0 6px 20px #ff6b6b66;transform:translateY(-2px)}.logout-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.profile-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 2fr;margin:0 auto;max-width:1000px}.profile-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #fff3;height:-webkit-fit-content;height:fit-content;width:350px}.profile-info .info-item{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.profile-info .info-item:last-child{margin-bottom:0}.profile-info label{color:#555;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.profile-info span{color:#2c3e50;font-size:1.1rem;font-weight:500}.profile-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;padding:2rem}.profile-form h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:1.8rem;font-weight:700;margin-bottom:2rem;text-align:center}.form-group label{color:#555;letter-spacing:.5px;text-transform:uppercase}.form-group input{background:#fffc;border:2px solid #e1e8ed;border-radius:12px;color:#2c3e50;font-size:1rem;padding:1rem;transition:all .3s ease;width:100%}.form-group input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input::placeholder{color:#aaa;font-style:italic}.profile-save-btn{box-shadow:0 4px 15px #667eea4d;margin-top:1rem;width:100%}.profile-save-btn:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.profile-content{gap:1.5rem;grid-template-columns:1fr;padding:0 1rem}.profile-form,.profile-info{padding:1.5rem}.profile-form h3{font-size:1.5rem}}@media (max-width:480px){.profile-form,.profile-info{padding:1rem}.form-group input{padding:.8rem}.profile-save-btn{padding:.8rem 1.5rem}}.profile-header-section{background:#fff;border-radius:20px;display:flex;gap:2rem;justify-content:center;padding:2rem}.profile-avatar{flex-shrink:0;overflow:hidden}.profile-image{object-fit:cover}.avatar-placeholder,.profile-image{border-radius:50%;height:120px;width:120px}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 25px #667eea4d;color:#fff;display:flex;font-size:3rem;justify-content:center}.profile-nickname{color:#333;font-size:1.2rem;font-weight:700;margin:0 0 .5rem}.profile-username{color:#666;font-size:.8rem;font-weight:700;margin:0 0 1rem}.profile-bio{margin-bottom:1.5rem}.profile-bio p{color:#5a6c7d;font-size:1.1rem;line-height:1.4;margin:.5rem 0}.profile-stats{display:flex;gap:2rem;margin-bottom:2rem}.stat-item{text-align:center}.stat-number{color:#2c3e50;display:block;font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.stat-label{color:#7f8c8d;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.profile-actions{display:flex;gap:1rem}.profile-edit-section{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:2rem;padding:2rem}.profile-edit-section h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem}.profile-edit-form{grid-gap:1.5rem;display:grid;gap:1.5rem;margin-bottom:2rem}.edit-actions{display:flex;gap:1rem;justify-content:center}.cancel-btn{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;color:#6c757d;padding:.75rem 2rem;transition:all .3s ease}.cancel-btn:hover{background:#e9ecef;border-color:#dee2e6}.profile-controls{display:flex;gap:1rem;justify-content:center;margin-bottom:3rem}.edit-profile-btn{align-items:center;background-color:#e9e9e9;border:none;border-radius:12px;color:#000;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.edit-profile-btn:hover{box-shadow:0 6px 20px #e9e9e9;transform:translateY(-2px)}.profile-gallery{background:#fff;padding:2rem}.profile-gallery h3{color:#2c3e50;font-size:1.5rem;margin-bottom:2rem;text-align:center}.gallery-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr)}.gallery-card{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;cursor:pointer;overflow:hidden;transition:all .3s ease}.gallery-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.gallery-image{height:200px;overflow:hidden;position:relative}.gallery-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gallery-card:hover .gallery-image img{transform:scale(1.05)}.gallery-overlay{align-items:center;background:#0009;border-radius:50%;color:#fff;display:flex;font-size:1rem;height:35px;justify-content:center;opacity:0;position:absolute;right:10px;top:10px;transition:all .3s ease;width:35px}.gallery-card:hover .gallery-overlay{opacity:1}.gallery-content{padding:1.5rem}.gallery-title{color:#2c3e50;font-size:1.1rem;font-weight:600;line-height:1.3;margin:0 0 .75rem}.gallery-rating{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.stars{display:flex;gap:2px}.stars i{color:#ffc107;font-size:.9rem}.rating-text{color:#6c757d;font-size:.9rem;font-weight:500}.gallery-note{color:#7f8c8d;font-size:.9rem;font-style:italic;margin:0}.profile-save-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;margin:1.5rem auto;padding:1rem 2rem;transition:all .3s ease;width:200px}.profile-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.profile-save-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.profile-save-btn .fa-spinner{animation:spin 1s linear infinite}.profile-page{min-height:calc(100vh - 200px);padding-bottom:0}.account-settings-page{margin:0 auto;max-width:800px;min-height:calc(100vh - 200px);padding:2rem 0}.account-settings-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.account-settings-header h1{color:#333;font-size:2rem;font-weight:700;margin:0}.account-settings-content{display:flex;flex-direction:column;gap:2rem}.settings-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.settings-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.5rem}.danger-zone h3{border-bottom-color:#f8d7da;color:#dc3545}.info-item{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.info-item:last-child{margin-bottom:0}.info-item label{color:#555;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{align-items:center;color:#333;display:flex;font-size:1rem;gap:.75rem}.info-value i{color:#007bff;text-align:center;width:16px}.danger-item{align-items:center;background:#fff5f5;border:1px solid #f8d7da;border-radius:8px;display:flex;justify-content:space-between;padding:1.5rem}.danger-info h4{color:#dc3545;font-size:1.1rem;margin:0 0 .5rem}.danger-info p{color:#721c24;font-size:.9rem;line-height:1.4;margin:0}.delete-account-btn{align-items:center;background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.delete-account-btn:hover:not(:disabled){background:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.delete-account-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.delete-confirm-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#dc3545;font-size:1.3rem;margin:0}.close-modal{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.5rem;padding:.25rem;transition:all .2s ease}.close-modal:hover{background:#f0f0f0;color:#333}.modal-content{padding:1.5rem;text-align:center}.warning-icon{color:#dc3545;font-size:3rem;margin-bottom:1rem}.modal-content h4{color:#333;font-size:1.2rem;margin:0 0 1rem}.modal-content p{color:#666;line-height:1.5;margin:0 0 1rem}.modal-content ul{margin:1rem 0;padding-left:1.5rem;text-align:left}.modal-content li{color:#666;margin-bottom:.5rem}.warning-text{color:#dc3545!important;font-size:.9rem;font-weight:600}.password-input-section{margin:1.5rem 0;text-align:left}.password-input-section label{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.password-input{border:2px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.password-input:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a;outline:none}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.modal-actions .cancel-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.modal-actions .cancel-btn:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.modal-actions .confirm-delete-btn{align-items:center;background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.modal-actions .confirm-delete-btn:hover:not(:disabled){background:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.modal-actions .confirm-delete-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.account-settings-page{padding:1rem 0}.account-settings-header{align-items:flex-start;flex-direction:column;gap:.5rem}.account-settings-header h1{font-size:1.5rem}.danger-item{align-items:flex-start;gap:1rem}.danger-item,.modal-actions{flex-direction:column}.modal-actions .cancel-btn,.modal-actions .confirm-delete-btn{justify-content:center;width:100%}}.main-content:has(.profile-page){padding-bottom:0}.star-rating{align-items:center;display:flex;flex-direction:column;gap:.5rem}.stars-container{display:flex;gap:.25rem}.star-rating .star{background:none;border:none;color:#ddd;cursor:pointer;font-size:1.5rem;padding:0;transition:color .2s ease}.star-rating .star.filled,.star-rating .star:hover{color:#ffc107}.star-rating .star:disabled{cursor:default}.star-rating .rating-label{color:#666;font-size:.9rem;font-weight:500}.star-rating-small .star{font-size:1rem}.star-rating-medium .star{font-size:1.5rem}.star-rating-large .star{font-size:2rem}.reviews-section{border-top:1px solid #e0e0e0;margin-top:3rem;padding:2rem 0}.reviews-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.reviews-section h2{color:#2c3e50;font-size:2rem;margin:0}.btn-primary{align-items:center;background-color:#e9e9e9;border:none;border-radius:12px;color:#000;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-primary:hover{box-shadow:0 6px 20px #e9e9e9;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{align-items:center;background-color:#29af77;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-secondary:hover{background-color:#24a06b;box-shadow:0 6px 20px #29af774d;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.write-review-btn{align-items:center;background-color:#e9e9e9;border:none;border-radius:12px;color:#000;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.write-review-btn:hover{box-shadow:0 6px 20px #e9e9e9;transform:translateY(-2px)}.write-review-btn:active{transform:translateY(0)}.review-form-container{background:#fff;border:1px solid #e0e0e0;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:3rem;padding:2rem}.review-form-container h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.review-form{gap:1.5rem}.rating-input,.review-form{display:flex;flex-direction:column}.rating-input{align-items:center;gap:1rem}.rating-input label{color:#555;font-size:1rem;font-weight:600}.review-text-input{display:flex;flex-direction:column;gap:.5rem}.review-text-input label{color:#555;font-size:1rem;font-weight:600}.review-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;min-height:100px;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.review-textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.character-count{font-size:.85rem}.review-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between}.submit-review-btn{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 2rem;transition:all .3s ease}.submit-review-btn:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.submit-review-btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.delete-review-btn{align-items:center;background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.delete-review-btn:hover{background:#c82333;transform:translateY(-1px)}.reviews-list{margin-top:2rem}.loading-reviews{align-items:center;color:#666;display:flex;font-size:1.1rem;gap:1rem;justify-content:center;padding:3rem}.no-reviews{color:#666;padding:3rem;text-align:center}.no-reviews i{color:#ddd;font-size:3rem;margin-bottom:1rem}.no-reviews h4{color:#555;font-size:1.5rem;margin-bottom:.5rem}.reviews-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:2rem}.review-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.review-card:hover{box-shadow:0 4px 20px #0000001a;transform:translateY(-2px)}.review-header{justify-content:space-between;margin-bottom:1rem}.review-header,.review-rating{align-items:center;display:flex}.review-rating{gap:.5rem}.review-rating-number{color:#555;font-size:.9rem;font-weight:600}.review-date{color:#666;font-size:.85rem}.review-content{margin-bottom:1rem}.review-content p{color:#333;line-height:1.6;margin:0}.review-footer{justify-content:space-between}.review-author,.review-footer{align-items:center;display:flex}.review-author{color:#666;font-size:.9rem;gap:.5rem}.review-author i{color:#999}.review-card.user-review{border:2px solid #0000;cursor:pointer;transition:all .3s ease}.review-card.user-review:hover{border-color:#29af77;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.edit-hint{align-items:center;color:#29af77;display:flex;font-size:.8rem;font-weight:500;gap:.25rem;margin-left:auto;opacity:0;transition:opacity .3s ease}.review-card.user-review:hover .edit-hint{opacity:1}.review-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.review-modal .modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.review-modal .modal-header h3{color:#2c3e50;font-size:1.5rem;margin:0}.review-modal .close-modal{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;padding:.5rem;transition:all .2s ease;width:40px}.review-modal .close-modal:hover{background:#e9ecef;color:#333}.review-modal .close-modal:disabled{cursor:not-allowed;opacity:.5}.review-modal-form{display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.rating-section{align-items:center;display:flex;flex-direction:column;gap:1rem}.rating-section label{color:#555;font-size:1rem;font-weight:600}.text-section{display:flex;flex-direction:column;gap:.5rem}.text-section label{color:#555;font-size:1rem;font-weight:600}.review-modal .review-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;min-height:100px;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.review-modal .review-textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.review-modal .review-textarea:disabled{background:#f8f9fa;cursor:not-allowed}.review-modal .character-count{color:#666;font-size:.85rem;text-align:right}.review-modal .modal-actions{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:space-between;padding-top:1rem}.review-modal .action-buttons{display:flex;gap:1rem;margin-left:auto}.review-modal .cancel-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.review-modal .cancel-btn:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.review-modal .cancel-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.review-modal .submit-review-btn{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.review-modal .submit-review-btn:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.review-modal .submit-review-btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.review-modal .delete-review-btn{align-items:center;background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.review-modal .delete-review-btn:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.review-modal .delete-review-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}@media (max-width:768px){.reviews-section{margin-top:2rem;padding:1.5rem 0}.reviews-header{align-items:stretch;flex-direction:column;gap:1rem}.reviews-section h2{font-size:1.5rem;margin-bottom:0;text-align:center}.btn-primary,.btn-secondary,.write-review-btn{justify-content:center;width:100%}.review-form-container{margin-bottom:2rem;padding:1.5rem}.review-form-container h3{font-size:1.25rem}.review-actions{align-items:stretch;flex-direction:column}.delete-review-btn,.submit-review-btn{justify-content:center;width:100%}.reviews-grid{gap:1rem;grid-template-columns:1fr}.review-card{padding:1rem}}@media (max-width:480px){.review-form-container{padding:1rem}.star-rating-large .star{font-size:1.5rem}.review-textarea{min-height:80px}.review-modal{margin:1rem;max-width:none;width:95%}.review-modal .modal-header{padding:1rem 1.5rem}.review-modal .modal-header h3{font-size:1.25rem}.review-modal-form{padding:1.5rem}.review-modal .modal-actions{flex-direction:column;gap:1rem}.review-modal .action-buttons{margin-left:0;width:100%}.review-modal .cancel-btn,.review-modal .delete-review-btn,.review-modal .submit-review-btn{justify-content:center;width:100%}}@media (max-width:1200px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.profile-header-section{align-items:center;flex-direction:column;gap:1.5rem;padding:1.5rem;text-align:center}.profile-info{margin:0 auto;max-width:400px;width:100%}.profile-actions,.profile-stats{justify-content:center}.gallery-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.profile-edit-section,.profile-gallery{padding:1.5rem}.edit-actions{align-items:center;flex-direction:column}.profile-save-btn{max-width:300px;width:100%}}@media (max-width:480px){.profile-info{margin:0 auto;max-width:100%}.gallery-grid{grid-template-columns:1fr}.profile-header-section{padding:1rem}.avatar-placeholder{font-size:2.5rem;height:100px;width:100px}.profile-nickname{font-size:2rem}.profile-username{font-size:1rem}.profile-stats{gap:1rem}.stat-number{font-size:1.5rem}}.heart-icon{border-radius:50%;position:relative;transition:all .2s ease}.heart-icon:hover:not(:disabled){transform:scale(1.1)}.heart-icon:active:not(:disabled){transform:scale(.95)}.heart-icon:disabled{opacity:.5}.heart-icon svg{transition:all .2s ease}.heart-icon:hover:not(:disabled) svg{filter:drop-shadow(0 0 4px rgba(0,0,0,.4))!important}.loading-state{color:#666;padding:4rem 2rem;text-align:center}.loading-state i{color:#667eea;font-size:2rem;margin-bottom:1rem}.loading-state p{font-size:1.1rem;margin:0}.gem-heart-icon{background:#0000004d;border-radius:50%;padding:4px;position:absolute;right:12px;top:12px;z-index:2}.account-info{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;text-decoration:none;transition:all .2s ease;width:36px}.account-info:hover{background:#fff3;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.account-info i{color:#667eea;font-size:2.3rem;line-height:1}.header-profile-image{border:2px solid #ffffff4d;border-radius:50%;height:32px;object-fit:cover;transition:all .3s ease;width:32px}.account-info:hover .header-profile-image{border-color:#fff9;transform:scale(1.05)}.edit-profile-page{margin:0 auto;max-width:600px;min-height:calc(100vh - 200px);padding:2rem 0 4rem}.edit-profile-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.back-button{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.back-button:hover{background:#e9ecef;color:#333}.edit-profile-header h1{color:#333;font-size:2rem;font-weight:700;margin:0}.edit-profile-form{background:#fff;border-radius:12px;padding:0}.form-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.form-section h3{color:#333;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.image-upload-section{align-items:flex-start;display:flex;gap:1.5rem}.current-image{border:2px solid #e0e0e0;border-radius:50%;flex-shrink:0;height:80px;overflow:hidden;width:80px}.current-image img{height:100%;object-fit:cover;width:100%}.image-placeholder{align-items:center;background:#f0f0f0;color:#999;display:flex;font-size:1.5rem;height:100%;justify-content:center;width:100%}.image-upload-controls{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.file-input{display:none}.file-input-label{align-items:center;background:#007bff;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:background-color .2s ease;width:-webkit-fit-content;width:fit-content}.file-input-label:hover{background:#0056b3}.remove-image-btn{align-items:center;background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s ease;width:-webkit-fit-content;width:fit-content}.remove-image-btn:hover{background:#c82333}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group input.error,.form-group textarea.error{border-color:#dc3545}.username-checking{color:#007bff}.username-checking,.username-status{position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.username-status.available{color:#28a745}.username-status.taken{color:#dc3545}.character-count{text-align:right}.character-count,.form-help{color:#666;font-size:.8rem;margin-top:.25rem}.error-message{color:#dc3545}.error-message,.success-message{font-size:.8rem;margin-top:.25rem}.success-message{color:#28a745}.form-actions{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;clear:both;display:flex;gap:1rem;justify-content:flex-end;margin-bottom:2rem;margin-top:4rem;padding:1.5rem;position:relative}.cancel-btn{align-items:center;background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;min-width:120px;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-btn:hover:not(:disabled){background:#5a6268;box-shadow:0 4px 12px #6c757d4d;transform:translateY(-1px)}.cancel-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.save-btn{align-items:center;background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;min-width:120px;padding:.75rem 1.5rem;transition:all .2s ease}.save-btn:hover:not(:disabled){background:#0056b3;box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.save-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.verification-info{margin-bottom:1.5rem;text-align:center}.verification-info p{color:#666;margin:.5rem 0}.email-display{color:#333;font-size:1.1rem;font-weight:600}.bio-note,.nickname-note{color:#888;font-size:.9rem;font-style:italic}.code-input{background-color:#fff!important;border:2px solid #ddd!important;border-radius:8px!important;box-sizing:border-box!important;color:#333!important;font-size:1.2rem!important;font-weight:600!important;letter-spacing:.2em!important;margin-top:8px!important;outline:none!important;padding:12px!important;pointer-events:auto!important;text-align:center!important;transition:border-color .2s ease!important;-webkit-user-select:text!important;user-select:text!important;width:100%!important}.verification-actions{margin-top:1rem;text-align:center}.resend-btn{align-items:center;background:none;border:none;border-radius:4px;color:#007bff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;margin:.5rem auto;padding:.5rem;transition:background-color .2s ease}.resend-btn:hover{background:#007bff1a}.password-input-container{position:relative}.password-toggle{background:none;border:none;color:#666;cursor:pointer;padding:5px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.bio-requirements,.nickname-requirements,.password-requirements,.username-requirements{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin:1rem 0;padding:1rem}.bio-requirements h4,.nickname-requirements h4,.password-requirements h4,.username-requirements h4{color:#333;font-size:.9rem;margin:0 0 .5rem}.bio-requirements ul,.nickname-requirements ul,.password-requirements ul,.username-requirements ul{list-style:none;margin:0;padding:0}.bio-requirements li,.nickname-requirements li,.password-requirements li,.username-requirements li{align-items:center;color:#666;display:flex;font-size:.85rem;gap:.5rem;margin:.25rem 0}.bio-requirements li.valid,.nickname-requirements li.valid,.password-requirements li.valid,.username-requirements li.valid{color:#28a745}.bio-requirements li.error,.nickname-requirements li.error,.password-requirements li.error,.username-requirements li.error{color:#dc3545}.bio-requirements li.info,.nickname-requirements li.info,.password-requirements li.info,.username-requirements li.info{color:#007bff}.username-input-container{position:relative}.availability-indicator,.checking-indicator{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.availability-indicator.available{color:#28a745}.availability-indicator.unavailable{color:#dc3545}.character-count,.word-count{color:#666;font-size:.8rem;margin-top:.25rem;text-align:right}.word-count.error{color:#dc3545}.bio-textarea{min-height:120px;resize:vertical}.bio-textarea.error{border-color:#dc3545}.bio-actions{display:flex;gap:1rem;margin-top:1rem}.skip-btn{align-items:center;background-color:#fff;border:none;color:#000;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:500;gap:.5rem}.login-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;margin-top:1rem;padding:.75rem;text-align:center}.forgot-password{margin-bottom:1rem;text-align:right}.forgot-password-btn{background:none;border:none;color:#007bff;cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline;transition:color .2s ease}.forgot-password-btn:hover{color:#0056b3;text-decoration:none}@media (max-width:768px){.edit-profile-page{padding:1rem 0}.edit-profile-header{align-items:flex-start;flex-direction:column;gap:.5rem}.edit-profile-header h1{font-size:1.5rem}.form-section{padding:1rem}.image-upload-section{align-items:center;flex-direction:column;text-align:center}.image-upload-controls{align-items:center}.form-actions{flex-direction:column}.cancel-btn,.save-btn{justify-content:center;width:100%}.bio-actions{flex-direction:column}.login-submit-btn,.skip-btn{flex:1 1}}.App{text-align:left}
/*# sourceMappingURL=main.f9a83a47.css.map*/