/* Base Styles & Variables */ :root { --bg-color: #0F0A1E; --primary-color: #8B5CF6; --primary-dark: #6D28D9; --primary-light: #A78BFA; --secondary-color: #F472B6; --text-color: #E2E8F0; --text-muted: #94A3B8; --glass-bg: rgba(15, 10, 30, 0.7); --glass-border: rgba(139, 92, 246, 0.2); --card-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); --transition-slow: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); --transition-medium: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); --transition-fast: all 0.15s cubic-bezier(0.4, 0, 0.2, 1); --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; --border-radius: 12px; --border-color: rgba(148, 163, 184, 0.2); --box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4); --gradient: linear-gradient(135deg, #6366F1 0%, #A855F7 100%); } /* Reset & Base */ * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: var(--font-sans); background-color: var(--bg-color); color: var(--text-color); line-height: 1.6; overflow-x: hidden; } .main-container { position: relative; z-index: 1; } /* Snowfall Effects */ .snowfall-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; } .main-snow { position: fixed; z-index: 1; } .section-snow { z-index: 0; height: 100%; } .modal-snow { z-index: 1001; opacity: 0.5; } .footer-snow { height: 100%; opacity: 0.7; } .snowflake { position: absolute; background: linear-gradient(135deg, var(--primary-light) 0%, var(--secondary-color) 100%); border-radius: 50%; opacity: 0.2; pointer-events: none; animation: snowfall linear infinite; } .section-snow .snowflake { opacity: 0.15; } .modal-snow .snowflake { opacity: 0.1; } .footer-snow .snowflake { opacity: 0.15; } @keyframes snowfall { 0% { transform: translateY(-10vh) rotate(0deg); opacity: 0; } 20% { opacity: 0.2; } 90% { opacity: 0.2; } 100% { transform: translateY(100vh) rotate(360deg); opacity: 0; } } /* Header */ header { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 10%; position: fixed; top: 0; width: 100%; z-index: 100; background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--glass-border); transition: var(--transition-medium); } header.scrolled { padding: 1rem 10%; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); } .logo { display: flex; align-items: center; font-size: 1.5rem; font-weight: 700; color: var(--primary-light); } .logo-icon { margin-right: 0.5rem; font-size: 1.8rem; background: linear-gradient(135deg, var(--primary-light) 0%, var(--secondary-color) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; } .menu { display: flex; gap: 1.5rem; } .menu a { color: var(--text-color); text-decoration: none; font-weight: 500; transition: var(--transition); padding: 0.5rem 1rem; border-radius: var(--border-radius); } .menu a:hover { color: var(--primary-light); background: rgba(139, 92, 246, 0.1); } /* Hero Section */ .hero { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 10% 5%; background: radial-gradient(circle at center, var(--bg-color) 0%, rgba(15, 10, 30, 0.95) 100%); position: relative; overflow: hidden; } .hero::before { content: ''; position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; background: radial-gradient(circle, rgba(139, 92, 246, 0.1) 0%, rgba(247, 114, 182, 0.05) 50%, transparent 70%); transform: translate(-50%, -50%); pointer-events: none; } @keyframes pulse { 0% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; } 50% { transform: translate(-50%, -50%) scale(1.1); opacity: 0.5; } 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; } } .hero-content { text-align: center; max-width: 800px; padding: 2rem; background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: var(--border-radius); border: 1px solid var(--glass-border); box-shadow: var(--card-shadow); } .hero-content h1 { font-size: 3.5rem; margin-bottom: 1rem; background: linear-gradient(135deg, var(--primary-light) 0%, var(--secondary-color) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-weight: 800; line-height: 1.2; } .hero-content p { font-size: 1.2rem; color: var(--text-muted); margin-bottom: 2rem; } .hero-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: 2rem; } .hero-buttons .btn { min-width: 180px; padding: 1rem 1.8rem; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; gap: 0.5rem; } .hero-buttons .btn i { font-size: 1.2rem; } /* Button Styles */ .btn { display: inline-block; padding: 0.8rem 1.5rem; border-radius: var(--border-radius); font-weight: 600; text-decoration: none; cursor: pointer; transition: var(--transition-medium); text-align: center; border: none; font-size: 1rem; } .btn.primary { background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%); color: white; box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4); } .btn.primary:hover { box-shadow: 0 6px 20px rgba(139, 92, 246, 0.6); transform: translateY(-2px); } .btn.secondary { background: rgba(139, 92, 246, 0.1); color: var(--primary-light); border: 1px solid var(--primary-color); } .btn.secondary:hover { background: rgba(139, 92, 246, 0.2); } .btn.outline { background-color: transparent; color: var(--text-color); border: 1px solid var(--glass-border); } .btn.outline:hover { border-color: var(--primary-light); color: var(--primary-light); background: rgba(139, 92, 246, 0.1); } /* Pricing Section */ .pricing-section { position: relative; overflow: hidden; padding: 6rem 5%; } .section-header { position: relative; z-index: 2; text-align: center; margin-bottom: 3rem; background: var(--glass-bg); padding: 2rem; border-radius: var(--border-radius); border: 1px solid var(--glass-border); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } .section-header h2 { color: var(--primary-light); font-size: 2.5rem; margin-bottom: 1rem; background: linear-gradient(135deg, var(--primary-light) 0%, var(--secondary-color) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; } .section-header p { color: var(--text-muted); font-size: 1.1rem; } .card-container { display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap; margin-bottom: 2rem; } .card { background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: var(--border-radius); box-shadow: var(--card-shadow); padding: 2rem; width: 300px; transition: var(--transition-medium); position: relative; border: 1px solid var(--glass-border); display: flex; flex-direction: column; overflow: hidden; } .card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(139, 92, 246, 0.05) 0%, rgba(247, 114, 182, 0.05) 100%); z-index: -1; } .card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); border-color: var(--primary-color); } .card.featured { border: 1px solid var(--primary-light); background: var(--glass-bg); transform: scale(1.05); } .card.featured:hover { transform: scale(1.05) translateY(-10px); } .card-highlight { position: absolute; top: 10px; right: 10px; background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%); color: white; font-size: 0.8rem; padding: 0.25rem 0.75rem; border-radius: 20px; font-weight: 600; } .card-header { text-align: center; margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border-color); } .card-header h3 { font-size: 1.5rem; margin-bottom: 1rem; color: var(--text-color); } .price { font-size: 2.5rem; font-weight: 700; color: var(--primary-light); margin-bottom: 0.25rem; } .duration { color: var(--text-muted); font-size: 0.9rem; } .card-body { flex: 1; margin-bottom: 1.5rem; } .card-body ul { list-style: none; } .card-body li { margin-bottom: 0.75rem; display: flex; align-items: center; } .card-body li i { color: var(--primary-light); margin-right: 0.5rem; } .card-footer { text-align: center; } .other-payment { text-align: center; margin-top: 2rem; } /* Modal */ .modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(15, 10, 30, 0.9); z-index: 1000; overflow: auto; animation: fadeIn 0.3s; } .modal-content { position: relative; background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); margin: 10% auto; padding: 2rem; border-radius: var(--border-radius); max-width: 500px; box-shadow: var(--card-shadow); border: 1px solid var(--glass-border); animation: slideIn 0.3s; } .close-modal { position: absolute; top: 1rem; right: 1rem; font-size: 1.5rem; cursor: pointer; color: var(--text-muted); transition: var(--transition); } .close-modal:hover { color: var(--primary-light); } .modal-content h2 { text-align: center; margin-bottom: 1.5rem; color: var(--text-color); } .qr-wrapper { text-align: center; margin-bottom: 1.5rem; padding: 1rem; background: rgba(15, 10, 30, 0.5); border: 1px solid var(--glass-border); border-radius: var(--border-radius); min-height: 300px; display: flex; flex-direction: column; justify-content: center; align-items: center; } #qrPlaceholder { color: var(--text-muted); padding: 2rem; } .loader { display: none; border: 4px solid rgba(139, 92, 246, 0.1); border-radius: 50%; border-top: 4px solid var(--primary-color); width: 40px; height: 40px; animation: spin 1s linear infinite; margin: 0 auto 1rem; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #timer { margin-top: 1rem; color: var(--text-muted); font-size: 0.9rem; } .confirmation-buttons { display: flex; gap: 1rem; justify-content: center; margin-top: 1rem; } /* Notification */ .notification { position: fixed; bottom: 2rem; right: 2rem; z-index: 1100; min-width: 300px; max-width: 400px; } .notification-content { background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--glass-border); box-shadow: var(--card-shadow); padding: 1rem; border-radius: var(--border-radius); display: flex; align-items: center; } .notification-content i { color: var(--primary-light); margin-right: 0.75rem; font-size: 1.2rem; } /* Animations */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideIn { from { transform: translateY(-50px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .fade-in { animation: fadeIn 0.5s; } /* Footer */ footer { background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 3rem 5% 1.5rem; border-top: 1px solid var(--glass-border); } .footer-content { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 2rem; margin-bottom: 2rem; } .footer-logo { display: flex; align-items: center; font-size: 1.5rem; font-weight: 700; color: var(--primary-light); } .footer-links { display: flex; gap: 1.5rem; } .footer-links a { color: var(--text-color); text-decoration: none; transition: var(--transition); } .footer-links a:hover { color: var(--primary-light); } .footer-social { display: flex; gap: 1rem; } .footer-social a { color: var(--text-muted); font-size: 1.2rem; transition: var(--transition); } .footer-social a:hover { color: var(--primary-light); } .footer-bottom { text-align: center; padding-top: 1.5rem; border-top: 1px solid var(--glass-border); color: var(--text-muted); font-size: 0.9rem; } /* Utilities */ .hidden { display: none !important; } /* Responsive */ @media (max-width: 768px) { header { padding: 1rem 5%; flex-direction: column; gap: 1rem; } header.scrolled { padding: 0.75rem 5%; } .hero-content h1 { font-size: 2.5rem; } .modal-content { margin: 20% auto; padding: 1.5rem; } .footer-content { flex-direction: column; align-items: center; text-align: center; } .card-container { gap: 1.5rem; } .card.featured { transform: none; border-color: var(--primary-light); } .card.featured:hover { transform: translateY(-10px); } .footer-social a { background: rgba(139, 92, 246, 0.1); color: var(--primary-light); } .footer-social a:hover { background: rgba(139, 92, 246, 0.2); } .hero-buttons { flex-direction: column; gap: 1rem; width: 100%; padding: 0 1rem; } .hero-buttons .btn { width: 100%; margin: 0; } } /* Shine Animation */ .card::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient( to right, rgba(139, 92, 246, 0) 0%, rgba(139, 92, 246, 0.05) 50%, rgba(139, 92, 246, 0) 100% ); transform: rotate(30deg); animation: shine 6s infinite; pointer-events: none; } @keyframes shine { 0% { transform: translateX(-100%) rotate(30deg); } 100% { transform: translateX(100%) rotate(30deg); } } /* Amount Display */ .amount-display { background: rgba(139, 92, 246, 0.1); color: var(--primary-light); padding: 0.5rem 1rem; border-radius: var(--border-radius); margin-bottom: 1rem; font-weight: 600; border: 1px solid var(--glass-border); } /* QR Code Styles */ #qrCode { margin: 1rem auto; background: white; padding: 1rem; border-radius: var(--border-radius); display: inline-block; box-shadow: var(--card-shadow); } #qrCode img { display: block; } #downloadQR { margin-top: 1rem; }