/* Custom Styles for ZenFlow Harmony Studio */ /* Smooth Scrolling */ html { scroll-behavior: smooth; } /* Custom Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .animate-fadeInUp { animation: fadeInUp 0.6s ease-out; } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: #1f2937; } ::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: #6b7280; } /* Selection Color */ ::selection { background-color: rgba(14, 165, 233, 0.3); color: #ffffff; } /* Focus Styles */ .focus-visible { outline: 2px solid #0ea5e9; outline-offset: 2px; } /* Smooth Transitions */ .transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 300ms; } /* Glass Effect */ .glass-effect { background: rgba(31, 41, 55, 0.7); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); } /* Gradient Text */ .gradient-text { background: linear-gradient(135deg, #0ea5e9 0%, #ec4899 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Custom Shadows */ .shadow-glow { box-shadow: 0 0 30px rgba(14, 165, 233, 0.2); } /* Page Load Animation */ .page-load { opacity: 0; animation: fadeInUp 0.8s ease-out forwards; } /* Responsive Typography */ @media (max-width: 768px) { .text-responsive { font-size: calc(1.5rem + 1vw); } } /* Custom Form Styling */ .form-input:focus { box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1); } /* Table Responsive */ @media (max-width: 768px) { .table-responsive { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; } } /* Image Hover Effects */ .img-hover-zoom { overflow: hidden; } .img-hover-zoom img { transition: transform 0.5s ease; } .img-hover-zoom:hover img { transform: scale(1.1); } /* Loading Spinner */ .spinner { border: 3px solid rgba(255, 255, 255, 0.1); border-radius: 50%; border-top: 3px solid #0ea5e9; width: 40px; height: 40px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Card Hover Effects */ .card-hover { transition: all 0.3s ease; } .card-hover:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); } /* Section Spacing */ .section-padding { padding-top: 5rem; padding-bottom: 5rem; } @media (max-width: 768px) { .section-padding { padding-top: 3rem; padding-bottom: 3rem; } }