
/* Svasti Library — standalone video page */
body:has(.svasti-library-kind-video) {
  background:#061522!important;
  color:#f7fbff!important;
}
body:has(.svasti-library-kind-video) #page,
body:has(.svasti-library-kind-video) #content,
body:has(.svasti-library-kind-video) main,
body:has(.svasti-library-kind-video) .site-content,
body:has(.svasti-library-kind-video) .content-area {
  background:transparent!important;
}
.svasti-library-kind-video {
  position:relative;
  isolation:isolate;
  display:block;
  width:100%;
  max-width:100%;
  min-height:100vh;
  box-sizing:border-box;
  padding:clamp(16px,3vw,36px);
  color:#f7fbff;
  background:
    radial-gradient(ellipse at 18% 12%,rgba(21,133,171,.25),transparent 42%),
    radial-gradient(ellipse at 88% 26%,rgba(181,111,54,.17),transparent 38%),
    linear-gradient(145deg,#061522,#08283a 55%,#11172e);
}
.svasti-library-kind-video * {box-sizing:border-box}
.svasti-library-kind-video h1,
.svasti-library-kind-video h2,
.svasti-library-kind-video h3 {color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.65)}
.svasti-library-kind-video .svasti-library-video {
  position:relative;
  display:block;
  width:min(100%,1120px);
  aspect-ratio:16/9;
  min-height:0;
  margin:clamp(16px,3vw,30px) auto;
  overflow:hidden;
  border:1px solid rgba(105,220,255,.42);
  border-radius:clamp(10px,1.5vw,18px);
  background:#020a12;
  box-shadow:0 18px 48px rgba(0,0,0,.38),0 0 24px rgba(36,179,226,.10);
}
.svasti-library-kind-video iframe,
.svasti-library-kind-video video,
.svasti-library-kind-video .svasti-video-frame {
  position:absolute;
  inset:0;
  display:block;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0;
  border-radius:inherit;
  background:#020a12;
}
.svasti-library-kind-video .svasti-video-poster {
  position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;
  background:#020a12;cursor:pointer;overflow:hidden;
}
.svasti-library-kind-video .svasti-video-poster img {display:block;width:100%;height:100%;object-fit:cover}
.svasti-library-kind-video .svasti-library-empty {
  color:#eaf6ff;background:rgba(2,13,24,.7);border-color:rgba(105,220,255,.35)
}
@media(max-width:767px) {
  .svasti-library-kind-video {padding:14px;min-height:calc(100vh - 56px)}
  .svasti-library-kind-video .svasti-library-video {width:100%;margin:16px auto;border-radius:10px}
}

/* 2.7.51: keep a branded poster visible until the learner explicitly starts playback. */
.svasti-library-kind-video .svasti-library-video.svasti-video-click-player,
.svasti-library-video.svasti-video-click-player {position:relative;aspect-ratio:16/9;min-height:0;background:#071a2a;overflow:hidden}
.svasti-library-kind-video .svasti-video-poster,
.svasti-video-poster {z-index:2;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#071a2a,#123c56 55%,#182342)}
.svasti-video-poster img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svasti-video-poster:after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.38),rgba(0,0,0,.08))}
.svasti-video-play-icon {z-index:1}
.svasti-video-poster-label {position:absolute;z-index:1;top:calc(50% + 52px);color:#fff;font-weight:700;text-shadow:0 2px 8px #000}
.svasti-video-frame video {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}

/* Poster-first playback: avoid showing an empty player while media initializes. */
.svasti-library-video.svasti-video-click-player{position:relative;aspect-ratio:16/9;min-height:0;background:#071a2a;overflow:hidden}
.svasti-video-poster{z-index:2;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#071a2a,#123c56 55%,#182342)}
.svasti-video-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svasti-video-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.38),rgba(0,0,0,.08))}
.svasti-video-play-icon{z-index:1}
.svasti-video-poster-label{position:absolute;z-index:1;top:calc(50% + 52px);color:#fff;font-weight:700;text-shadow:0 2px 8px #000}
.svasti-video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}

.svasti-video-error{position:relative;z-index:5;margin:0;padding:12px 16px;background:#3b1111;color:#fff;font-size:14px;line-height:1.45;text-align:center}
