@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --font-sans: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; --font-display: 'Outfit', var(--font-sans); --color-luxury-deep: #0f172a; --color-luxury-card: #1e293b; --color-accent: #06b6d4; /* Cyan 500 */ } html { font-family: var(--font-sans); } h1, h2, h3, h4, h5, h6, .font-display { font-family: var(--font-display); letter-spacing: -0.02em; } /* Luxury Cards */ .luxury-card { @apply bg-white dark:bg-[#1e293b] border-0; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05); transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1); } .luxury-card:hover { transform: translateY(-2px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.08); } /* Luxury Gradient Accents */ .bg-luxury-gradient { background: linear-gradient(135deg, var(--color-accent), #6366f1); } /* Animations */ @keyframes fadeUp { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } } .animate-luxury-in { animation: fadeUp 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; } /* Custom Scrollbar - Minimal & Elegant */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 10px; } .dark ::-webkit-scrollbar-thumb { background: #334155; } ::-webkit-scrollbar-thumb:hover { background: #64748b; } /* Firefox */ * { scrollbar-width: thin; scrollbar-color: #94a3b8 transparent; } } @layer utilities { [x-cloak] { display: none !important; } } @layer components { .luxury-nav-item { @apply flex items-center gap-x-3.5 py-2.5 px-4 text-sm font-medium rounded-xl transition-all duration-200; @apply text-slate-500 hover:text-slate-900 hover:bg-slate-100; @apply dark:text-slate-400 dark:hover:text-white dark:hover:bg-white/5; } .luxury-nav-item.active { @apply bg-slate-100 text-slate-900; @apply dark:bg-white/10 dark:text-white; position: relative; } .luxury-nav-item.active::before { content: ""; @apply absolute left-0 w-1 h-5 bg-cyan-500 rounded-full; box-shadow: 0 0 8px rgba(6, 182, 212, 0.5); } /* Submenu styling */ .luxury-submenu { @apply mt-2 space-y-1 ps-4 border-l border-slate-200 ms-4; @apply dark:border-white/10; } /* Luxury Buttons */ .btn-luxury-primary { @apply inline-flex items-center justify-center gap-x-2 px-4 py-2.5 text-sm font-semibold rounded-xl text-white transition-all duration-200; background: linear-gradient(135deg, #06b6d4, #3b82f6); box-shadow: 0 4px 12px -2px rgba(6, 182, 212, 0.3); } .btn-luxury-primary:hover { @apply -translate-y-0.5; box-shadow: 0 8px 20px -4px rgba(6, 182, 212, 0.4); filter: brightness(1.1); } .btn-luxury-primary:active { @apply translate-y-0 scale-[0.98]; } .btn-luxury-secondary { @apply inline-flex items-center justify-center gap-x-2 px-3 py-2 text-sm font-semibold rounded-xl transition-all duration-200; @apply bg-white text-slate-700 border border-slate-200 shadow-sm; @apply dark:bg-slate-800 dark:text-white dark:border-slate-700; } .btn-luxury-secondary:hover { @apply bg-slate-50 border-slate-300 -translate-y-0.5 shadow-md; @apply dark:bg-slate-700/50 dark:border-slate-600; } .btn-luxury-ghost { @apply inline-flex items-center justify-center gap-x-2 px-4 py-2 text-sm font-bold rounded-xl transition-all duration-200; @apply text-slate-500 hover:bg-slate-100 hover:text-slate-900; @apply dark:text-slate-300 dark:hover:bg-white/10 dark:hover:text-cyan-400; } }