/* ==========================================================================
   Videos
   ========================================================================== */
.vd-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.vd-card { background: #fff; border-radius: var(--ip-radius); overflow: hidden; box-shadow: var(--ip-shadow); display: flex; flex-direction: column; }
.vd-thumb, .vd-frame { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--ip-navy); overflow: hidden; }
.vd-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s, opacity .3s; }
.vd-thumb:hover img { transform: scale(1.04); opacity: .85; }
.vd-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vd-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; border-radius: 50%; background: var(--ip-coral); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; box-shadow: 0 8px 22px rgba(0, 0, 0, .3); padding-left: 4px; transition: transform .2s; }
.vd-thumb:hover .vd-play { transform: translate(-50%, -50%) scale(1.08); }
.vd-dur { position: absolute; right: 10px; bottom: 10px; background: rgba(0, 0, 0, .78); color: #fff; font-size: 12px; font-weight: 700; border-radius: 4px; padding: 2px 6px; }
.vd-body { padding: 20px 22px 24px; }
.vd-body h3 { font-size: 18px; line-height: 1.4; font-weight: 700; color: var(--ip-navy); margin: 0 0 8px; }
.vd-body p { margin: 0; color: var(--ip-muted); line-height: 1.6; font-size: 15px; }

@media (max-width: 991px) { .vd-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .vd-grid { grid-template-columns: 1fr; } }

/* Two-up grid (40th Anniversary and chapter pages) */
.vd-grid.vd-grid--2 { grid-template-columns: repeat(2, 1fr); max-width: 980px; margin-left: auto; margin-right: auto; }
@media (max-width: 767px) { .vd-grid.vd-grid--2 { grid-template-columns: 1fr; } }
