/* EasyStream Browse Page Styles */ /* Video Grid Enhancements */ .fileThumbs { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; list-style: none; padding: 0; margin: 0; } .fileThumbs li { background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.1); transition: transform 0.2s ease; } .fileThumbs li:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.15); } /* Thumbnail styling */ .thumbs-wrapper { position: relative; } .thumbs-wrapper figure { margin: 0; position: relative; overflow: hidden; } .mediaThumb { width: 100%; height: 160px; object-fit: cover; display: block; } /* Video duration overlay */ .time-lenght { position: absolute; bottom: 8px; right: 8px; background: rgba(0,0,0,0.8); color: white; padding: 2px 6px; border-radius: 3px; font-size: 0.75rem; font-weight: 500; } .t-live { background: #dc3545 !important; } /* Play button overlay */ .play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 48px; height: 48px; background: rgba(0,0,0,0.8); border-radius: 50%; cursor: pointer; transition: all 0.2s ease; } .play-btn:before { content: '▶'; position: absolute; top: 50%; left: 55%; transform: translate(-50%, -50%); color: white; font-size: 16px; } .play-btn:hover { background: rgba(0,0,0,0.9); transform: translate(-50%, -50%) scale(1.1); } /* Media details */ .media-details { padding: 1rem; } .media-details h3 { margin: 0 0 0.5rem 0; font-size: 1rem; font-weight: 600; line-height: 1.3; } .media-details h3 a { color: #212529; text-decoration: none; } .media-details h3 a:hover { color: #007bff; } /* Channel info */ .media-user-avatar { float: left; margin-right: 0.75rem; } .media-user-avatar img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; } .media-meta { overflow: hidden; } .channel_name { color: #6c757d; font-size: 0.875rem; cursor: pointer; text-decoration: none; } .channel_name:hover { color: #007bff; } /* Video stats */ .caption { margin-top: 0.5rem; clear: both; } .views-number { color: #6c757d; font-size: 0.875rem; } .i-bullet:before { content: '•'; margin: 0 0.5rem; color: #6c757d; } /* Watch later functionality */ .watch_later { position: absolute; top: 8px; right: 8px; opacity: 0; transition: opacity 0.2s ease; } .thumbs-wrapper:hover .watch_later { opacity: 1; } .watch_later_wrap { background: rgba(0,0,0,0.8); border-radius: 4px; padding: 4px; cursor: pointer; } .watch_later_holder i { color: white; font-size: 14px; } /* Responsive design */ @media (max-width: 768px) { .fileThumbs { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; } .mediaThumb { height: 140px; } .media-details { padding: 0.75rem; } } @media (max-width: 480px) { .fileThumbs { grid-template-columns: 1fr; gap: 1rem; } .mediaThumb { height: 200px; } } /* Loading states */ .converting .mediaThumb { filter: grayscale(1); opacity: 0.7; } .converting:after { content: 'Converting...'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0,0,0,0.8); color: white; padding: 4px 8px; border-radius: 4px; font-size: 0.75rem; } /* Affiliate badges */ .affiliate_badge { display: inline-block; margin-right: 4px; font-size: 0.75rem; } /* Pagination */ .pagination { display: flex; justify-content: center; gap: 0.5rem; margin-top: 2rem; padding: 1rem 0; } .pagination a, .pagination span { padding: 0.5rem 1rem; border: 1px solid #dee2e6; border-radius: 4px; color: #495057; text-decoration: none; transition: all 0.2s ease; } .pagination a:hover { background: #f8f9fa; border-color: #007bff; } .pagination .current { background: #007bff; color: white; border-color: #007bff; }