/* 🐾 Furry Shop Theme - Modern & Playful */ :root { /* Primary Colors */ --furry-primary: #8B5CF6; --furry-primary-light: #A78BFA; --furry-primary-dark: #7C3AED; /* Secondary Colors */ --furry-secondary: #EC4899; --furry-secondary-light: #F472B6; --furry-secondary-dark: #DB2777; /* Accent Colors */ --furry-accent: #14B8A6; --furry-accent-light: #2DD4BF; --furry-accent-dark: #0D9488; /* Warning Colors */ --furry-warning: #F59E0B; --furry-warning-light: #FBBF24; --furry-warning-dark: #D97706; /* Success Colors */ --furry-success: #10B981; --furry-success-light: #34D399; --furry-success-dark: #059669; /* Neutral Colors */ --furry-bg: #f8fafc; --furry-bg-secondary: #f1f5f9; --furry-text: #22223b; --furry-text-secondary: #64748b; --furry-border: #e2e8f0; --furry-card-bg: #ffffff; --furry-shadow: rgba(139, 92, 246, 0.1); --furry-shadow-hover: rgba(139, 92, 246, 0.2); /* Furry Color Palette */ --primary-purple: #8B5CF6; /* Lebendiges Lila */ --secondary-pink: #EC4899; /* Warmes Pink */ --accent-orange: #F59E0B; /* Sonniges Orange */ --accent-teal: #14B8A6; /* Frisches TΓΌrkis */ --accent-yellow: #FCD34D; /* Helles Gelb */ /* Neutrals */ --furry-white: #FEFEFE; --furry-gray-50: #F9FAFB; --furry-gray-100: #F3F4F6; --furry-gray-200: #E5E7EB; --furry-gray-300: #D1D5DB; --furry-gray-400: #9CA3AF; --furry-gray-500: #6B7280; --furry-gray-600: #4B5563; --furry-gray-700: #374151; --furry-gray-800: #1F2937; --furry-gray-900: #111827; /* Gradients */ --gradient-primary: linear-gradient(135deg, var(--primary-purple), var(--secondary-pink)); --gradient-secondary: linear-gradient(135deg, var(--accent-orange), var(--accent-yellow)); --gradient-accent: linear-gradient(135deg, var(--accent-teal), var(--accent-orange)); /* Shadows */ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --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); /* Border Radius */ --radius-sm: 0.5rem; --radius-md: 1rem; --radius-lg: 1.5rem; --radius-xl: 2rem; /* Spacing */ --space-xs: 0.25rem; --space-sm: 0.5rem; --space-md: 1rem; --space-lg: 1.5rem; --space-xl: 2rem; --space-2xl: 3rem; } /* 🎨 Base Styles */ * { box-sizing: border-box; } body { font-family: 'Inter', 'Segoe UI', system-ui, sans-serif; background: var(--furry-gray-50); color: var(--furry-gray-800); line-height: 1.6; margin: 0; padding: 0; } /* 🐾 Furry Header */ .furry-header { background: var(--gradient-primary); padding: var(--space-lg) 0; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; } .furry-header::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url('data:image/svg+xml,'); opacity: 0.3; } .furry-nav { display: flex; justify-content: space-between; align-items: center; max-width: 1200px; margin: 0 auto; padding: 0 var(--space-lg); position: relative; z-index: 10; } .furry-logo { font-size: 2rem; font-weight: 800; color: white; text-decoration: none; display: flex; align-items: center; gap: var(--space-sm); } .furry-logo::before { content: '🐾'; font-size: 2.5rem; } .furry-nav-links { display: flex; gap: var(--space-lg); list-style: none; margin: 0; padding: 0; } .furry-nav-link { color: white; text-decoration: none; font-weight: 500; padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); transition: all 0.3s ease; position: relative; } .furry-nav-link:hover { background: rgba(255, 255, 255, 0.2); transform: translateY(-2px); } /* 🎯 Furry Cards */ .furry-card { background: var(--furry-card-bg); border-radius: 1rem; box-shadow: 0 4px 6px var(--furry-shadow); padding: 1.5rem; transition: all 0.3s ease; border: 1px solid var(--furry-border); position: relative; overflow: hidden; } .furry-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--furry-primary) 0%, var(--furry-secondary) 100%); opacity: 0; transition: opacity 0.3s ease; } .furry-card:hover { transform: translateY(-4px); box-shadow: 0 8px 25px var(--furry-shadow-hover); } .furry-card:hover::before { opacity: 1; } .furry-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--furry-border); } .furry-card-title { font-size: 1.25rem; font-weight: 700; color: var(--furry-text); margin: 0; } .furry-card-subtitle { font-size: 0.875rem; color: var(--furry-text-secondary); margin: 0.25rem 0 0 0; } .furry-card-content { color: var(--furry-text); line-height: 1.6; } .furry-card-footer { margin-top: 1rem; padding-top: 0.5rem; border-top: 1px solid var(--furry-border); display: flex; justify-content: space-between; align-items: center; } /* Product Card Variant */ .furry-product-card { display: flex; flex-direction: column; height: 100%; } .furry-product-card .furry-card-image { width: 100%; height: 200px; object-fit: cover; border-radius: 0.5rem; margin-bottom: 1rem; transition: transform 0.3s ease; } .furry-product-card:hover .furry-card-image { transform: scale(1.05); } .furry-product-price { font-size: 1.5rem; font-weight: 900; color: var(--furry-primary); margin: 0.5rem 0; } .furry-product-badge { background: linear-gradient(90deg, var(--furry-accent) 0%, var(--furry-warning) 100%); color: white; padding: 0.25rem 0.75rem; border-radius: 1rem; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; } /* 🎨 Furry Buttons */ .furry-btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.75rem 1.5rem; border-radius: 0.75rem; font-weight: 600; font-size: 0.875rem; text-decoration: none; border: none; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; white-space: nowrap; gap: 0.5rem; } .furry-btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: left 0.5s ease; } .furry-btn:hover::before { left: 100%; } .furry-btn-primary { background: linear-gradient(90deg, var(--furry-primary) 0%, var(--furry-secondary) 100%); color: white; box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3); } .furry-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(139, 92, 246, 0.4); } .furry-btn-secondary { background: linear-gradient(90deg, var(--furry-accent) 0%, var(--furry-warning) 100%); color: white; box-shadow: 0 4px 12px rgba(20, 184, 166, 0.3); } .furry-btn-secondary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(20, 184, 166, 0.4); } .furry-btn-outline { background: transparent; color: var(--furry-primary); border: 2px solid var(--furry-primary); } .furry-btn-outline:hover { background: var(--furry-primary); color: white; transform: translateY(-2px); } .furry-btn-ghost { background: transparent; color: var(--furry-text); border: 1px solid var(--furry-border); } .furry-btn-ghost:hover { background: var(--furry-bg-secondary); border-color: var(--furry-primary); } .furry-btn-sm { padding: 0.5rem 1rem; font-size: 0.75rem; } .furry-btn-lg { padding: 1rem 2rem; font-size: 1rem; } .furry-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none !important; } /* πŸŽͺ Furry Forms */ .furry-form-group { margin-bottom: 1.5rem; } .furry-label { display: block; font-weight: 600; color: var(--furry-text); margin-bottom: 0.5rem; font-size: 0.875rem; } .furry-input { width: 100%; padding: 0.75rem 1rem; border: 2px solid var(--furry-border); border-radius: 0.75rem; background: var(--furry-card-bg); color: var(--furry-text); font-size: 0.875rem; transition: all 0.3s ease; } .furry-input:focus { outline: none; border-color: var(--furry-primary); box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1); } .furry-input:invalid { border-color: var(--furry-secondary); } .furry-textarea { min-height: 100px; resize: vertical; } .furry-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e"); background-position: right 0.5rem center; background-repeat: no-repeat; background-size: 1.5em 1.5em; padding-right: 2.5rem; } /* 🎭 Furry Alerts */ .furry-alert { padding: 1rem 1.5rem; border-radius: 0.75rem; border-left: 4px solid; margin-bottom: 1rem; display: flex; align-items: flex-start; gap: 0.75rem; } .furry-alert-icon { font-size: 1.25rem; flex-shrink: 0; } .furry-alert-content { flex: 1; } .furry-alert-title { font-weight: 600; margin-bottom: 0.25rem; } .furry-alert-message { margin: 0; font-size: 0.875rem; } .furry-alert-info { background: rgba(139, 92, 246, 0.1); border-left-color: var(--furry-primary); color: var(--furry-primary-dark); } .furry-alert-success { background: rgba(16, 185, 129, 0.1); border-left-color: var(--furry-success); color: var(--furry-success-dark); } .furry-alert-warning { background: rgba(245, 158, 11, 0.1); border-left-color: var(--furry-warning); color: var(--furry-warning-dark); } .furry-alert-error { background: rgba(239, 68, 68, 0.1); border-left-color: #ef4444; color: #dc2626; } /* 🎨 Furry Tables */ .furry-table { width: 100%; border-collapse: collapse; background: var(--furry-card-bg); border-radius: 0.75rem; overflow: hidden; box-shadow: 0 4px 6px var(--furry-shadow); } .furry-table th { background: var(--furry-bg-secondary); color: var(--furry-text); font-weight: 600; text-align: left; padding: 1rem; border-bottom: 1px solid var(--furry-border); } .furry-table td { padding: 1rem; border-bottom: 1px solid var(--furry-border); color: var(--furry-text); } .furry-table tr:hover { background: var(--furry-bg-secondary); } .furry-table tr:last-child td { border-bottom: none; } /* πŸŽͺ Furry Modals */ .furry-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; opacity: 0; visibility: hidden; transition: all 0.3s ease; } .furry-modal.active { opacity: 1; visibility: visible; } .furry-modal-content { background: var(--furry-card-bg); border-radius: 1rem; padding: 2rem; max-width: 500px; width: 90%; max-height: 90vh; overflow-y: auto; transform: scale(0.9); transition: transform 0.3s ease; } .furry-modal.active .furry-modal-content { transform: scale(1); } .furry-modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--furry-border); } .furry-modal-title { font-size: 1.5rem; font-weight: 700; color: var(--furry-text); margin: 0; } .furry-modal-close { background: none; border: none; font-size: 1.5rem; cursor: pointer; color: var(--furry-text-secondary); padding: 0.5rem; border-radius: 0.5rem; transition: all 0.2s ease; } .furry-modal-close:hover { background: var(--furry-bg-secondary); color: var(--furry-text); } /* 🎭 Furry Loading */ .furry-loading { display: inline-block; width: 20px; height: 20px; border: 2px solid var(--furry-border); border-radius: 50%; border-top-color: var(--furry-primary); animation: furry-spin 1s ease-in-out infinite; } @keyframes furry-spin { to { transform: rotate(360deg); } } .furry-loading-lg { width: 40px; height: 40px; border-width: 3px; } .furry-loading-sm { width: 16px; height: 16px; border-width: 1px; } .furry-skeleton { background: linear-gradient(90deg, var(--furry-border) 25%, var(--furry-bg-secondary) 50%, var(--furry-border) 75%); background-size: 200% 100%; animation: furry-skeleton-loading 1.5s infinite; border-radius: 0.25rem; } @keyframes furry-skeleton-loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } /* 🎨 Responsive Design */ @media (max-width: 768px) { .furry-nav { flex-direction: column; gap: var(--space-lg); } .furry-nav-links { flex-wrap: wrap; justify-content: center; } .furry-card { padding: 1rem; border-radius: 0.75rem; } .furry-btn { padding: 0.625rem 1.25rem; font-size: 0.8rem; } .furry-modal-content { padding: 1.5rem; margin: 1rem; } .furry-table { font-size: 0.875rem; } .furry-table th, .furry-table td { padding: 0.75rem 0.5rem; } } /* 🎭 Dark Mode Support */ @media (prefers-color-scheme: dark) { :root { --furry-white: #1F2937; --furry-gray-50: #111827; --furry-gray-100: #1F2937; --furry-gray-200: #374151; --furry-gray-300: #4B5563; --furry-gray-400: #6B7280; --furry-gray-500: #9CA3AF; --furry-gray-600: #D1D5DB; --furry-gray-700: #E5E7EB; --furry-gray-800: #F3F4F6; --furry-gray-900: #F9FAFB; } body { background: var(--furry-gray-50); color: var(--furry-gray-800); } .furry-card { background: var(--furry-gray-100); color: var(--furry-gray-800); } .furry-input { background: var(--furry-gray-100); color: var(--furry-gray-800); border-color: var(--furry-gray-300); } .furry-table { background: var(--furry-gray-100); } .furry-table td { border-bottom-color: var(--furry-gray-300); } .furry-table tr:hover td { background: var(--furry-gray-200); } } /* ===== ACCESSIBILITY ===== */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } } /* ===== PRINT STYLES ===== */ @media print { .furry-card { box-shadow: none; border: 1px solid #000; } .furry-btn { border: 1px solid #000; background: none !important; color: #000 !important; } }