*{box-sizing:border-box}:root{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--bg-card:#242424;--bg-premium:linear-gradient(135deg,#3a3a3a,#2d2d2d);--bg-hall:linear-gradient(135deg,#4a2d4a,#3d1a3d);--color-primary:#fff;--color-secondary:#ccc;--color-accent:#e91e63;--color-gold:gold;--color-silver:silver;--color-bronze:#cd7f32;--border-radius:16px;--shadow-card:0 4px 15px rgba(0,0,0,.3);--shadow-hover:0 8px 30px rgba(0,0,0,.4);--transition:all 0.3s ease}.gallery-subtitle{color:var(--color-secondary);font-size:1.2rem;font-weight:300;margin-bottom:2rem;text-align:center}.quick-filters{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem;padding:1rem 0}.quick-filter{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.7);border:2px solid rgba(255,0,102,.3);border-radius:25px;color:#f36;display:inline-flex;font-size:.95rem;font-weight:600;overflow:hidden;padding:.8rem 1.8rem;position:relative;text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1)}.quick-filter:before{background:linear-gradient(90deg,transparent,rgba(255,0,102,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.quick-filter:hover:before{left:100%}.quick-filter:hover{background:rgba(255,0,102,.1);border-color:#f06;box-shadow:0 8px 25px rgba(255,0,102,.4);color:#f06;transform:translateY(-3px)}.quick-filter.active{background:linear-gradient(135deg,#f06,#8b00ff);border-color:#f06;box-shadow:0 6px 25px rgba(255,0,102,.5);color:#fff}.gallery-filters{background:linear-gradient(135deg,#0f0f0f,#1a1a1a 50%,#0d0d0d);border:1px solid rgba(255,0,102,.3);border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.8),0 0 30px rgba(255,0,102,.1);margin-bottom:2rem;overflow:hidden;padding:2rem;position:relative}.gallery-filters:before{background:radial-gradient(circle at 30% 20%,rgba(255,0,100,.1) 0,transparent 50%),radial-gradient(circle at 70% 80%,rgba(139,0,255,.1) 0,transparent 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.filters-form{align-items:end;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));position:relative;z-index:1}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#f36;font-size:.9rem;font-weight:700;letter-spacing:1px;margin-bottom:.8rem;text-shadow:0 0 10px rgba(255,51,102,.5);text-transform:uppercase}.filter-group input,.filter-group select{backdrop-filter:blur(10px);background:rgba(0,0,0,.7);border:2px solid rgba(255,51,102,.4);border-radius:15px;box-shadow:inset 0 2px 10px rgba(0,0,0,.5);color:#fff;font-size:1rem;padding:1rem 1.2rem;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.filter-group input:focus,.filter-group select:focus{background:rgba(0,0,0,.9);border-color:#f06;box-shadow:0 0 0 4px rgba(255,0,102,.3),0 0 20px rgba(255,0,102,.4),inset 0 2px 10px rgba(0,0,0,.5);outline:none;transform:translateY(-2px)}.filter-group input:hover,.filter-group select:hover{background:rgba(0,0,0,.8);border-color:rgba(255,51,102,.7);box-shadow:0 5px 20px rgba(255,0,102,.2),inset 0 2px 10px rgba(0,0,0,.5);transform:translateY(-1px)}.filter-group select option{background:#0f0f0f;border-bottom:1px solid rgba(255,51,102,.2);color:#fff;padding:12px}.filter-btn,.reset-btn{align-items:center;border:none;border-radius:15px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:700;justify-content:center;letter-spacing:1px;overflow:hidden;padding:1rem 2rem;position:relative;text-decoration:none;text-transform:uppercase;transition:all .4s cubic-bezier(.4,0,.2,1)}.filter-btn{background:linear-gradient(135deg,#f06,#8b00ff);box-shadow:0 2px 15px rgba(255,0,102,.3),0 0 10px rgba(139,0,255,.2);color:#fff;font-size:1.1rem;padding:1.2rem 2.5rem;transform:translateY(-3px)}.filter-btn:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.filter-btn:hover:before{left:100%}.filter-btn:hover{background:linear-gradient(135deg,#8b00ff,#f06);box-shadow:0 15px 40px rgba(255,0,102,.5),0 0 30px rgba(139,0,255,.4);transform:translateY(-3px)}.reset-btn{backdrop-filter:blur(10px);background:rgba(255,0,102,.1);border:2px solid rgba(255,0,102,.3);color:#f36;margin-left:1rem}.reset-btn:hover{background:rgba(255,0,102,.2);border-color:rgba(255,0,102,.5);box-shadow:0 5px 20px rgba(255,0,102,.3);color:#f06;transform:translateY(-2px)}.gallery-stats{color:var(--color-secondary);margin:2rem 0;text-align:center}.gallery-stats strong{color:var(--color-accent);font-size:1.1rem}.gallery-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:2rem 0}.gallery-card{background:var(--bg-card);border:2px solid transparent;border-radius:var(--border-radius);box-shadow:var(--shadow-card);overflow:hidden;position:relative;transition:var(--transition)}.gallery-card:before{background:linear-gradient(135deg,transparent,hsla(0,0%,100%,.05),transparent);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:1}.gallery-card:hover:before{opacity:1}.gallery-card:hover{border-color:hsla(0,0%,100%,.1);box-shadow:var(--shadow-hover);transform:translateY(-8px) scale(1.02)}.gallery-card.premium{background:var(--bg-premium);border:2px solid var(--color-gold);box-shadow:0 0 20px rgba(255,215,0,.2)}.gallery-card.premium:hover{box-shadow:0 15px 40px rgba(255,215,0,.4)}.gallery-card.hall-of-fame{background:var(--bg-hall);border:3px solid #ff1493;box-shadow:0 0 30px rgba(255,20,147,.3)}.gallery-card.hall-of-fame:hover{box-shadow:0 20px 50px rgba(255,20,147,.5);transform:translateY(-10px) scale(1.03)}.hall-badge,.premium-badge{backdrop-filter:blur(10px);border-radius:20px;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:.6rem 1.2rem;position:absolute;right:1rem;text-transform:uppercase;top:1rem;z-index:3}.hall-badge{background:linear-gradient(135deg,#ff1493,#ff69b4);box-shadow:0 4px 15px rgba(255,20,147,.4);color:var(--color-primary)}.premium-badge{background:linear-gradient(135deg,var(--color-gold),orange);box-shadow:0 4px 15px rgba(255,215,0,.4);color:#000}.card-image{height:280px;overflow:hidden;position:relative}.gallery-card.premium .card-image{height:320px}.gallery-card.hall-of-fame .card-image{height:360px}.card-image img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.card-image a{display:block;height:100%;width:100%}.gallery-card:hover .card-image img{transform:scale(1.1)}.card-content{padding:1.5rem;position:relative;z-index:2}.card-content h2{color:var(--color-primary);font-size:1.3rem;font-weight:700;line-height:1.2;margin:0 0 1rem}.gallery-card.premium .card-content h2{color:var(--color-gold);font-size:1.4rem}.gallery-card.hall-of-fame .card-content h2{color:#ff1493;font-size:1.5rem;text-shadow:0 0 10px rgba(255,20,147,.3)}.rank-badge{backdrop-filter:blur(5px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:15px;display:inline-block;font-size:.85rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;padding:.4rem 1rem;text-transform:uppercase}.achievements{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem;min-height:2rem}.achievement{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:8px;cursor:help;display:inline-block;font-size:1.4rem;padding:.3rem .5rem;position:relative;transition:var(--transition)}.achievement:hover{background:rgba(255,215,0,.3);box-shadow:0 4px 15px rgba(255,215,0,.3);transform:scale(1.3);z-index:10}.no-achievements{color:#666;font-size:.9rem;font-style:italic;opacity:.7}.card-info{background:rgba(0,0,0,.2);border-left:3px solid var(--color-accent);border-radius:10px;margin:1.2rem 0;padding:1rem}.info-item{display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:.6rem}.info-item:last-child{margin-bottom:0}.info-label{color:var(--color-secondary);font-weight:600}.info-value{color:var(--color-primary);font-weight:500}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.2rem 0}.tag{background:linear-gradient(135deg,var(--color-accent),#ad1457);border-radius:15px;color:var(--color-primary);display:inline-block;font-size:.75rem;font-weight:600;padding:.3rem .8rem;text-decoration:none;text-transform:lowercase;transition:var(--transition)}.tag:hover{background:linear-gradient(135deg,#ad1457,#880e4f);box-shadow:0 4px 10px rgba(233,30,99,.3);transform:translateY(-2px)}.contact-info{background:rgba(255,215,0,.1);border-left:4px solid var(--color-gold);border-radius:12px;margin:1.2rem 0;padding:1rem}.contact-info a{color:var(--color-gold);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem;text-decoration:none;transition:var(--transition)}.contact-info a:hover{color:orange;transform:translateX(5px)}.gallery-vote{border-top:1px solid #404040;justify-content:space-between;margin-top:1.5rem;padding-top:1rem}.gallery-vote,.vote-btn{align-items:center;display:flex}.vote-btn{background:linear-gradient(135deg,#333,#404040);border:none;border-radius:50%;color:var(--color-accent);cursor:pointer;font-size:1.4rem;height:44px;justify-content:center;overflow:hidden;position:relative;transition:var(--transition);width:44px}.vote-btn:before{background:var(--color-accent);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:0}.vote-btn:hover:before{height:100%;width:100%}.vote-btn:hover{box-shadow:0 6px 20px rgba(233,30,99,.4);color:var(--color-primary);transform:scale(1.1)}.vote-btn .vote-icon{position:relative;z-index:2}.vote-count{color:var(--color-accent);font-size:1.2rem;font-weight:700;margin:0 1rem}.views-count{color:#666;font-size:.9rem}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:3rem 0}.page-btn{background:var(--bg-secondary);border:2px solid transparent;border-radius:10px;color:var(--color-secondary);font-weight:600;padding:.8rem 1.2rem;text-decoration:none;transition:var(--transition)}.page-btn:hover{transform:translateY(-2px)}.page-btn.current,.page-btn:hover{background:var(--color-accent);color:var(--color-primary)}.page-btn.current{border-color:var(--color-accent)}.no-results{background:var(--bg-secondary);border-radius:var(--border-radius);margin:2rem 0;padding:3rem;text-align:center}.no-results p{color:var(--color-secondary);font-size:1.1rem;margin-bottom:1.5rem}.btn{background:linear-gradient(135deg,var(--color-accent),#ff4081);border-radius:25px;color:var(--color-primary);display:inline-block;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:var(--transition)}.btn:hover{background:linear-gradient(135deg,#c1185b,var(--color-accent));box-shadow:0 8px 25px rgba(233,30,99,.4);transform:translateY(-3px)}@media (max-width:1200px){.gallery-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.container{padding:0 1rem}.gallery-grid{gap:1.5rem;grid-template-columns:1fr}.quick-filters{justify-content:flex-start;overflow-x:auto;padding-bottom:1rem;scrollbar-width:thin}.quick-filter{min-width:max-content;white-space:nowrap}.filters-form{gap:1rem;grid-template-columns:1fr}.filter-btn,.reset-btn{margin:.5rem 0}.card-image{height:220px!important}.card-content{padding:1rem}.achievements,.gallery-vote{justify-content:center}.gallery-vote{gap:1rem}}@media (max-width:480px){.gallery-subtitle{font-size:1rem}.quick-filter{font-size:.85rem;padding:.6rem 1.2rem}.card-content h2{font-size:1.1rem!important}.info-item{flex-direction:column;gap:.2rem}.pagination{gap:.3rem}.page-btn{font-size:.9rem;padding:.6rem 1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gallery-card{animation:fadeIn .6s ease forwards}.gallery-card:nth-child(2n){animation-delay:.1s}.gallery-card:nth-child(3n){animation-delay:.2s}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.8}}.gallery-card.hall-of-fame .achievement{animation:shimmer 2s infinite}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ff4081}img{color:transparent!important;font-size:0!important;text-indent:-9999px!important}img:after,img:before{content:none!important;display:none!important}.modal-image{color:transparent!important;font-size:0!important;text-indent:-9999px!important}