/* Public lesson previews and authenticated players. */
.lesson-footer { flex-wrap: wrap; gap: 12px; }
.lesson-login-link { font-size: .88rem; color: #665086; }
.lesson-preview-image,
.lesson-private-placeholder > img { display: block; width: 100%; height: auto; border-radius: 14px; margin: 18px 0; }
.lesson-access-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.lesson-access-status { color: #625573; font-size: .94rem; }
.lesson-private-placeholder > video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #201c2a; border-radius: 14px; }
.lesson-private-placeholder > [hidden] { display: none !important; }
.video-frame:has(.video-locked) { aspect-ratio: auto; background: #f5f1fa; }
.video-locked { width: 100%; }
.video-locked > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.video-locked-access { padding: 22px 24px; color: #302b43; }
.video-locked-access > strong { font-size: 1.05rem; }
.video-locked-access p { font-size: .92rem; line-height: 1.55; margin: 7px 0 14px; }
.video-access-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.video-login-link,
.private-video-open { border-radius: 8px; padding: 10px 15px; font: inherit; font-size: .9rem; font-weight: 650; cursor: pointer; }
.video-login-link { color: #fff; background: #665086; text-decoration: none; }
.private-video-open { color: #544361; background: #fff; border: 1px solid #cabfda; }
.private-video-open:disabled { opacity: .65; cursor: wait; }
.video-access-status:empty { display: none; }
.video-access-status { min-height: 1.5em; }
.video-access-actions a:focus-visible,
.video-access-actions button:focus-visible { outline: 3px solid #a590c9; outline-offset: 3px; }
