freezone/marketplace/static/css/main.css
2025-06-27 04:13:31 +02:00

466 lines
10 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Marketplace App Custom Styles */
/* Layout */
.main-content {
min-height: calc(100vh - 120px);
}
.sidebar {
width: 250px;
min-height: calc(100vh - 56px);
transition: margin-left 0.3s ease-in-out;
}
.sidebar.show {
margin-left: 0;
}
@media (max-width: 768px) {
.sidebar {
position: fixed;
top: 56px;
left: 0;
z-index: 1000;
margin-left: -250px;
background-color: white !important;
box-shadow: 2px 0 5px rgba(0,0,0,0.1);
}
.sidebar.show {
margin-left: 0;
}
.main-content {
margin-left: 0 !important;
}
}
/* Hero Section */
.hero-section {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
color: white !important;
position: relative;
overflow: hidden;
min-height: 60vh;
}
.hero-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
opacity: 0.1;
}
.hero-section .container-fluid {
position: relative;
z-index: 1;
}
.hero-section .text-warning {
color: #ffc107 !important;
}
/* Dark theme hero text */
[data-bs-theme="dark"] .hero-section .hero-title,
[data-bs-theme="dark"] .hero-section .hero-subtitle {
color: white !important;
}
/* Marketplace specific styles */
.marketplace-card {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
border-radius: 8px;
overflow: hidden;
background: var(--bg-primary);
border: 1px solid var(--border-light);
box-shadow: var(--shadow-sm);
}
.marketplace-card:hover {
transform: translateY(-8px) scale(1.02);
box-shadow: var(--shadow-xl);
border-color: var(--primary-color);
}
.marketplace-card .card-img-top {
height: 250px;
object-fit: cover;
transition: transform 0.4s ease;
}
.marketplace-card:hover .card-img-top {
transform: scale(1.1);
}
.marketplace-card .card-body {
padding: 1.5rem;
}
.marketplace-card .card-footer {
background: var(--bg-tertiary);
border-top: 1px solid var(--border-light);
padding: 1rem 1.5rem;
}
.asset-image {
height: 250px;
object-fit: cover;
transition: transform 0.3s ease;
}
.marketplace-card:hover .asset-image {
transform: scale(1.05);
}
/* Price and Badge Styling */
.price-badge {
background-color: var(--primary-color);
color: white;
padding: 0.5rem 1rem;
border-radius: 6px;
font-weight: 700;
font-size: 1.1rem;
box-shadow: var(--shadow-sm);
}
.auction-badge {
background: linear-gradient(135deg, #ec4899 0%, #f59e0b 100%);
color: white;
padding: 0.5rem 1rem;
border-radius: 20px;
font-size: 0.875rem;
font-weight: 600;
animation: pulse-glow 2s infinite;
box-shadow: 0 0 20px rgba(236, 72, 153, 0.3);
}
@keyframes pulse-glow {
0%, 100% {
opacity: 1;
box-shadow: 0 0 20px rgba(236, 72, 153, 0.3);
}
50% {
opacity: 0.8;
box-shadow: 0 0 30px rgba(236, 72, 153, 0.5);
}
}
.category-filter {
background: rgba(255, 255, 255, 0.9);
backdrop-filter: blur(10px);
border-radius: 15px;
padding: 1rem;
margin-bottom: 2rem;
}
/* Filter Bar */
.filter-bar {
background: var(--bg-primary);
border-bottom: 1px solid var(--border-light);
box-shadow: var(--shadow-sm);
backdrop-filter: blur(10px);
}
.filter-bar.sticky-top {
z-index: 1020;
}
/* Search Container */
.search-container {
background: var(--bg-primary);
backdrop-filter: blur(10px);
border-radius: 8px;
padding: 2rem;
margin-bottom: 2rem;
box-shadow: var(--shadow-md);
border: 1px solid var(--border-light);
}
.asset-detail-image {
border-radius: 15px;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.breadcrumb {
background: transparent;
padding: 0;
}
.breadcrumb-item + .breadcrumb-item::before {
content: "";
font-size: 1.2rem;
color: #6c757d;
}
/* Button styles */
.btn-marketplace {
background-color: var(--primary-color);
border: 1px solid var(--primary-color);
color: white;
padding: 0.75rem 1.5rem;
border-radius: 6px;
font-weight: 600;
transition: all 0.2s ease;
}
.btn-marketplace:hover {
background-color: var(--primary-hover);
border-color: var(--primary-hover);
transform: translateY(-1px);
box-shadow: var(--shadow-md);
color: white;
}
.btn-bid {
background-color: #ec4899;
border: 1px solid #ec4899;
color: white;
padding: 0.75rem 1.5rem;
border-radius: 6px;
font-weight: 600;
transition: all 0.2s ease;
}
.btn-bid:hover {
background-color: #db2777;
border-color: #db2777;
transform: translateY(-1px);
box-shadow: var(--shadow-md);
color: white;
}
/* Search and filters */
.search-container {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
border-radius: 15px;
padding: 1.5rem;
margin-bottom: 2rem;
box-shadow: 0 5px 20px rgba(0,0,0,0.05);
}
.form-control:focus, .form-select:focus {
border-color: #0099FF;
box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}
/* Empty state */
.empty-state {
padding: 4rem 2rem;
text-align: center;
}
.empty-state i {
font-size: 4rem;
color: #dee2e6;
margin-bottom: 1.5rem;
}
/* Responsive adjustments */
@media (max-width: 576px) {
.marketplace-card {
margin-bottom: 1.5rem;
}
.search-container {
padding: 1rem;
}
.asset-detail-image {
margin-bottom: 2rem;
}
}
/* Loading States */
.loading-skeleton {
background: linear-gradient(90deg, var(--bg-tertiary) 25%, var(--border-light) 50%, var(--bg-tertiary) 75%);
background-size: 200% 100%;
animation: loading 1.5s infinite;
border-radius: 8px;
}
@keyframes loading {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: var(--bg-tertiary);
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
background: var(--gradient-primary);
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--primary-hover);
}
/* Responsive Design */
@media (max-width: 576px) {
.marketplace-card {
margin-bottom: 1.5rem;
}
.search-container {
padding: 1rem;
border-radius: 12px;
}
.asset-detail-image {
margin-bottom: 2rem;
}
.hero-section {
padding: 2rem 0 !important;
}
.hero-section h1 {
font-size: 2rem !important;
}
.btn-marketplace,
.btn-bid {
padding: 0.75rem 1.5rem;
font-size: 0.9rem;
}
.price-badge {
padding: 0.5rem 1rem;
font-size: 1rem;
}
}
@media (max-width: 768px) {
.filter-bar .row > div {
margin-bottom: 0.75rem;
}
.filter-bar .row > div:last-child {
margin-bottom: 0;
}
}
/* Animation Utilities */
.fade-in {
animation: fadeIn 0.6s ease-in-out;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.slide-up {
animation: slideUp 0.4s ease-out;
}
@keyframes slideUp {
from { transform: translateY(30px); opacity: 0; }
to { transform: translateY(0); opacity: 1; }
}
/* Utility Classes */
.text-gradient {
background: var(--gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-weight: 700;
}
.border-gradient {
border: 2px solid transparent;
background: linear-gradient(var(--bg-primary), var(--bg-primary)) padding-box,
var(--gradient-primary) border-box;
border-radius: 12px;
}
.glass-effect {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
/* Dark theme adjustments */
[data-bs-theme="dark"] .hero-section {
background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
}
[data-bs-theme="dark"] .marketplace-card {
background: var(--bg-primary) !important;
border-color: var(--border-light) !important;
color: var(--text-primary) !important;
}
[data-bs-theme="dark"] .marketplace-card .card-body {
color: var(--text-primary) !important;
}
[data-bs-theme="dark"] .marketplace-card .text-muted {
color: var(--text-muted) !important;
}
[data-bs-theme="dark"] .filter-bar {
background: var(--bg-primary) !important;
border-bottom-color: var(--border-light) !important;
}
[data-bs-theme="dark"] .search-container {
background: var(--bg-primary) !important;
border-color: var(--border-light) !important;
}
[data-bs-theme="dark"] .table {
color: var(--text-primary) !important;
}
[data-bs-theme="dark"] .table thead th {
background: var(--bg-tertiary) !important;
color: var(--text-primary) !important;
border-color: var(--border-light) !important;
}
[data-bs-theme="dark"] .table tbody td {
color: var(--text-primary) !important;
border-color: var(--border-light) !important;
}
[data-bs-theme="dark"] .table tbody tr:hover {
background-color: var(--bg-tertiary) !important;
}
[data-bs-theme="dark"] .empty-state {
background: var(--bg-primary) !important;
border-color: var(--border-medium) !important;
color: var(--text-primary) !important;
}
[data-bs-theme="dark"] .empty-state h3,
[data-bs-theme="dark"] .empty-state h6 {
color: var(--text-secondary) !important;
}
[data-bs-theme="dark"] .empty-state p {
color: var(--text-muted) !important;
}
[data-bs-theme="dark"] .glass-effect {
background: rgba(0, 0, 0, 0.2) !important;
border-color: rgba(255, 255, 255, 0.1) !important;
}
[data-bs-theme="dark"] .bg-light {
background-color: var(--bg-tertiary) !important;
}