:root { --gomsu-primary: #E53E3E; --gomsu-bg: #FAFAF8; --gomsu-text: #1A202C; --gomsu-text-light: #718096; --gomsu-border: #E2E8F0; --gomsu-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06); --gomsu-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); --gomsu-radius: 12px; --gomsu-font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }
            .gomsu-video-ext { background: var(--gomsu-bg); padding: 30px 0 60px; font-family: var(--gomsu-font); -webkit-font-smoothing: antialiased; }
            .gomsu-video-ext * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
            .gomsu-video-ext .container { max-width: 1400px; margin: 0 auto; padding: 0 16px; }
            .gomsu-video-ext .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; padding: 0 4px; }
            .gomsu-video-ext .section-title { font-size: 24px; font-weight: 700; color: var(--gomsu-text); margin: 0; letter-spacing: -0.5px; }
            .gomsu-scroll-container { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; padding: 4px 0 20px; margin: 0 -16px; padding-left: 16px; padding-right: 16px; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; }
            /* --- CSS để ẩn thanh cuộn trên mọi trình duyệt --- */
            .gomsu-scroll-container::-webkit-scrollbar { display: none; }
            .gomsu-scroll-container { -ms-overflow-style: none; scrollbar-width: none; }

            .gomsu-video-card { scroll-snap-align: start; flex-shrink: 0; background: white; border-radius: var(--gomsu-radius); overflow: hidden; box-shadow: var(--gomsu-shadow); transition: transform 0.2s ease, box-shadow 0.2s ease; cursor: pointer; position: relative; user-select: none; }
            .gomsu-video-card.regular { width: 80%; max-width: 320px; }
            .gomsu-video-card.shorts { width: 45%; max-width: 200px; }
            .gomsu-thumbnail-wrapper { position: relative; padding-bottom: 56.25%; /* 16:9 aspect ratio */ background: #F7FAFC; overflow: hidden; }
            .gomsu-video-card.shorts .gomsu-thumbnail-wrapper { padding-bottom: 177.78%; /* 9:16 aspect ratio */ }
            .gomsu-thumbnail { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.3s ease; }
            .gomsu-thumbnail.loaded { opacity: 1; }
            .gomsu-play-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.4)); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.2s ease; }
            .gomsu-video-card:hover .gomsu-play-overlay { opacity: 1; }
            .gomsu-play-btn { width: 48px; height: 48px; background: rgba(255,255,255,0.95); border-radius: 50%; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(10px); transform: scale(0.9); transition: transform 0.2s ease; }
            .gomsu-video-card:hover .gomsu-play-btn { transform: scale(1); }
            .gomsu-play-icon { width: 0; height: 0; border-left: 14px solid var(--gomsu-primary); border-top: 8px solid transparent; border-bottom: 8px solid transparent; margin-left: 3px; }
            .gomsu-video-info-card { padding: 12px 14px; }
            .gomsu-video-title-card { font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--gomsu-text); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
            .gomsu-video-ext .shorts-section { margin-top: 40px; }
            /* --- Thay đổi cho màn hình lớn hơn (PC) --- */
            @media (min-width: 768px) { 
                .gomsu-video-ext .container { padding: 0 32px; } 
                .gomsu-video-ext .section-title { font-size: 32px; } 
                .gomsu-video-card:hover { transform: translateY(-4px); box-shadow: var(--gomsu-shadow-lg); }
            }
            .gomsu-skeleton { background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: gomsu_loading 1.5s infinite; }
            @keyframes gomsu_loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
            @media (hover: none) { .gomsu-video-card:active { transform: scale(0.96); } .gomsu-play-overlay { opacity: 1; } }