body {
    background-color: #020617;
    color: #ffffff;
    overflow-x: hidden;
}

/* RTL Specifics */
html[dir="rtl"] body {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    text-align: right;
}

html[dir="rtl"] .reveal-text {
    /* Adjust transform logic if needed, but Y-axis works for both */
}

/* Glassmorphism Utilities */
.glass-card {
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.glass-header {
    background: rgba(2, 6, 23, 0.8);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Animation Classes */
.reveal-text {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-text.active {
    opacity: 1;
    transform: translateY(0);
}

/* Swiper Pagination */
.swiper-pagination-bullet {
    background: #4b5563;
}

.swiper-pagination-bullet-active {
    background: #3b82f6;
}

/* Gradient Text */
.text-gradient {
    background: linear-gradient(to right, #fff, #93c5fd);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Toggle Switch */
.toggle-checkbox:checked {
    right: 0;
    border-color: #3b82f6;
}

.toggle-checkbox:checked+.toggle-label {
    background-color: #3b82f6;
}

/* RTL Toggle Fixes */
html[dir="rtl"] .toggle-checkbox:checked {
    left: 0;
    right: auto;
}

/* Mobile Menu - Full Screen */
#mobile-menu {
    transition: opacity 0.3s ease-in-out;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

#mobile-menu:not(.opacity-0) {
    pointer-events: auto;
}

/* Pricing Swiper Styles */
.pricingSwiper {
    padding: 0 20px 50px 20px;
}

.pricingSwiper .swiper-slide {
    height: auto;
}

.pricingSwiper .swiper-pagination {
    bottom: 0;
}

.pricingSwiper .swiper-pagination-bullet {
    background: #4b5563;
    opacity: 0.5;
}

.pricingSwiper .swiper-pagination-bullet-active {
    background: #3b82f6;
    opacity: 1;
}

/* Focus Visible Styles for Accessibility */
a:focus-visible,
button:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* Skip to main content link */
.skip-to-main {
    position: absolute;
    left: -9999px;
    z-index: 999;
    padding: 1em;
    background-color: #3b82f6;
    color: white;
    text-decoration: none;
}

.skip-to-main:focus {
    left: 50%;
    transform: translateX(-50%);
    top: 0;
}

/* Improve contrast for better readability */
.text-gray-400 {
    color: #9ca3af;
}

.text-gray-500 {
    color: #6b7280;
}