/* 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-button { position: absolute; right: clamp(8px, 2vw, 12px); top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; padding: clamp(8px, 2vw, 12px); border-radius: clamp(8px, 2vw, 12px); display: flex; align-items: center; justify-content: center; transition: background-color 0.2s; } .search-button:hover { background: rgba(0, 0, 0, 0.05); } .search-icon { 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%; } }