.media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; padding: 16px; width: 100%; } .media-grid-item { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 8px; cursor: pointer; background-color: #f0f0f0; transition: transform 0.2s ease, box-shadow 0.2s ease; } .media-grid-item:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); z-index: 1; } .media-thumbnail { width: 100%; height: 100%; position: relative; } .media-thumbnail img { width: 100%; height: 100%; object-fit: cover; display: block; } .video-indicator { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: rgba(0, 0, 0, 0.6); border-radius: 50%; width: 3rem; height: 3rem; display: flex; align-items: center; justify-content: center; pointer-events: none; } /* Responsive adjustments */ @media (max-width: 768px) { .media-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 4px; padding: 8px; } } @media (min-width: 1200px) { .media-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); } }