/* VIDEO SLIDE */
.slide.is-video { justify-content: space-between; background-color: var(--bg-color, #000); }
.slide.is-video .card-overlay { z-index: 2; position: absolute; width: 100%; height: 100%; top: 0; bottom: 0; left: 0; right: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 60%, rgba(0, 0, 0, 0.75) 75%); }
.slide.is-video .video-player { z-index: 1; position: absolute; width: 100%; height: 100%; top: 0; bottom: 0; left: 0; right: 0; object-fit: cover; object-position: center; }
.slide.is-video .video-error { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #fff; font-size: 1.5rem; }

.slide.is-video .card-header { z-index: 2; display: flex; align-items: center; column-gap: 8px; position: relative; }
.slide.is-video .card-header .tag { border-radius: 32px; padding: 8px 16px; line-height: 1; font-weight: 600; font-size: 1rem; background-color: var(--bg-alt); color: var(--text-bg-alt); }
.slide.is-video .card-header .tag.tag-primary { background-color: var(--accent); color: var(--text-accent); }

.slide.is-video .card-body { z-index: 2; position: relative; max-width: 1200px; }
.slide.is-video .card-body h3 { font-size: 2.25rem; line-height: 1.2; margin-bottom: 12px; }
.slide.is-video .card-body p { font-size: 1.25rem; font-weight: 300; }
.slide.is-video .card-body * {  color: #fff; }

/* VIDEO CARD IN DASHBOARD */
.card-video { border-radius: 12px; background-color: var(--bg-alt); overflow: hidden; position: relative; }
.card-video .card-image { position: relative; width: 100%; height: 200px; }
.card-video .card-image img { width: 100%; height: 100%; object-fit: cover; }
.card-video .video-indicator { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; opacity: 0.9; transition: opacity 0.3s; }
.card-video:hover .video-indicator { opacity: 1; }
.card-video .card-body { padding: 20px; }
.card-video .card-body h4 { font-size: 1.125rem; line-height: 1.3; margin-bottom: 8px; color: #fff; }
.card-video .card-body p { font-size: 0.875rem; font-weight: 300; color: rgba(255, 255, 255, 0.8); margin-bottom: 12px; }
.card-video .card-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.card-video .card-footer .tag { border-radius: 32px; padding: 4px 12px; line-height: 1; font-weight: 500; font-size: 0.75rem; background-color: rgba(255, 255, 255, 0.1); color: #fff; }
.card-video .card-footer .tag.tag-primary { background-color: var(--accent); }
.card-video .card-footer .duration { display: flex; align-items: center; gap: 4px; margin-left: auto; color: rgba(255, 255, 255, 0.6); font-size: 0.75rem; }
.card-video .card-footer .duration svg { width: 1rem; height: 1rem; }