/* SMP Vault – Kurskomponenten */
.smpv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;margin:8px 0 40px}
.smpv-card{display:flex;flex-direction:column;background:var(--v-card,#fff);border:1px solid var(--v-line,#E3E8F2);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
a.smpv-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px -26px rgba(11,21,48,.45)}
.smpv-card__img{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,var(--c-primary,#1877F2),var(--c-dark,#0A2A66)) center/cover no-repeat}
.smpv-card{border-top:4px solid var(--c-primary,#1877F2)}
.smpv-card.is-zu .smpv-card__img,.smpv-card.is-bald .smpv-card__img{filter:saturate(.55)}
.smpv-card.is-zu .smpv-card__img::after,.smpv-card.is-bald .smpv-card__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,21,48,.15),rgba(11,21,48,.55))}
.smpv-lock{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.95);color:#0B1530;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.smpv-chip{position:absolute;z-index:2;left:14px;top:14px;padding:6px 11px;border-radius:999px;background:rgba(11,21,48,.78);color:#fff;font:600 12px/1 var(--v-sans,system-ui);letter-spacing:.02em;backdrop-filter:blur(6px)}
.smpv-card__body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.smpv-card__body h3{margin:0;font:700 21px/1.2 var(--v-head,system-ui);color:var(--v-ink,#0B1530)}
.smpv-card__body p{margin:0;color:var(--v-muted,#5A6478);font-size:15px;line-height:1.5}
.smpv-card__foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.smpv-meta{font-size:13px;color:var(--v-muted,#5A6478)}
.smpv-btn{display:inline-flex;align-items:center;gap:7px;padding:11px 18px;border-radius:12px;background:var(--c-primary,var(--v-accent,#1877F2));color:var(--c-on,#fff)!important;font:600 15px/1 var(--v-sans,system-ui);text-decoration:none;border:0;cursor:pointer;white-space:nowrap}
.smpv-btn--ghost{background:transparent;color:var(--v-ink,#0B1530)!important;box-shadow:inset 0 0 0 1.5px var(--v-line2,#C9D3E6)}
.smpv-card.is-bald .smpv-btn{opacity:.7}

.smpv-box{background:var(--v-card,#fff);border:1px solid var(--v-line,#E3E8F2);border-radius:16px;padding:18px 20px;margin:22px 0}
.smpv-box strong{display:block;margin-bottom:12px;font-family:var(--v-head,system-ui)}
.smpv-dls{display:flex;flex-wrap:wrap;gap:10px}
.smpv-dl{display:inline-flex;align-items:center;gap:9px;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--c-primary,#1877F2) 12%,#fff);color:var(--c-dark,#0A2A66);font-weight:600;text-decoration:none;font-size:15px}
.smpv-dl:hover{background:color-mix(in srgb,var(--c-primary,#1877F2) 20%,#fff)}

.smpv-modules{display:grid;gap:18px;margin:10px 0 40px}
.smpv-module{background:var(--v-card,#fff);border:1px solid var(--v-line,#E3E8F2);border-radius:18px;padding:20px 22px}
.smpv-module__head{margin-bottom:10px}
.smpv-module__nr{font:600 12px/1 var(--v-mono,ui-monospace,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--c-primary,#1877F2)}
.smpv-module__head h2{margin:8px 0 0;font:700 20px/1.25 var(--v-head,system-ui)}
.smpv-lessons{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.smpv-lessons a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;text-decoration:none;color:var(--v-ink,#0B1530)}
.smpv-lessons a:hover{background:color-mix(in srgb,var(--c-primary,#1877F2) 7%,#fff)}
.smpv-play{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c-primary,#1877F2) 14%,#fff);color:var(--c-dark,#1877F2)}
.smpv-lnr{flex:none;min-width:34px;font:600 13px var(--v-mono,ui-monospace,monospace);color:var(--v-muted,#5A6478)}
.smpv-lt{flex:1;font-weight:500}
.smpv-has-dl{color:var(--v-muted,#5A6478)}

.smpv-video{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0B1530;box-shadow:0 30px 60px -36px rgba(11,21,48,.6)}
.smpv-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.smpv-video--leer{display:grid;place-items:center;color:#9FB0CF;font-size:15px}
.smpv-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 6px;flex-wrap:wrap}
.smpv-nav .smpv-btn{max-width:42%;overflow:hidden;text-overflow:ellipsis}
.smpv-nav__all{font-weight:600;color:var(--v-muted,#5A6478);text-decoration:none}
.smpv-progress{text-align:center;color:var(--v-muted,#5A6478);font-size:13px}

.smpv-auth{max-width:420px;margin:10px auto 40px;background:var(--v-card,#fff);border:1px solid var(--v-line,#E3E8F2);border-radius:20px;padding:28px}
.smpv-auth label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.smpv-auth input[type=text],.smpv-auth input[type=password]{width:100%;box-sizing:border-box;padding:13px 14px;border:1.5px solid #D5DDEB;border-radius:12px;font-size:16px;margin-bottom:14px}
.smpv-auth input[type=submit]{width:100%;padding:14px;border:0;border-radius:12px;background:#1877F2;color:#fff;font-weight:700;font-size:16px;cursor:pointer}
.smpv-auth .login-remember label{display:flex;gap:8px;align-items:center;font-weight:500}
.smpv-auth__lost{text-align:center;margin:14px 0 0}
.smpv-err{background:#FFF1F1;color:#A3161B;border-radius:10px;padding:10px 12px}

@media (max-width:640px){
  .smpv-nav .smpv-btn{max-width:100%;width:100%;justify-content:center}
  .smpv-nav{flex-direction:column-reverse}
  .smpv-lt{font-size:15px}
}
