/* NovaCloud Custom Styles */

html { scroll-behavior: smooth; }

/* Custom scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0f172a; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

/* RTL Support */
[dir="rtl"] {
    direction: rtl;
    text-align: right;
}

[dir="rtl"] .text-left { text-align: right; }
[dir="rtl"] .text-right { text-align: left; }

/* RTL spacing utilities */
[dir="rtl"] .space-x-1 > * + * { --tw-space-x-reverse: 1; margin-right: 0.25rem; margin-left: 0; }
[dir="rtl"] .space-x-2 > * + * { --tw-space-x-reverse: 1; margin-right: 0.5rem; margin-left: 0; }
[dir="rtl"] .space-x-3 > * + * { --tw-space-x-reverse: 1; margin-right: 0.75rem; margin-left: 0; }
[dir="rtl"] .space-x-4 > * + * { --tw-space-x-reverse: 1; margin-right: 1rem; margin-left: 0; }
[dir="rtl"] .space-x-6 > * + * { --tw-space-x-reverse: 1; margin-right: 1.5rem; margin-left: 0; }

/* RTL margin utilities */
[dir="rtl"] .mr-2 { margin-right: 0; margin-left: 0.5rem; }
[dir="rtl"] .mr-3 { margin-right: 0; margin-left: 0.75rem; }
[dir="rtl"] .mr-4 { margin-right: 0; margin-left: 1rem; }
[dir="rtl"] .ml-2 { margin-left: 0; margin-right: 0.5rem; }
[dir="rtl"] .ml-3 { margin-left: 0; margin-right: 0.75rem; }

/* RTL absolute positioning */
[dir="rtl"] .right-0 { right: auto; left: 0; }
[dir="rtl"] .left-0 { left: auto; right: 0; }
[dir="rtl"] .left-0\.5 { left: auto; right: 0.125rem; }

/* RTL transforms */
[dir="rtl"] .translate-x-0 { transform: translateX(0); }

/* RTL flex direction */
[dir="rtl"] .flex-row { flex-direction: row-reverse; }

/* RTL grid */
[dir="rtl"] .col-span-2 { grid-column: span 2 / span 2; }

/* Fade-in animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in { animation: fadeIn 0.6s ease-out forwards; }

/* Toggle switch */
#billing-toggle.active { background-color: #2563eb; }
#billing-toggle.active #toggle-circle { transform: translateX(28px); }

/* FAQ icon rotation */
.faq-toggle[aria-expanded="true"] .faq-icon { transform: rotate(180deg); }

/* Form focus styles */
input:focus, textarea:focus, select:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
}

/* Loading spinner */
@keyframes spin { to { transform: rotate(360deg); } }
.spinner {
    border: 3px solid rgba(59, 130, 246, 0.2);
    border-top-color: #3b82f6;
    border-radius: 50%;
    width: 24px; height: 24px;
    animation: spin 0.8s linear infinite;
}

/* Mobile menu transition */
#mobile-menu { transition: max-height 0.3s ease, opacity 0.3s ease; }

/* Print styles */
@media print {
    nav, footer, .no-print { display: none !important; }
    body { background: white !important; color: black !important; }
}