:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--primary-gradient-hover: linear-gradient(135deg, #7c8ff7 0%, #8a5eb5 100%);--accent-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--bg-dark: #0f0f1a;--bg-dark-secondary: #1a1a2e;--bg-dark-card: rgba(30, 30, 50, .8);--bg-dark-elevated: rgba(40, 40, 70, .6);--bg-light: #f8f9fc;--bg-light-secondary: #ffffff;--bg-light-card: rgba(255, 255, 255, .9);--text-primary-dark: #ffffff;--text-secondary-dark: #a0a0c0;--text-muted-dark: #6b6b8a;--text-primary-light: #1a1a2e;--text-secondary-light: #4a4a6a;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.dark{background:var(--bg-dark);color:var(--text-primary-dark)}body.light{background:var(--bg-light);color:var(--text-primary-light)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#7c8ff7,#8a5eb5)}::selection{background:#667eea66;color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #667eea4d}50%{box-shadow:0 0 40px #667eea99}}.animate-fadeIn{animation:fadeIn var(--transition-normal) forwards}.animate-slideUp{animation:slideUp var(--transition-normal) forwards}.animate-pulse{animation:pulse 2s infinite}.animate-shimmer{animation:shimmer 2s infinite;background-size:200% 100%}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.glass-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}.gradient-text{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary{background:var(--primary-gradient);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 15px #667eea66}.btn-primary:hover{background:var(--primary-gradient-hover);transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-secondary{background:transparent;color:inherit;border:1px solid var(--glass-border);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}body.light .btn-secondary{border-color:#0003;color:var(--text-primary-light)}body.light .btn-secondary:hover{background:#0000000d;border-color:#0000004d}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}body.light .glass-card{background:#fffc;border-color:#0000001a;box-shadow:0 8px 32px #0000001a}body.light .input-field{background:#00000008;border-color:#00000026;color:var(--text-primary-light)}body.light .input-field:focus{border-color:#667eea}body.light .input-field::placeholder{color:var(--text-secondary-light)}.input-field{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary-dark);font-size:1rem;transition:all var(--transition-fast)}.input-field:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.input-field::placeholder{color:var(--text-muted-dark)}.container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}@media (max-width: 768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}.media-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-dark-card);transition:all var(--transition-normal)}.media-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0006}.media-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform var(--transition-slow)}.media-card:hover img{transform:scale(1.05)}.price-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:var(--primary-gradient);border-radius:var(--radius-full);font-weight:700;font-size:1rem;color:#fff;box-shadow:0 4px 15px #667eea66}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-exclusive{background:var(--accent-gradient);color:#fff}.badge-featured{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a2e}.badge-photos{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.badge-videos{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.3)}.badge-mixed{background:#a855f733;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.skeleton{background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}*:focus-visible{outline:2px solid #667eea;outline-offset:2px}
