.sobol-videos-library{max-width:1100px;margin:24px auto;padding:0 14px;font-family:inherit}
.sobol-videos-library .sv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.sobol-videos-library .sv-title{font-size:22px;font-weight:900;letter-spacing:-.3px}
.sobol-videos-library .sv-sub{font-size:13px;opacity:.75}

.sobol-videos-library .sv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:980px){.sobol-videos-library .sv-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.sobol-videos-library .sv-grid{grid-template-columns:1fr;}}

.sv-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;box-shadow:0 10px 22px rgba(0,0,0,.06);position:relative}
.sv-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#eef2ff,#f6f7ff);position:relative;display:block}
.sv-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sv-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);backdrop-filter:blur(2px);opacity:0;transition:opacity .18s ease}
.sv-card.is-locked .sv-lock{opacity:1}
.sv-lock .badge{background:rgba(0,0,0,.68);color:#fff;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800}

.sv-body{padding:12px 12px 14px}
.sv-name{font-weight:900;font-size:15px;line-height:1.35;margin:0 0 10px}
.sv-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sv-pill{font-size:12px;font-weight:800;border-radius:999px;padding:6px 10px;border:1px solid rgba(0,0,0,.08);background:#fafafa}
.sv-pill.free{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.2)}
.sv-pill.silver{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2)}
.sv-pill.gold{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.25)}

.sv-btn{appearance:none;border:0;border-radius:12px;padding:9px 12px;font-weight:900;font-size:13px;cursor:pointer;background:#111;color:#fff}
.sv-btn.secondary{background:#f3f4f6;color:#111;border:1px solid rgba(0,0,0,.08)}
.sv-btn.primary{
  /* Match site palette (fallbacks) instead of purple */
  background:linear-gradient(
    135deg,
    var(--e-global-color-primary, #C8A56A),
    var(--sobol-primary-2, #B89155)
  ) !important;
}
.sv-btn:disabled{opacity:.6;cursor:not-allowed}

.sv-loading{padding:18px;text-align:center;opacity:.7;border:1px dashed rgba(0,0,0,.15);border-radius:14px;background:rgba(255,255,255,.6)}

/* Modals */
.sv-modal{position:fixed;inset:0;display:none;z-index:999999}
.sv-modal[aria-hidden="false"]{display:block}
.sv-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.sv-modal__panel{position:relative;max-width:460px;margin:8vh auto;background:#fff;border-radius:18px;box-shadow:0 18px 44px rgba(0,0,0,.35);padding:14px 14px 16px}
@media (max-width:520px){.sv-modal__panel{margin:10vh 12px}}
.sv-modal__close{
  position:absolute !important;
  top:12px !important;
  inset-inline-start:12px !important; /* RTL/LTR safe */
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  background:#fff !important;
  font-size:20px !important;
  line-height:34px !important;
  cursor:pointer !important;
  z-index:3;
}
.sv-modal__tabs{display:flex;gap:8px;margin:42px 0 10px} /* push tabs under the close button */
.sv-tab{flex:1;border-radius:12px;border:1px solid rgba(0,0,0,.08);padding:9px 10px;font-weight:900;background:#fafafa;cursor:pointer}
.sv-tab.active{background:#111;color:#fff;border-color:#111}
.sv-pane{display:none}
.sv-pane.active{display:block}
.sv-pane__hint{font-size:13px;opacity:.75;margin:6px 0 10px}
.sv-form{display:grid;gap:10px}
.sv-form label{font-size:12px;font-weight:900}
.sv-form input{width:100%;border-radius:12px;border:1px solid rgba(0,0,0,.12);padding:10px 12px;outline:none}
.sv-check{display:flex;align-items:center;gap:8px;font-size:13px;opacity:.9}
.sv-check input{width:auto}
.sv-mini-links{font-size:12px;opacity:.75}
.sv-mini-links a{text-decoration:underline}

.sv-modal__title{font-size:18px;font-weight:900;margin:6px 0 6px}
.sv-modal__desc{font-size:13px;opacity:.75;margin-bottom:12px}
.sv-packages{display:grid;gap:10px}
.sv-pack{border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fafafa}
.sv-pack .t{font-weight:900}
.sv-pack .s{font-size:12px;opacity:.75;margin-top:4px}

/* Student dashboard tab */
.sobol-student-videos{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;align-items:start}
@media (max-width:920px){.sobol-student-videos{grid-template-columns:1fr}}

.sv-player{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;box-shadow:0 10px 22px rgba(0,0,0,.06)}
.sv-player .sv-player__top{padding:12px 12px 10px;border-bottom:1px solid rgba(0,0,0,.06)}
.sv-player .sv-player__title{font-weight:900;font-size:16px;margin:0}
.sv-player .sv-player__sub{font-size:12px;opacity:.7;margin-top:4px}
.sv-iframe{aspect-ratio:16/9;background:#111}
.sv-iframe iframe{width:100%;height:100%;border:0;display:block}

.sv-side{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;box-shadow:0 10px 22px rgba(0,0,0,.06)}
.sv-side .sv-side__head{padding:12px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.sv-side .sv-side__title{font-weight:900}
.sv-side .sv-side__hint{font-size:12px;opacity:.7}
.sv-list{max-height:520px;overflow:auto;padding:10px;display:grid;gap:10px}
.sv-item{display:flex;gap:10px;align-items:center;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:10px;background:#fafafa;cursor:pointer}
.sv-item:hover{background:#fff}
.sv-item .t{font-weight:900;font-size:13px;line-height:1.35}
.sv-item .b{font-size:12px;opacity:.7;margin-top:4px}
.sv-item .thumb{width:74px;height:44px;border-radius:10px;background:linear-gradient(135deg,#eef2ff,#f6f7ff);overflow:hidden;flex:0 0 auto;position:relative}
.sv-item .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sv-item.is-locked .thumb:after{content:"🔒";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);color:#fff;font-size:16px}
