

body {
    line-height: 1.5;
    font-family: "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif;
    /* font-feature-settings: "cv02", "cv03", "cv04", "cv11"; */
    font-feature-settings: normal;
    font-variation-settings: normal;
}

/* ---------------------------- START HEADER ---------------------------- */

/* Navigation styles */
#header {
    transition: box-shadow 0.3s ease-in-out;
}

#header-padding {
    transition: padding 0.3s ease-in-out;
}

#header-content {
    transition: height 0.3s ease-in-out;
}

/* Sticky header với z-index cao */
#header.sticky {
    position: sticky;
    top: 0;
    z-index: 50;
}

/* Dropdown hover effects */
.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}

.group:hover .group-hover\:visible {
    visibility: visible;
}

.group:hover .group-hover\:translate-y-0 {
    transform: translateY(0);
}

.group:hover .group-hover\:rotate-180 {
    transform: rotate(180deg);
}

/* Mobile menu animations */
#mobile-menu {
    transition: all 0.2s ease-out;
}

/* Backdrop blur support */
@supports (backdrop-filter: blur(12px)) {
    .backdrop-blur-md {
        backdrop-filter: blur(12px);
    }
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Logo animation on hover */
.logo-hover:hover {
    transform: scale(1.05);
    transition: transform 0.2s ease-in-out;
}

/* Button hover effects */
.btn-primary {
    position: relative;
    overflow: hidden;
    border-radius: 9999px; /* rounded-full */
}

.btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s ease-in-out;
}

.btn-primary:hover::before {
    left: 100%;
}

/* Try for Free button arrow animation */
.group:hover .group-hover\:translate-x-1 {
    transform: translateX(0.25rem);
}

/* Mobile menu button spacing */
.mobile-menu-buttons {
    display: flex;
    gap: 1rem;
}

.mobile-menu-buttons a {
    flex: 1;
}

/* Rounded button styles */
.btn-rounded-full {
    border-radius: 9999px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}

/* Active menu item indicator */
.nav-item-active {
    position: relative;
}

.nav-item-active::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    right: 0;
    height: 2px;
    background: #6366f1;
    border-radius: 1px;
}

/* Mobile menu item hover effect */
.mobile-nav-item {
    position: relative;
    transition: all 0.2s ease-in-out;
}

.mobile-nav-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 2px;
    background: #6366f1;
    transition: width 0.3s ease-in-out;
}

.mobile-nav-item:hover::before {
    width: 20px;
}

/* Responsive breakpoint adjustments */
@media (max-width: 767px) {
    #mobile-menu {
        max-height: calc(100vh - 64px);
        overflow-y: auto;
    }
}

/* Loading animation for dropdowns */
.dropdown-loading {
    opacity: 0.5;
    pointer-events: none;
}

/* Focus styles for accessibility */
a:focus,
button:focus {
    outline: 2px solid #6366f1;
    outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .text-gray-700 {
        color: #000 !important;
    }
    
    .bg-indigo-600 {
        background-color: #000 !important;
    }
}

/* ---------------------------- END HEADER ---------------------------- */


/* ---------------------------- START HERO SECTION ---------------------------- */
/* Add these gradient classes */
.bg-gradient-radial {
    background: radial-gradient(circle, var(--tw-gradient-stops));
}

.from-indigo-200 {
    --tw-gradient-from: #c7d2fe;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(199, 210, 254, 0));
}

.from-purple-200 {
    --tw-gradient-from: #e9d5ff;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(233, 213, 255, 0));
}


/* ---------------------------- END HERO SECTION ---------------------------- */


/* ---------------------------- START MARQUEE ANIMATION ---------------------------- */

@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

@media (min-width: 768px) {
    @media (prefers-reduced-motion: no-preference) {
        .md\:motion-safe\:animate-marquee {
            animation: marquee 50s linear infinite;
        }
    }
}

/* ---------------------------- END MARQUEE ANIMATION ---------------------------- */










