/* ═══════════════════════════════════════════════════════════════════════════ CARD COMPONENT STYLES - FUSION DESIGN SYSTEM 5 Variants: Default, Manga, Neon, Nature, Elevated ═══════════════════════════════════════════════════════════════════════════ */ .card-veza { position: relative; background: var(--veza-graphite); border-radius: var(--radius-lg); overflow: hidden; transition: all var(--duration-normal) var(--ease-out); } /* ───────────────────────────────────────────────────────────────────────── VARIANT: DEFAULT (Dark Cyber) ───────────────────────────────────────────────────────────────────────── */ .card-veza--default { border: 1px solid var(--veza-steel); } .card-veza--default:hover { border-color: var(--veza-cyan); transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3), 0 0 30px rgba(0, 255, 247, 0.1); } /* ───────────────────────────────────────────────────────────────────────── VARIANT: MANGA (Speed Lines Effect) ───────────────────────────────────────────────────────────────────────── */ .card-veza--manga { clip-path: var(--clip-manga-lg); border: 2px solid var(--veza-lavender); background: linear-gradient( 135deg, var(--veza-graphite) 0%, var(--veza-slate) 100% ); } .card-veza--manga::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--gradient-space); } .card-veza--manga::after { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient( 45deg, transparent, transparent 10px, rgba(138, 126, 164, 0.03) 10px, rgba(138, 126, 164, 0.03) 20px ); pointer-events: none; } .card-veza--manga:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4); } /* ───────────────────────────────────────────────────────────────────────── VARIANT: NEON (Glowing Borders) ───────────────────────────────────────────────────────────────────────── */ .card-veza--neon { background: radial-gradient(circle at 0 0, rgba(102, 252, 241, 0.16), transparent 55%), radial-gradient( circle at 100% 100%, rgba(138, 126, 164, 0.18), transparent 60% ), var(--veza-surface); border: 1px solid rgba(102, 252, 241, 0.2); box-shadow: var(--shadow-card); } .card-veza--neon:hover { border-color: var(--veza-spectral-cyan); box-shadow: 0 0 40px rgba(102, 252, 241, 0.3), var(--shadow-card); transform: translateY(-4px); } .card-veza--neon::before { content: ''; position: absolute; inset: 0; background: linear-gradient( 135deg, transparent, rgba(102, 252, 241, 0.05), transparent ); opacity: 0; transition: opacity var(--duration-normal) var(--ease-out); } .card-veza--neon:hover::before { opacity: 1; } /* ───────────────────────────────────────────────────────────────────────── VARIANT: NATURE (Organic/Botanical) ───────────────────────────────────────────────────────────────────────── */ .card-veza--nature { background: var(--veza-cream); border: 1px solid var(--veza-linen); border-radius: var(--radius-xl); } .dark .card-veza--nature { background: linear-gradient( 135deg, var(--veza-graphite) 0%, var(--veza-moss-deep) 100% ); border-color: var(--veza-moss); } .card-veza--nature:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); transform: translateY(-2px); } .dark .card-veza--nature:hover { box-shadow: 0 8px 24px rgba(45, 90, 61, 0.3); } /* ───────────────────────────────────────────────────────────────────────── VARIANT: ELEVATED (Floating) ───────────────────────────────────────────────────────────────────────── */ .card-veza--elevated { background: var(--veza-paper); box-shadow: var(--shadow-md); border: 1px solid var(--veza-linen); } .dark .card-veza--elevated { background: var(--veza-slate); border-color: var(--veza-steel); } .card-veza--elevated:hover { box-shadow: var(--shadow-lg); transform: translateY(-6px); } /* ───────────────────────────────────────────────────────────────────────── VARIANT: GLASS (Glassmorphism) ───────────────────────────────────────────────────────────────────────── */ .card-veza--glass { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(20px) saturate(180%); border: 1px solid rgba(255, 255, 255, 0.1); } .dark .card-veza--glass { background: rgba(18, 18, 18, 0.85); } .card-veza--glass:hover { background: rgba(255, 255, 255, 0.95); box-shadow: var(--shadow-md); } .dark .card-veza--glass:hover { background: rgba(18, 18, 18, 0.95); } /* ───────────────────────────────────────────────────────────────────────── CARD STRUCTURE ───────────────────────────────────────────────────────────────────────── */ .card-veza__header { padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--veza-steel); display: flex; align-items: center; justify-content: space-between; } .dark .card-veza__header { border-bottom-color: var(--veza-slate); } .card-veza--nature .card-veza__header { border-bottom-color: var(--veza-linen); } .card-veza__title { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 600; color: var(--veza-white); } .dark .card-veza__title { color: var(--veza-text); } .card-veza--nature .card-veza__title { font-family: var(--font-serif); color: var(--veza-text); } .card-veza__body { padding: var(--space-5); } .card-veza__footer { padding: var(--space-4) var(--space-5); border-top: 1px solid var(--veza-steel); background: var(--veza-ink); } .dark .card-veza__footer { background: var(--veza-void); border-top-color: var(--veza-slate); } .card-veza--nature .card-veza__footer { background: var(--veza-paper); border-top-color: var(--veza-linen); } /* ───────────────────────────────────────────────────────────────────────── CARD MODIFIERS ───────────────────────────────────────────────────────────────────────── */ .card-veza--interactive { cursor: pointer; } .card-veza--compact .card-veza__header, .card-veza--compact .card-veza__body, .card-veza--compact .card-veza__footer { padding: var(--space-3) var(--space-4); } .card-veza--spacious .card-veza__header, .card-veza--spacious .card-veza__body, .card-veza--spacious .card-veza__footer { padding: var(--space-6) var(--space-8); } /* Borderless variant */ .card-veza--borderless { border: none; } /* Flat variant (no hover effects) */ .card-veza--flat:hover { transform: none; box-shadow: none; }