@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700;900&display=swap');

/* Global Styles */
body { font-family: 'Inter', sans-serif; background-color: #f4f6fb; color: #1e293b; -webkit-user-select: none; user-select: none; overflow-x: hidden; }
input, textarea { -webkit-user-select: text; user-select: text; }
::selection { background-color: #bfdbfe; color: #0f172a; }

/* Animations Logic */
@keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-8px); } }
@keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
@keyframes scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

.animate-float { animation: float 6s ease-in-out infinite; }
.animate-shimmer { animation: shimmer 3s infinite; }
.animate-scroll { animation: scroll 35s linear infinite; width: max-content; display: flex; }

/* Lag-Free GPU Optimization */
.animate-float, .animate-scroll, .glass-card, .glass-capsule, .btn-shimmer {
    -webkit-transform: translateZ(0); transform: translateZ(0); backface-visibility: hidden; perspective: 1000px; will-change: transform;
}

/* Premium Effects */
.glass-capsule { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 1); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); }
.glass-card { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, 0.9); box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.03); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.glass-card:hover { transform: translateY(-4px); box-shadow: 0 15px 35px -10px rgba(37, 99, 235, 0.1); border-color: rgba(37, 99, 235, 0.2); }
.text-gradient { background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-image: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%); }
.btn-shimmer::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); animation: shimmer 3s infinite; }

/* FAQ & Toggle */
.faq-content { transition: max-height 0.3s ease-out, opacity 0.3s ease-out; max-height: 0; opacity: 0; overflow: hidden; }
.faq-content.open { max-height: 300px; opacity: 1; padding-bottom: 1.5rem; }
.faq-icon { transition: transform 0.3s ease; }
.faq-icon.open { transform: rotate(180deg); color: #2563eb; }
#billingToggle { background-color: #cbd5e1; transition: background-color 0.3s; cursor: pointer; }
#billingToggle:hover { background-color: #94a3b8; }
#billingToggle.active { background-color: #2563eb !important; }
#billingToggle.active:hover { background-color: #1d4ed8 !important; }
#billingToggle.active #toggle-circle { transform: translateX(28px); }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Mobile Performance Optimizer */
@media (max-width: 768px) {
    .glass-capsule, .glass-card { backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; }
    .fixed.inset-0 .blur-3xl { display: none; } 
}
/* --- Optimized Continuous Shimmer Logic --- */
.btn-shimmer { 
    position: relative !important; 
    overflow: hidden !important; 
    isolation: isolate; /* টেক্সট যেন শিমারের নিচে না যায় */
}

.btn-shimmer::after {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg, 
        transparent, 
        rgba(255, 255, 255, 0.3), 
        transparent
    );
    transform: skewX(-20deg);
    animation: continuous-shimmer 3s infinite;
    pointer-events: none;
    z-index: 5;
}

/* হোভার করলে শিমার আরও উজ্জ্বল হবে */
.btn-shimmer:hover::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
    animation-duration: 1.5s;
}

@keyframes continuous-shimmer {
    0% { left: -150%; }
    30% { left: 150%; }
    100% { left: 150%; }
}

/* কপি বাটনের জন্য স্পেশাল হোভার */
#copyCodeBtn:hover {
    background-color: #dbeafe !important; /* হালকা নীল ব্যাকগ্রাউন্ড */
    border-color: #3b82f6 !important;
    transform: translateY(-1px);
}