 /* Gallery styles */
 .video-card {
     border: none;
     border-radius: 1rem;
     overflow: hidden;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     transition: transform .2s ease, box-shadow .2s ease;
     cursor: pointer;
 }

 .video-card:hover {
     transform: translateY(-4px);
     box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16);
 }

 .video-thumb-wrapper {
     position: relative;
     overflow: hidden;
 }

 .video-thumb {
     width: 100%;
     height: 220px;
     object-fit: cover;
     display: block;
 }

 .video-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.1));
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     transition: opacity .2s ease;
 }

 .video-card:hover .video-overlay {
     opacity: 1;
 }

 .play-btn {
     width: 64px;
     height: 64px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.9);
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .play-btn i {
     margin-left: 3px;
     border-style: solid;
     border-width: 8px 0 8px 14px;
     border-color: transparent transparent transparent #000;
 }

 .video-duration {
     position: absolute;
     right: .75rem;
     bottom: .75rem;
     padding: .2rem .5rem;
     border-radius: 999px;
     background: rgba(0, 0, 0, 0.75);
     color: #fff;
     font-size: .75rem;
 }

 .video-meta {
     font-size: .8rem;
     color: #6c757d;
 }