quantum-ai-v2/static/css/marketplace.css
Claude cb04153d5e Fix homepage UI and button hover effects across all pages
- Add missing CSS gradient variables to fix white/invisible text sections
- Add --text-light, --badge-purple, --badge-orange variables
- Fix button hover effects to use brightness filter instead of solid colors
- Apply consistent hover behavior across homepage, marketplace, and wallet pages
- Improve visual hierarchy with subtle section gradients

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 05:01:34 +05:30

362 lines
8.2 KiB
CSS

/* Marketplace-specific styles for NetCop AI Hub */
/* Using unified color system from base.css */
/* Override main-container for marketplace full-width sections */
.main-container {
max-width: none;
padding: 0;
}
/* Body background for marketplace */
body {
background: var(--gradient-hero);
min-height: 100vh;
}
/* Hero Section */
.hero-section {
position: relative;
padding: clamp(40px, 8vw, 60px) clamp(16px, 4vw, 24px) clamp(30px, 8vw, 50px);
overflow: hidden;
text-align: center;
}
.hero-container {
max-width: 1280px;
margin: 0 auto;
position: relative;
padding: 0 clamp(8px, 2vw, 16px);
}
.hero-title {
font-size: clamp(36px, 8vw, 110px);
font-weight: bold;
margin-bottom: clamp(24px, 6vw, 32px);
line-height: 1.1;
}
.gradient-text {
background: var(--gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Search */
.search-container {
max-width: 512px;
margin: 0 auto clamp(20px, 5vw, 40px) auto;
padding: 0 clamp(8px, 2vw, 16px);
}
.search-wrapper {
position: relative;
}
.search-input {
width: 100%;
padding: clamp(14px, 4vw, 20px) clamp(20px, 5vw, 32px);
border-radius: clamp(16px, 4vw, 24px);
font-size: clamp(14px, 3.5vw, 18px);
border: none;
outline: none;
backdrop-filter: blur(10px);
background: rgba(255, 255, 255, 0.9);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
color: #000000;
min-height: 48px;
box-sizing: border-box;
}
.search-icon {
position: absolute;
right: clamp(16px, 4vw, 24px);
top: 50%;
transform: translateY(-50%);
width: clamp(20px, 5vw, 24px);
height: clamp(20px, 5vw, 24px);
color: #9ca3af;
}
/* Category Filters */
.category-filters {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: clamp(8px, 2vw, 16px);
margin-bottom: clamp(16px, 4vw, 32px);
padding: 0 clamp(8px, 2vw, 16px);
}
.category-button {
padding: clamp(10px, 3vw, 12px) clamp(16px, 4vw, 24px);
border-radius: clamp(12px, 3vw, 16px);
font-weight: 600;
border: none;
cursor: pointer;
backdrop-filter: blur(10px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
background: rgba(255, 255, 255, 0.7);
color: var(--text-primary);
font-size: clamp(12px, 3vw, 14px);
min-height: 44px;
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
transition: all 0.2s ease;
}
.category-button:hover {
transform: translateY(-1px);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
background: rgba(255, 255, 255, 0.9);
}
.category-button.active {
background: var(--gradient-primary);
color: white;
}
.category-emoji {
margin-right: 8px;
}
/* Assistants Grid */
.assistants-section {
padding: 0 clamp(16px, 4vw, 24px) clamp(40px, 10vw, 80px);
}
.assistants-container {
max-width: 1280px;
margin: 0 auto;
}
.assistants-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
gap: clamp(16px, 4vw, 32px);
padding: 0 clamp(8px, 2vw, 16px);
}
.agent-card {
border-radius: clamp(16px, 3vw, 24px);
padding: clamp(16px, 4vw, 32px);
backdrop-filter: blur(10px);
background: var(--card-gradient);
border: 1px solid rgba(255, 255, 255, 0.3);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
cursor: pointer;
display: flex;
flex-direction: column;
min-height: clamp(280px, 60vw, 320px);
text-decoration: none;
color: inherit;
transition: all 0.2s ease;
}
.agent-card:hover {
transform: translateY(-2px);
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}
.agent-header {
display: flex;
align-items: center;
gap: clamp(12px, 3vw, 16px);
margin-bottom: clamp(16px, 4vw, 20px);
}
.agent-avatar {
width: clamp(50px, 12vw, 60px);
height: clamp(50px, 12vw, 60px);
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-weight: bold;
font-size: clamp(16px, 4vw, 20px);
}
.agent-info {
flex: 1;
}
.agent-name {
font-size: clamp(14px, 3.5vw, 18px);
font-weight: bold;
color: var(--text-primary);
margin-bottom: 4px;
line-height: 1.3;
word-wrap: break-word;
}
.agent-rating {
display: flex;
align-items: center;
gap: clamp(6px, 1.5vw, 8px);
}
.rating-star {
color: var(--warning-orange);
font-size: clamp(12px, 3vw, 14px);
}
.rating-text {
color: var(--text-secondary);
font-size: clamp(10px, 2.5vw, 14px);
}
.agent-description {
color: var(--text-secondary);
line-height: 1.5;
margin-bottom: clamp(12px, 3vw, 24px);
font-size: clamp(12px, 3vw, 14px);
flex: 1;
word-wrap: break-word;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
}
.agent-footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: clamp(8px, 2vw, 12px);
flex-wrap: wrap;
}
.agent-price {
display: flex;
align-items: center;
gap: clamp(6px, 1.5vw, 8px);
}
.price-icon {
color: var(--success-green);
font-weight: bold;
font-size: clamp(12px, 3vw, 14px);
}
.price-text {
color: var(--text-primary);
font-weight: 600;
font-size: clamp(12px, 3vw, 14px);
}
.use-button {
background: var(--gradient-primary);
color: white;
padding: clamp(10px, 3vw, 12px) clamp(14px, 3.5vw, 24px);
border-radius: clamp(8px, 2vw, 12px);
border: none;
font-weight: 600;
font-size: clamp(11px, 3vw, 14px);
min-height: 44px;
min-width: clamp(80px, 20vw, 100px);
cursor: pointer;
text-align: center;
white-space: nowrap;
text-decoration: none;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s ease;
}
.use-button:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
filter: brightness(1.1);
}
.use-button:active {
transform: translateY(0);
box-shadow: 0 3px 10px rgba(59, 130, 246, 0.2);
}
.use-button:disabled {
opacity: 0.5;
cursor: not-allowed;
transform: none;
}
.use-button:disabled:hover {
transform: none;
box-shadow: none;
background: var(--gradient-primary);
}
/* Loading/Empty States */
.loading-state, .empty-state {
text-align: center;
padding: clamp(40px, 10vw, 60px) clamp(16px, 4vw, 20px);
color: var(--text-secondary);
}
.state-icon {
font-size: clamp(32px, 8vw, 48px);
margin-bottom: clamp(12px, 3vw, 16px);
}
.state-text {
font-size: clamp(14px, 3.5vw, 16px);
}
/* Agent Tags */
.agent-tags {
display: flex;
gap: 8px;
flex-wrap: wrap;
margin-bottom: 12px;
}
.agent-tag {
background: var(--border-light);
color: var(--text-secondary);
padding: 4px 8px;
border-radius: 12px;
font-size: 12px;
font-weight: 500;
}
/* Simplified Category Badge Colors (Unified System) */
.category-analytics { background: rgba(59, 130, 246, 0.1); color: var(--primary-blue); }
.category-content { background: rgba(245, 158, 11, 0.1); color: var(--warning-orange); }
.category-utilities { background: rgba(16, 185, 129, 0.1); color: var(--success-green); }
.category-marketing { background: rgba(59, 130, 246, 0.1); color: var(--primary-blue); }
.category-customer-service { background: rgba(107, 114, 128, 0.1); color: var(--text-secondary); }
.category-email { background: rgba(239, 68, 68, 0.1); color: var(--error-red); }
.category-sales { background: rgba(16, 185, 129, 0.1); color: var(--success-green); }
/* Professional Avatar Gradients (Unified Color System) */
.gradient-blue { background: var(--gradient-blue); }
.gradient-green { background: var(--gradient-green); }
.gradient-slate { background: var(--gradient-slate); }
.gradient-neutral { background: var(--gradient-neutral); }
/* Responsive Design */
@media (max-width: 768px) {
.assistants-grid {
grid-template-columns: 1fr;
}
.category-filters {
gap: clamp(6px, 2vw, 12px);
}
.agent-footer {
flex-direction: column;
align-items: stretch;
gap: 12px;
}
.use-button {
width: 100%;
}
}