ecom / client /src /index.css
shashwatIDR's picture
Upload 147 files
b89a86e verified
@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
/* Modern pastel-inspired color palette */
--background: hsl(240 20% 98%);
--foreground: hsl(240 10% 20%);
--card: hsl(0 0% 100%);
--card-foreground: hsl(240 10% 20%);
--popover: hsl(0 0% 100%);
--popover-foreground: hsl(240 10% 20%);
--primary: hsl(250 60% 65%); /* Modern purple */
--primary-foreground: hsl(0 0% 100%);
--secondary: hsl(200 80% 80%); /* Soft blue */
--secondary-foreground: hsl(240 10% 20%);
--muted: hsl(240 10% 96%);
--muted-foreground: hsl(240 5% 60%);
--accent: hsl(250 100% 98%); /* Very light purple */
--accent-foreground: hsl(240 10% 20%);
--destructive: hsl(0 70% 70%);
--destructive-foreground: hsl(0 0% 100%);
--border: hsl(240 10% 92%);
--input: hsl(0 0% 100%);
--ring: hsl(250 60% 65%);
--chart-1: hsl(250 60% 65%);
--chart-2: hsl(200 80% 80%);
--chart-3: hsl(320 70% 80%);
--chart-4: hsl(150 60% 75%);
--chart-5: hsl(40 80% 75%);
--sidebar: hsl(0 0% 100%);
--sidebar-foreground: hsl(240 10% 20%);
--sidebar-primary: hsl(250 60% 65%);
--sidebar-primary-foreground: hsl(0 0% 100%);
--sidebar-accent: hsl(250 100% 98%);
--sidebar-accent-foreground: hsl(240 10% 20%);
--sidebar-border: hsl(240 10% 92%);
--sidebar-ring: hsl(250 60% 65%);
--font-sans: "Amazon Ember", Arial, sans-serif;
--font-serif: Georgia, serif;
--font-mono: "Courier New", monospace;
--radius: 0.375rem; /* Amazon uses smaller radius */
--shadow-2xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
--tracking-normal: 0em;
--spacing: 0.25rem;
--gradient-primary: linear-gradient(135deg, hsl(26 100% 55%) 0%, hsl(35 100% 60%) 100%);
--gradient-secondary: linear-gradient(135deg, hsl(199 89% 48%) 0%, hsl(210 100% 60%) 100%);
--gradient-hero: linear-gradient(135deg, hsl(200 100% 95%) 0%, hsl(36 100% 96%) 50%, hsl(26 100% 98%) 100%);
--amazon-navy: hsl(210 29% 24%); /* Amazon dark blue */
--amazon-light-blue: hsl(195 100% 95%);
--amazon-gray: hsl(0 0% 55%);
--amazon-light-gray: hsl(0 0% 95%);
}
/* Mobile bottom navigation safe areas and spacing */
@supports (padding: max(0px)) {
.safe-area-pb {
padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
}
.h-safe-area-inset-bottom {
height: env(safe-area-inset-bottom);
}
}
/* Add padding to prevent overlap with fixed header and mobile bottom nav */
body {
padding-top: 76px; /* Reduced header padding */
}
@media (max-width: 768px) {
body {
padding-bottom: 80px; /* Height of bottom navigation */
}
}
.dark {
/* Dark mode with glassy theme */
--background: linear-gradient(135deg, hsl(240 30% 10%) 0%, hsl(250 25% 12%) 100%);
--foreground: hsl(240 10% 90%);
--card: hsla(240 20% 15% / 0.8);
--card-foreground: hsl(240 10% 90%);
--popover: hsla(240 20% 10% / 0.95);
--popover-foreground: hsl(240 10% 90%);
--primary: hsl(250 60% 60%);
--primary-foreground: hsl(240 20% 10%);
--secondary: hsl(260 45% 40%);
--secondary-foreground: hsl(240 10% 90%);
--muted: hsla(240 10% 20% / 0.8);
--muted-foreground: hsl(240 10% 60%);
--accent: hsla(250 60% 20% / 0.9);
--accent-foreground: hsl(250 60% 80%);
--destructive: hsl(0 70% 55%);
--destructive-foreground: hsl(0 0% 100%);
--border: hsla(240 20% 30% / 0.6);
--input: hsla(240 20% 15% / 0.8);
--ring: hsl(250 60% 60%);
--chart-1: hsl(250 60% 60%);
--chart-2: hsl(260 55% 65%);
--chart-3: hsl(270 50% 70%);
--chart-4: hsl(240 65% 55%);
--chart-5: hsl(280 45% 65%);
--sidebar: hsla(240 20% 15% / 0.8);
--sidebar-foreground: hsl(240 10% 90%);
--sidebar-primary: hsl(250 60% 60%);
--sidebar-primary-foreground: hsl(240 20% 10%);
--sidebar-accent: hsla(250 60% 20% / 0.9);
--sidebar-accent-foreground: hsl(250 60% 80%);
--sidebar-border: hsla(240 20% 30% / 0.6);
--sidebar-ring: hsl(250 60% 60%);
--font-sans: 'Inter', system-ui, sans-serif;
--font-serif: Georgia, serif;
--font-mono: 'JetBrains Mono', monospace;
--radius: 1rem;
--shadow-2xs: 0px 1px 2px 0px hsla(250 60% 60% / 0.1);
--shadow-xs: 0px 1px 3px 0px hsla(250 60% 60% / 0.1), 0px 1px 2px 0px hsla(250 60% 60% / 0.06);
--shadow-sm: 0px 1px 3px 0px hsla(250 60% 60% / 0.1), 0px 1px 2px 0px hsla(250 60% 60% / 0.06);
--shadow: 0px 4px 6px -1px hsla(250 60% 60% / 0.1), 0px 2px 4px -1px hsla(250 60% 60% / 0.06);
--shadow-md: 0px 10px 15px -3px hsla(250 60% 60% / 0.1), 0px 4px 6px -2px hsla(250 60% 60% / 0.05);
--shadow-lg: 0px 20px 25px -5px hsla(250 60% 60% / 0.1), 0px 10px 10px -5px hsla(250 60% 60% / 0.04);
--shadow-xl: 0px 25px 50px -12px hsla(250 60% 60% / 0.25);
--shadow-2xl: 0px 25px 50px -12px hsla(250 60% 60% / 0.25);
--gradient-primary: linear-gradient(135deg, hsl(250 60% 60%) 0%, hsl(260 55% 65%) 100%);
--gradient-secondary: linear-gradient(135deg, hsl(240 30% 15%) 0%, hsl(250 25% 17%) 100%);
--glass-bg: hsla(240 20% 15% / 0.1);
--glass-border: hsla(240 20% 30% / 0.2);
--glass-backdrop: blur(15px);
}
/* Dark mode glass overrides for better visibility */
.dark .glass-card {
background: rgb(255, 255, 255);
backdrop-filter: none;
border: 1px solid rgb(0, 0, 0);
}
.dark .glass-strong {
background: rgba(15, 23, 42, 0.98);
backdrop-filter: blur(15px);
border: 1px solid rgba(148, 163, 184, 0.3);
}
.dark .glass-hero {
background: rgba(30, 41, 59, 0.92);
backdrop-filter: blur(20px);
border: 1px solid rgba(148, 163, 184, 0.2);
}
@layer base {
* {
@apply border-border;
}
body {
@apply font-sans antialiased text-foreground;
background: var(--background);
min-height: 100vh;
}
}
@layer components {
/* Enhanced Glass morphism utility classes */
.glass {
background: var(--glass-bg);
backdrop-filter: var(--glass-backdrop);
border: 1px solid var(--glass-border);
box-shadow: var(--shadow);
}
.glass-card {
background: white;
border: 1px solid var(--border);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
transition: all 0.2s ease;
}
.glass-card:hover {
box-shadow: var(--shadow-md);
transform: translateY(-1px);
}
.glass-strong {
background: rgba(255, 255, 255, 0.98);
backdrop-filter: blur(15px);
border: 1px solid rgba(255, 255, 255, 0.3);
box-shadow: var(--shadow-xl);
}
.glass-hero {
background: rgba(255, 255, 255, 0.92);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.4);
box-shadow: var(--shadow-2xl);
}
/* Loading spinner */
.spinner {
width: 20px;
height: 20px;
border: 2px solid transparent;
border-top: 2px solid currentColor;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
/* Amazon-style page backgrounds */
.page-gradient {
background: var(--background);
}
.amazon-header {
background: var(--amazon-navy);
color: white;
}
.amazon-banner {
background: var(--gradient-hero);
}
.amazon-card {
background: white;
border: 1px solid var(--border);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
transition: all 0.2s ease;
}
.amazon-card:hover {
box-shadow: var(--shadow-md);
transform: translateY(-1px);
}
.amazon-button {
background: var(--primary);
color: var(--primary-foreground);
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: var(--radius);
font-weight: 400;
transition: all 0.15s ease;
}
.amazon-button:hover {
background: hsl(26 100% 50%);
box-shadow: var(--shadow);
}
.amazon-section {
background: var(--amazon-light-gray);
border-bottom: 1px solid var(--border);
}
/* Hide scrollbars */
.scrollbar-hide {
-ms-overflow-style: none; /* Internet Explorer 10+ */
scrollbar-width: none; /* Firefox */
}
.scrollbar-hide::-webkit-scrollbar {
display: none; /* Safari and Chrome */
}
}