/* ══════════════════════════════════════
   XQuizMe Videos — Frontend
   Theme-proof — matching presentations
   ══════════════════════════════════════ */

/* ── Font override ── */
.xqm-vid-page,
.xqm-vid-page * {
  font-family: 'Assistant','Segoe UI',sans-serif !important;
}

/* ── Login gate ── */
.xqm-vid-login {
  text-align: center !important;
  padding: 60px 24px !important;
  max-width: 440px !important;
  margin: 40px auto !important;
  background: #fff !important;
  border-radius: 10px !important;
  border: 1px solid #d8e0e8 !important;
  box-shadow: 0 4px 18px rgba(18,52,86,.07) !important;
  direction: rtl !important;
  font-family: 'Assistant',sans-serif !important;
}
.xqm-vid-login-icon { font-size: 48px !important; margin-bottom: 12px !important; }
.xqm-vid-login h3 { font-size: 20px !important; font-weight: 700 !important; margin: 0 0 8px !important; color: #16324f !important; }
.xqm-vid-login p { font-size: 14px !important; color: #5d7187 !important; margin: 0 0 20px !important; }
.xqm-vid-login-btn {
  display: inline-block !important; padding: 11px 32px !important; background: #005ea5 !important; color: #fff !important;
  text-decoration: none !important; border-radius: 6px !important; font-weight: 600 !important; font-size: 15px !important; border: none !important;
}
.xqm-vid-login-btn:hover { background: #004b84 !important; color: #fff !important; }

/* ── Titles ── */
.xqm-vid-page .xqm-list-group-title,
.xqm-vid-page h2.xqm-list-group-title {
  font-size: 22px !important; font-weight: 800 !important; color: #16324f !important;
  margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important;
  text-transform: none !important; letter-spacing: normal !important; line-height: 1.3 !important;
}
.xqm-vid-page .xqm-list-card-title,
.xqm-vid-page h3.xqm-list-card-title {
  font-size: 16px !important; font-weight: 700 !important; color: #16324f !important;
  margin: 0 0 6px !important; padding: 0 !important; border: none !important; background: transparent !important;
  text-transform: none !important; letter-spacing: normal !important; line-height: 1.4 !important;
}
.xqm-vid-page .xqm-list-group-count { font-size: 13px !important; color: #8ca0b3 !important; }
.xqm-vid-page .xqm-list-meta-item { font-size: 12px !important; color: #5d7187 !important; }

/* ── Video preview area ── */
.xqm-vid-preview {
  position: relative !important;
  width: 100% !important;
  background: #000 !important;
  border-radius: 6px 6px 0 0 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

/* Thumbnail wrapper */
.xqm-vid-thumb-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16/9 !important;
  cursor: pointer !important;
  display: block !important;
}
.xqm-vid-thumb-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: opacity .2s !important;
}
.xqm-vid-thumb-wrap:hover .xqm-vid-thumb-img {
  opacity: .75 !important;
}

/* Placeholder when no thumbnail */
.xqm-vid-thumb-placeholder {
  width: 100% !important;
  aspect-ratio: 16/9 !important;
  background: #1a1a2e !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

/* Play button centered on thumbnail */
.xqm-vid-inline-play {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%,-50%) !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: transform .2s !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
  box-shadow: none !important;
}
.xqm-vid-inline-play:hover {
  transform: translate(-50%,-50%) scale(1.12) !important;
}
.xqm-vid-thumb-placeholder .xqm-vid-inline-play {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
}
.xqm-vid-thumb-placeholder .xqm-vid-inline-play:hover {
  transform: scale(1.12) !important;
}

/* Inline player hidden by default, shown via class */
.xqm-vid-inline-player {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16/9 !important;
  display: none !important;
}
/* When playing: hide thumbnail, show player */
.xqm-vid-preview.xqm-vid-is-playing .xqm-vid-thumb-wrap,
.xqm-vid-preview.xqm-vid-is-playing .xqm-vid-thumb-placeholder {
  display: none !important;
}
.xqm-vid-preview.xqm-vid-is-playing .xqm-vid-inline-player {
  display: block !important;
}
.xqm-vid-card-iframe {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  display: block !important;
}

/* Expand to fullscreen button */
.xqm-vid-expand-btn {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 6px !important;
  background: rgba(0,0,0,.6) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  color: #fff !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .15s !important;
  z-index: 5 !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.xqm-vid-expand-btn:hover {
  background: rgba(0,94,165,.8) !important;
}

/* Card bottom: title + button */
.xqm-vid-card-bottom {
  padding: 12px 14px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  flex: 1 !important;
}
.xqm-vid-card-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #16324f !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  text-align: right !important;
}

/* Remove card body/footer defaults for vid cards */
.xqm-vid-page .xqm-vid-card {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.xqm-vid-page .xqm-vid-card .xqm-list-card-body {
  display: none !important;
}
.xqm-vid-page .xqm-vid-card .xqm-list-card-footer {
  display: none !important;
}

/* ── Card border top ── */
.xqm-vid-page .xqm-list-card {
  border-top: 4px solid #005ea5 !important;
}
.xqm-vid-page .xqm-list-card:hover {
  border-top-color: #004b84 !important;
}

/* ── Play button ── */
.xqm-vid-page .xqm-list-start-btn,
.xqm-vid-page button.xqm-list-start-btn,
.xqm-vid-page .xqm-vid-play-btn,
.xqm-vid-page button.xqm-vid-play-btn {
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important;
  width: 100% !important; padding: 12px 16px !important;
  background: #005ea5 !important; color: #fff !important; border: 1px solid #005ea5 !important;
  border-radius: 6px !important; font-size: 15px !important; font-weight: 700 !important;
  text-decoration: none !important; cursor: pointer !important; transition: background .15s !important;
  outline: none !important; box-shadow: none !important; text-transform: none !important; line-height: 1 !important;
}
.xqm-vid-page .xqm-list-start-btn:hover,
.xqm-vid-page .xqm-vid-play-btn:hover,
.xqm-vid-page button.xqm-vid-play-btn:hover {
  background: #004b84 !important; color: #fff !important; border-color: #004b84 !important;
  outline: none !important; box-shadow: none !important;
}

/* ── Filter buttons ── */
.xqm-vid-page .xqm-filter-btn { background: #fff !important; color: #5d7187 !important; border: 1px solid #d8e0e8 !important; outline: none !important; box-shadow: none !important; }
.xqm-vid-page .xqm-filter-btn:hover { background: #e8f1f8 !important; color: #005ea5 !important; border-color: #005ea5 !important; }
.xqm-vid-page .xqm-filter-btn.active { background: #005ea5 !important; color: #fff !important; border-color: #005ea5 !important; }

/* ── Search ── */
.xqm-vid-page .xqm-list-search { border: 1px solid #97a8b8 !important; color: #16324f !important; background: #fff !important; }
.xqm-vid-page .xqm-list-search:focus { border-color: #005ea5 !important; outline: 3px solid rgba(0,94,165,.12) !important; }

/* ── Video Modal ── */
.xqm-vid-modal {
  position: fixed !important; inset: 0 !important; z-index: 999999 !important;
  background: rgba(0,0,0,.9) !important;
  display: none !important; flex-direction: column !important;
  direction: rtl !important;
}
.xqm-vid-modal.xqm-vid-modal-open {
  display: flex !important;
}
.xqm-vid-modal-header {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  padding: 12px 20px !important;
  background: rgba(22,50,79,.95) !important; color: #fff !important; flex-shrink: 0 !important; border: none !important;
}
.xqm-vid-modal-header h3 {
  font-size: 16px !important; font-weight: 700 !important; margin: 0 !important; color: #fff !important;
  overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; border: none !important; background: transparent !important;
}
.xqm-vid-modal-btn,
button.xqm-vid-modal-btn {
  padding: 8px 18px !important; border-radius: 6px !important; font-size: 13px !important; font-weight: 600 !important;
  cursor: pointer !important; border: 1px solid rgba(255,255,255,.3) !important; background: rgba(255,255,255,.15) !important;
  color: #fff !important; text-decoration: none !important; outline: none !important; box-shadow: none !important;
}
.xqm-vid-modal-btn:hover,
button.xqm-vid-modal-btn:hover {
  background: rgba(255,255,255,.3) !important; color: #fff !important;
}
.xqm-vid-modal-body {
  flex: 1 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 20px !important;
}
.xqm-vid-iframe {
  width: 100% !important; max-width: 960px !important; aspect-ratio: 16/9 !important;
  border: none !important; border-radius: 8px !important; background: #000 !important;
}

@media (max-width: 600px) {
  .xqm-vid-modal-body { padding: 10px !important; }
  .xqm-vid-iframe { border-radius: 4px !important; }
}
