  body { 
            background-color: #303030;
            color: #e5e7eb; 
            font-family: 'Noto Sans Khmer', sans-serif; 
        }
        .font-moul { font-family: 'Moul', cursive; }
        .font-koulen { font-family: 'Koulen', cursive; }
        
        .no-scrollbar::-webkit-scrollbar { display: none; }
        .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        .hero-slider .slide {
            display: none;
        }
        .hero-slider .slide.active {
            display: block;
            animation: fadeIn 0.7s;
        }
        @keyframes fadeIn {
            from { opacity: 0.4; }
            to { opacity: 1; }
        }
        .hero-dots .dot {
            transition: background-color 0.3s;
        }
        
        .movie-card {
            flex: 0 0 45%; /* 2 cards on small screens */
            min-width: 0; /* ការពារកាតពីការរីកធំដោយសារ content វែង */
        }
        @media (min-width: 640px) {
            .movie-card { flex: 0 0 30%; } /* ~3 cards on sm */
        }
        @media (min-width: 1024px) {
            .movie-card { flex: 0 0 20%; } /* 5 cards on lg */
        }
        @media (min-width: 1280px) {
            .movie-card { flex: 0 0 15%; } /* ~6-7 cards on xl */
        }
        
        .loading-placeholder {
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #4a4a4a;
        }
        .loading-placeholder .loading-icon {
            width: 40px;
            height: 40px;
        }
        
        #search-overlay, #sidebar-overlay, .modal-overlay, #account-dropdown-overlay {
            transition: opacity 0.3s ease-in-out;
        }
        #sidebar, .modal-box, #account-dropdown {
            transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
        }

        .title-clamp-2 {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
            text-overflow: ellipsis;
            line-height: 1.2;
            overflow-wrap: break-word; 
        }
    