veela4's picture
Upload folder using huggingface_hub
70ba896 verified
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
/* Smooth Animations */
@keyframes float {
0%,
100% {
transform: translateY(0px) rotate(0deg);
}
50% {
transform: translateY(-15px) rotate(180deg);
}
}
@keyframes blob {
0% {
transform: translate(0px, 0px) scale(1);
}
33% {
transform: translate(30px, -50px) scale(1.1);
}
66% {
transform: translate(-20px, 20px) scale(0.9);
}
100% {
transform: translate(0px, 0px) scale(1);
}
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes shimmer {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(100%);
}
}
@keyframes pulse {
0%,
100% {
opacity: 0.4;
}
50% {
opacity: 0.8;
}
}
@layer base {
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: 'Inter', system-ui, sans-serif;
background: linear-gradient(135deg, #0c0c0c 0%, #1a1a2e 50%, #16213e 100%);
color: #ffffff;
line-height: 1.6;
min-height: 100vh;
}
}
@layer components {
/* Enhanced Glassmorphic Navigation */
.glass-nav {
background: rgba(0, 0, 0, 0.2);
backdrop-filter: blur(30px);
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
position: relative;
z-index: 40;
transition: all 0.3s ease;
}
.glass-nav:hover {
background: rgba(0, 0, 0, 0.3);
backdrop-filter: blur(40px);
}
/* Fast Glassmorphic Background */
.glass-bg {
background: rgba(0, 0, 0, 0.4);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 20px;
position: relative;
z-index: 40;
}
/* Removed shimmer effect to prevent weird highlighting */
/* Floating Background Blobs */
.bg-blob {
position: absolute;
border-radius: 50%;
filter: blur(60px);
animation: blob 10s infinite;
z-index: -1;
opacity: 0.6;
}
.bg-blob-1 {
width: 400px;
height: 400px;
background: linear-gradient(45deg, #667eea, #764ba2);
top: 10%;
left: 10%;
animation-delay: 0s;
}
.bg-blob-2 {
width: 300px;
height: 300px;
background: linear-gradient(45deg, #f093fb, #f5576c);
top: 60%;
right: 10%;
animation-delay: 3s;
}
.bg-blob-3 {
width: 250px;
height: 250px;
background: linear-gradient(45deg, #4facfe, #00f2fe);
bottom: 20%;
left: 20%;
animation-delay: 6s;
}
/* Premium Dark Cards */
.card {
background: rgba(0, 0, 0, 0.3);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 20px;
padding: 24px;
position: relative;
overflow: hidden;
transition: all 0.4s ease;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
.card:hover {
transform: translateY(-8px);
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
border-color: rgba(255, 255, 255, 0.2);
background: rgba(0, 0, 0, 0.4);
}
/* Removed card shimmer effect to prevent weird highlighting */
.card:hover::before {
left: 100%;
}
/* Modern Dark Buttons */
.btn-primary {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 14px 28px;
border-radius: 14px;
font-weight: 600;
border: none;
cursor: pointer;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
position: relative;
overflow: hidden;
box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
}
.btn-primary:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(102, 126, 234, 0.6);
}
.btn-secondary {
background: rgba(0, 0, 0, 0.3);
backdrop-filter: blur(10px);
color: white;
padding: 14px 28px;
border-radius: 14px;
font-weight: 500;
border: 1px solid rgba(255, 255, 255, 0.2);
cursor: pointer;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
}
.btn-secondary:hover {
background: rgba(0, 0, 0, 0.5);
transform: translateY(-2px);
border-color: rgba(255, 255, 255, 0.3);
}
.btn-danger {
background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);
color: white;
padding: 10px 20px;
border-radius: 10px;
font-weight: 500;
border: none;
cursor: pointer;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
}
.btn-danger:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(255, 107, 107, 0.6);
}
.btn-success {
background: linear-gradient(135deg, #4ecdc4 0%, #44a08d 100%);
color: white;
padding: 14px 28px;
border-radius: 14px;
font-weight: 600;
border: none;
cursor: pointer;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
box-shadow: 0 4px 15px rgba(78, 205, 196, 0.4);
}
.btn-success:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(78, 205, 196, 0.6);
}
/* Dark Input Fields */
.input-field {
background: rgba(0, 0, 0, 0.4);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 12px;
padding: 14px 18px;
color: white;
width: 100%;
transition: all 0.3s ease;
}
.input-field:focus {
outline: none;
border-color: rgba(102, 126, 234, 0.6);
background: rgba(0, 0, 0, 0.6);
box-shadow: 0 0 20px rgba(102, 126, 234, 0.3);
}
.input-field::placeholder {
color: rgba(255, 255, 255, 0.5);
}
/* Fix select dropdown styling */
select.input-field {
background: rgba(0, 0, 0, 0.4) !important;
color: white !important;
border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
select.input-field:focus {
background: rgba(0, 0, 0, 0.6) !important;
border-color: rgba(102, 126, 234, 0.6) !important;
box-shadow: 0 0 20px rgba(102, 126, 234, 0.3) !important;
}
select.input-field option {
background: rgba(0, 0, 0, 0.9) !important;
color: white !important;
}
/* Override any grey backgrounds on selects */
select {
background: rgba(0, 0, 0, 0.4) !important;
color: white !important;
}
/* Dropdown styling - less aggressive */
[x-data] div[x-show] {
z-index: 50;
}
/* Dark Badges */
.badge {
padding: 6px 14px;
border-radius: 20px;
font-size: 12px;
font-weight: 500;
display: inline-flex;
align-items: center;
backdrop-filter: blur(10px);
}
.badge-success {
background: rgba(78, 205, 196, 0.2);
color: #4ecdc4;
border: none;
}
.badge-danger {
background: rgba(255, 107, 107, 0.2);
color: #ff6b6b;
border: none;
}
.badge-warning {
background: rgba(255, 193, 7, 0.2);
color: #ffc107;
border: none;
}
.badge-info {
background: rgba(102, 126, 234, 0.2);
color: #667eea;
border: none;
}
/* Enhanced Navigation Icons */
.nav-icon {
color: rgba(255, 255, 255, 0.6);
padding: 12px;
border-radius: 12px;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
text-decoration: none;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 10;
position: relative;
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(255, 255, 255, 0.05);
backdrop-filter: blur(10px);
min-width: 44px;
min-height: 44px;
}
.nav-icon:hover {
color: white;
background: rgba(255, 255, 255, 0.08);
border-color: rgba(255, 255, 255, 0.15);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
.nav-icon.active {
color: white;
background: rgba(102, 126, 234, 0.2);
border-color: rgba(102, 126, 234, 0.4);
box-shadow: 0 0 20px rgba(102, 126, 234, 0.3);
}
.nav-icon.primary {
background: linear-gradient(135deg, rgba(102, 126, 234, 0.3), rgba(139, 92, 246, 0.3));
border-color: rgba(102, 126, 234, 0.4);
}
.nav-icon.primary:hover {
background: linear-gradient(135deg, rgba(102, 126, 234, 0.5), rgba(139, 92, 246, 0.5));
box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}
.nav-icon.admin {
border-color: rgba(239, 68, 68, 0.3);
}
.nav-icon.admin:hover {
background: rgba(239, 68, 68, 0.1);
border-color: rgba(239, 68, 68, 0.4);
}
.nav-icon.user-menu {
padding: 8px;
min-width: 48px;
min-height: 48px;
}
/* Legacy nav-link for compatibility */
.nav-link {
color: rgba(255, 255, 255, 0.8);
padding: 10px 18px;
border-radius: 10px;
transition: all 0.1s ease;
text-decoration: none;
display: inline-flex;
align-items: center;
font-weight: 500;
cursor: pointer;
z-index: 10;
position: relative;
}
.nav-link:hover {
color: white;
background: rgba(255, 255, 255, 0.1);
}
.nav-link.active {
color: white;
background: rgba(102, 126, 234, 0.3);
border: 1px solid rgba(102, 126, 234, 0.4);
}
/* Premium Typography */
.heading-1 {
font-size: 3rem;
font-weight: 800;
color: white;
margin-bottom: 1.5rem;
line-height: 1.2;
padding: 0.5rem 0;
}
.heading-2 {
font-size: 2.25rem;
font-weight: 700;
color: white;
margin-bottom: 1rem;
line-height: 1.2;
}
.heading-3 {
font-size: 1.75rem;
font-weight: 600;
color: white;
margin-bottom: 0.75rem;
line-height: 1.3;
}
.text-muted {
color: rgba(255, 255, 255, 0.6);
}
/* Layout */
.container-custom {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
}
.grid-products {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 1.5rem;
max-width: 100%;
padding: 0.5rem;
}
/* Enhanced hover effects */
.product-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 35px rgba(0, 0, 0, 0.4);
}
/* Simple gradient text - no animation */
.gradient-text {
background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Utilities */
.line-clamp-2 {
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.line-clamp-3 {
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
/* Animation Classes */
.fade-in {
animation: fadeIn 0.8s ease-out;
}
.float {
animation: float 8s ease-in-out infinite;
}
/* Professional Loading Animations */
@keyframes loading-pulse {
0%,
100% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.05);
opacity: 0.8;
}
}
@keyframes loading-dot {
0%,
100% {
transform: translateY(0);
opacity: 0.5;
}
50% {
transform: translateY(-10px);
opacity: 1;
}
}
@keyframes loading-progress {
0% {
width: 0%;
}
100% {
width: 100%;
}
}
.loading-pulse {
animation: loading-pulse 2s ease-in-out infinite;
}
.loading-dot {
animation: loading-dot 1.5s ease-in-out infinite;
}
.loading-progress {
animation: loading-progress 3s ease-in-out infinite;
}
.loading-fade-out {
opacity: 0;
pointer-events: none;
transition: opacity 0.5s ease-out;
}
/* Special Effects */
.glow-text {
text-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
}
.gradient-text {
background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Fix for gradient text clipping */
.hero-title-fix {
padding: 0.25rem 0;
line-height: 1.1;
display: block;
overflow: visible;
}
/* Clean dropdown styling */
.dropdown-content {
background: rgba(0, 0, 0, 0.9) !important;
backdrop-filter: blur(20px) !important;
border: 1px solid rgba(255, 255, 255, 0.1) !important;
border-radius: 12px !important;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
/* Force dropdown to be dark */
div[x-show] div[class*="bg-white"] {
background: rgba(0, 0, 0, 0.9) !important;
backdrop-filter: blur(20px) !important;
border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
/* Fix dropdown links */
div[x-show] a[class*="text-gray"] {
color: white !important;
}
div[x-show] a:hover {
background: rgba(255, 255, 255, 0.1) !important;
}
/* Responsive nav links */
.responsive-nav-link {
color: rgba(255, 255, 255, 0.8) !important;
padding: 12px 16px !important;
border-radius: 8px !important;
margin: 4px 8px !important;
transition: all 0.3s ease !important;
}
.responsive-nav-link:hover {
color: white !important;
background: rgba(255, 255, 255, 0.1) !important;
}
.responsive-nav-link.active {
color: white !important;
background: rgba(102, 126, 234, 0.3) !important;
}
}
/*
Fix white rectangle issue */
.bg-white {
background: transparent !important;
}
main {
background: transparent !important;
}
/* Ensure all content areas are transparent */
.min-h-screen {
background: transparent !important;
}
/* Fix navigation responsiveness */
nav a,
nav button {
pointer-events: auto !important;
z-index: 50 !important;
position: relative !important;
}
/* Remove any blocking overlays */
nav::after,
nav::before {
pointer-events: none !important;
}
/* Ensure immediate clickability */
.nav-link {
pointer-events: auto !important;
user-select: none;
}
/* Fix any transition delays */
* {
transition-delay: 0s !important;
}
/* Cate
gory Cards */
.category-card {
transition: all 0.3s ease;
}
.category-card:hover {
transform: translateY(-8px);
}
.category-card .card {
transition: all 0.3s ease;
cursor: pointer;
}
.category-card:hover .card {
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
border-color: rgba(255, 255, 255, 0.3);
}
/* Modal Animations */
.modal-enter {
animation: modalEnter 0.3s ease-out;
}
@keyframes modalEnter {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}/*
Enhanced Category Page Styles */
.category-card {
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.category-card:hover {
transform: translateY(-12px) scale(1.02);
}
.category-card:active {
transform: translateY(-8px) scale(0.98);
}
/* Enhanced Modal Styles */
#categoryModal {
backdrop-filter: blur(20px);
}
#modalContainer {
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Custom Scrollbar for Modal */
.custom-scrollbar::-webkit-scrollbar {
width: 12px;
}
.custom-scrollbar::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.05);
border-radius: 6px;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
background: linear-gradient(135deg, rgba(102, 126, 234, 0.8), rgba(139, 92, 246, 0.8));
border-radius: 6px;
border: 2px solid rgba(255, 255, 255, 0.1);
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
background: linear-gradient(135deg, rgba(102, 126, 234, 1), rgba(139, 92, 246, 1));
}
/* Removed duplicate gradient animation */
/* Pulse Animation for Loading */
@keyframes pulse-glow {
0%, 100% {
box-shadow: 0 0 20px rgba(139, 92, 246, 0.5);
transform: scale(1);
}
50% {
box-shadow: 0 0 40px rgba(139, 92, 246, 0.8);
transform: scale(1.05);
}
}
.loading-pulse {
animation: pulse-glow 2s ease-in-out infinite;
}
/* Enhanced Card Hover Effects */
.card:hover {
box-shadow:
0 25px 50px rgba(0, 0, 0, 0.5),
0 0 50px rgba(139, 92, 246, 0.2);
}
/* Floating Animation Variations */
@keyframes float-slow {
0%, 100% { transform: translateY(0px) rotate(0deg); }
50% { transform: translateY(-20px) rotate(5deg); }
}
@keyframes float-medium {
0%, 100% { transform: translateY(0px) rotate(0deg); }
50% { transform: translateY(-15px) rotate(-3deg); }
}
.float-slow {
animation: float-slow 12s ease-in-out infinite;
}
.float-medium {
animation: float-medium 8s ease-in-out infinite;
}
/* Enhanced Fade In Animation */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(50px) scale(0.9);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}
.fade-in {
animation: fadeInUp 0.8s ease-out forwards;
}
/* Stagger Animation Delays */
.fade-in:nth-child(1) { animation-delay: 0.1s; }
.fade-in:nth-child(2) { animation-delay: 0.2s; }
.fade-in:nth-child(3) { animation-delay: 0.3s; }
.fade-in:nth-child(4) { animation-delay: 0.4s; }
.fade-in:nth-child(5) { animation-delay: 0.5s; }
.fade-in:nth-child(6) { animation-delay: 0.6s; }/* Epic
Hero Section Animations */
.hero-wrapper {
position: relative;
background: linear-gradient(135deg, #0c0c0c 0%, #1a1a2e 50%, #16213e 100%);
}
/* Parallax Layers */
.parallax-layer {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
will-change: transform;
}
/* Floating Particles */
.particles {
z-index: 1;
}
.particle {
position: absolute;
width: 4px;
height: 4px;
background: rgba(255, 255, 255, 0.6);
border-radius: 50%;
animation: particleFloat 8s infinite linear;
}
@keyframes particleFloat {
0% {
transform: translateY(100vh) scale(0);
opacity: 0;
}
10% {
opacity: 1;
}
90% {
opacity: 1;
}
100% {
transform: translateY(-100px) scale(1);
opacity: 0;
}
}
/* Hero Content Animations */
.hero-content {
z-index: 10;
}
.hero-badge {
animation: fadeInUp 1s ease-out 0.5s forwards;
}
.hero-title {
animation: fadeInUp 1s ease-out 0.8s forwards;
text-shadow: 0 0 50px rgba(139, 92, 246, 0.3);
}
.hero-subtitle {
animation: fadeInUp 1s ease-out 1.1s forwards;
}
.hero-stats {
animation: fadeInUp 1s ease-out 1.4s forwards;
}
.hero-cta {
animation: fadeInUp 1s ease-out 1.7s forwards;
}
/* Counter Animation */
.counter {
transition: all 0.3s ease;
}
/* Scroll-based Animations */
.scroll-reveal {
opacity: 0;
transform: translateY(50px);
transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.scroll-reveal.revealed {
opacity: 1;
transform: translateY(0);
}
/* Enhanced Floating Animation */
@keyframes float {
0%, 100% {
transform: translateY(0px) rotate(0deg) scale(1);
}
25% {
transform: translateY(-20px) rotate(5deg) scale(1.05);
}
50% {
transform: translateY(-10px) rotate(-3deg) scale(0.95);
}
75% {
transform: translateY(-15px) rotate(2deg) scale(1.02);
}
}
/* Scroll Indicator */
.scroll-indicator {
animation: scrollBounce 2s infinite;
}
@keyframes scrollBounce {
0%, 20%, 50%, 80%, 100% {
transform: translateX(-50%) translateY(0);
}
40% {
transform: translateX(-50%) translateY(-10px);
}
60% {
transform: translateX(-50%) translateY(-5px);
}
}
/* Button Hover Effects */
.btn-primary:hover {
transform: translateY(-3px) scale(1.05);
box-shadow: 0 20px 40px rgba(102, 126, 234, 0.4);
}
.btn-secondary:hover {
transform: translateY(-3px) scale(1.05);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
/* Stat Card Animations */
.stat-card {
backdrop-filter: blur(20px);
background: rgba(0, 0, 0, 0.3);
border: 1px solid rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
}
.stat-card:hover {
background: rgba(0, 0, 0, 0.5);
border-color: rgba(139, 92, 246, 0.3);
box-shadow: 0 10px 30px rgba(139, 92, 246, 0.2);
}
/* Responsive Adjustments */
@media (max-width: 768px) {
.hero-title {
font-size: 4rem;
}
.hero-subtitle {
font-size: 1.25rem;
}
.particle {
width: 2px;
height: 2px;
}
}
/* Performance Optimizations */
.parallax-layer,
.particle,
.hero-content {
will-change: transform;
}
/* Smooth Scrolling */
html {
scroll-behavior: smooth;
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1);
}
::-webkit-scrollbar-thumb {
background: linear-gradient(135deg, rgba(139, 92, 246, 0.8), rgba(59, 130, 246, 0.8));
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(135deg, rgba(139, 92, 246, 1), rgba(59, 130, 246, 1));
}
/* Enh
anced Glassmorphic Search Bar */
.search-container {
position: relative;
}
.search-container::before {
content: '';
position: absolute;
top: -2px;
left: -2px;
right: -2px;
bottom: -2px;
background: linear-gradient(45deg,
rgba(102, 126, 234, 0.3),
rgba(139, 92, 246, 0.3),
rgba(59, 130, 246, 0.3)
);
border-radius: 18px;
opacity: 0;
transition: opacity 0.3s ease;
z-index: -1;
}
.search-container:focus-within::before {
opacity: 1;
}
/* Glassmorphic Reveal Animation */
@keyframes glassReveal {
0% {
opacity: 0;
backdrop-filter: blur(0px);
transform: scale(0.95);
}
100% {
opacity: 1;
backdrop-filter: blur(20px);
transform: scale(1);
}
}
.glass-reveal {
animation: glassReveal 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
/* Enhanced Search Results Dropdown */
.search-results {
background: rgba(0, 0, 0, 0.85);
backdrop-filter: blur(40px);
border: 1px solid rgba(255, 255, 255, 0.1);
box-shadow:
0 20px 60px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(255, 255, 255, 0.05);
}
/* Floating Search Bar Effect */
.search-floating {
position: relative;
}
.search-floating::after {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
padding: 1px;
background: linear-gradient(45deg,
rgba(102, 126, 234, 0.4),
rgba(139, 92, 246, 0.4)
);
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask-composite: exclude;
opacity: 0;
transition: opacity 0.3s ease;
}
.search-floating:focus-within::after {
opacity: 1;
}
/* Smooth Hover Transitions */
.nav-icon {
will-change: transform, background-color, border-color;
}
.nav-icon::before {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
background: rgba(255, 255, 255, 0.05);
opacity: 0;
transition: opacity 0.3s ease;
}
.nav-icon:hover::before {
opacity: 1;
}
/* Pulse Animation for Cart Badge */
@keyframes cartPulse {
0%, 100% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.1);
opacity: 0.8;
}
}
.cart-badge {
animation: cartPulse 2s ease-in-out infinite;
}
/* Enhanced Mobile Menu */
.mobile-menu {
background: rgba(0, 0, 0, 0.95);
backdrop-filter: blur(30px);
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Responsive Improvements */
@media (max-width: 768px) {
.glass-nav {
backdrop-filter: blur(20px);
}
.nav-icon {
min-width: 40px;
min-height: 40px;
padding: 10px;
}
}
/* Performance Optimizations */
.glass-nav,
.nav-icon,
.search-container {
will-change: transform, background-color, backdrop-filter;
}
/* Accessibility Improvements */
.nav-icon:focus {
outline: 2px solid rgba(102, 126, 234, 0.6);
outline-offset: 2px;
}
/* Dark Mode Enhancements */
@media (prefers-color-scheme: dark) {
.glass-nav {
background: rgba(0, 0, 0, 0.3);
}
.nav-icon {
background: rgba(255, 255, 255, 0.03);
}
}
/* Fix search bar positioning on home page - direct targeting */
.search-container.search-floating {
margin-left: -1.5rem !important;
transform: translateX(-0.75rem) !important;
}
/* Remove the weird blue box/border effect */
.search-container::before {
display: none !important;
opacity: 0 !important;
}
.search-container:focus-within::before {
display: none !important;
opacity: 0 !important;
}
/* Alternative approach - target the parent container */
.glass-nav .flex-1 {
padding-left: 1.5rem !important;
padding-right: 2.5rem !important;
}
/* Target the search input directly */
.search-container input[placeholder*="Search"] {
margin-left: -1rem !important;
}
/* Clean and simple search bar */
.search-container input:focus {
outline: none !important;
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3) !important;
border-color: rgba(255, 255, 255, 0.3) !important;
background: rgba(0, 0, 0, 0.6) !important;
}
.search-container input:hover {
border-color: rgba(255, 255, 255, 0.2) !important;
background: rgba(0, 0, 0, 0.5) !important;
}
.search-container input {
transition: all 0.2s ease !important;
}
/* Remove all pseudo-elements */
.search-container.search-floating::after,
.search-container.search-floating::before {
display: none !important;
}
/* Mobile responsive fix */
@media (max-width: 768px) {
.search-container.search-floating {
margin-left: -0.75rem !important;
transform: translateX(-0.5rem) !important;
}
.glass-nav .flex-1 {
padding-left: 1rem !important;
padding-right: 1.5rem !important;
}
}/
* Fix search bar alignment for different authentication states */
.search-center-container {
transform: translateX(0);
transition: transform 0.3s ease;
}
/* When user is signed in, move search bar RIGHT (less content on right side) */
body:has(.nav-icon.user-menu) .search-center-container {
transform: translateX(1.5rem);
}
/* When logged out, keep current position (more content on right side with 2 buttons) */
body:has(a[href*="login"]) .search-center-container {
transform: translateX(0);
}
/* Mobile responsive fix for search alignment */
@media (max-width: 768px) {
.search-center-container {
transform: translateX(0) !important;
}
body:has(.nav-icon.user-menu) .search-center-container {
transform: translateX(0.5rem) !important;
}
}