.th,
.ou {
    font-family: 'Kanit', sans-serif;
}

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

    100% {
        transform: translateX(-100%);
    }
}

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

    100% {
        transform: translateX(0%);
    }
}

.animate-marquee {
    animation: marquee 20s linear infinite;
}

.animate-marquee-reverse {
    animation: marquee-reverse 20s linear infinite;
}

.group:hover .animate-marquee,
.group:hover .animate-marquee-reverse {
    animation-play-state: paused;
}

/* Mobile Menu Styles */
.mobile-menu {
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
}

.mobile-menu.open {
    transform: translateX(0);
}

.mobile-overlay {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.mobile-overlay.show {
    opacity: 1;
    visibility: visible;
}

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

/* Mobile-friendly touch targets */
@media (max-width: 768px) {

    button,
    a {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Dark mode support for SweetAlert2 */
.swal2-popup.dark\:bg-zinc-900 {
    background-color: rgb(24 24 27) !important;
    color: white !important;
}

.swal2-title.dark\:text-white {
    color: white !important;
}

.swal2-content.dark\:text-gray-300 {
    color: rgb(209 213 219) !important;
}

.dark .swal2-popup {
    background-color: rgb(24 24 27) !important;
    color: white !important;
}

.dark .swal2-title {
    color: white !important;
}

.dark .swal2-html-container {
    color: rgb(209 213 219) !important;
}