// 섹션 제목 스타일 .section-title { font-size: 1.5rem; font-weight: bold; margin-bottom: 1.5rem; color: #1f2937; display: flex; align-items: center; gap: 0.5rem; } // 인기 LIVE 섹션 .popular-section { margin-bottom: 3rem; } // 캐러셀 컨테이너 .carousel-container { position: relative; overflow: visible; border-radius: 12px; @media (max-width: 480px) { overflow: hidden; } } .carousel-track { display: flex; gap: 1rem; overflow-x: auto; scroll-behavior: smooth; padding: 0.5rem 0; // 스크롤바 숨기기 &::-webkit-scrollbar { display: none; } -ms-overflow-style: none; scrollbar-width: none; // 모바일에서 적절한 패딩 추가 @media (max-width: 480px) { padding: 0.5rem; gap: 0.8rem; overflow-x: scroll; } } // 실시간 LIVE 섹션 .live-section { margin-top: 2rem; } // 비디오 그리드 스타일 (무한스크롤 대응) .video-grid { display: flex; flex-direction: column; gap: 1.5rem; margin: 0 auto; width: 100%; max-width: 100%; box-sizing: border-box; // 태블릿: 2개씩 (481px ~ 768px) @media (min-width: 481px) and (max-width: 768px) { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; padding: 0; max-width: 100%; } // 데스크톱: 3개씩 (769px 이상) @media (min-width: 769px) { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; padding: 0; max-width: 1000px; } // 모바일: 세로 스크롤 (480px 미만) @media (max-width: 479px) { gap: 1rem; padding: 0; } } // 스켈레톤 로딩 스타일 .skeleton-card { display: flex; flex-direction: column; background: #f8f9fa; border-radius: 12px; overflow: hidden; min-width: 280px; height: 220px; position: relative; @media (max-width: 480px) { min-width: 250px; height: 200px; } } .skeleton-thumbnail { width: 100%; height: 160px; background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%); background-size: 200% 100%; animation: skeleton-loading 1.5s infinite; @media (max-width: 480px) { height: 140px; } } .skeleton-info { padding: 12px; display: flex; flex-direction: column; gap: 8px; } .skeleton-text { height: 16px; background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%); background-size: 200% 100%; animation: skeleton-loading 1.5s infinite; border-radius: 4px; width: 80%; } .skeleton-text-small { height: 12px; background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%); background-size: 200% 100%; animation: skeleton-loading 1.5s infinite; border-radius: 4px; width: 60%; } @keyframes skeleton-loading { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }