/* Lesson player (single-lesson.php) */

.nt-lesson__grid{display:grid;grid-template-columns:1fr 340px;gap:var(--nt-sp-8);align-items:start}
@media (max-width:960px){.nt-lesson__grid{grid-template-columns:1fr}}

.nt-lesson__main{background:#fff;border-radius:var(--nt-r-xl);padding:var(--nt-sp-6);box-shadow:var(--nt-shadow-sm)}
.nt-lesson__head{margin-bottom:var(--nt-sp-5)}
.nt-lesson__title{margin:0 0 var(--nt-sp-2);font-size:var(--nt-fs-2xl)}
.nt-lesson__meta{color:var(--nt-text-muted);font-size:var(--nt-fs-sm);display:flex;gap:var(--nt-sp-2);flex-wrap:wrap}

.nt-lesson__gate{background:var(--nt-slate-50);border:1px solid var(--nt-border);border-radius:var(--nt-r-lg);padding:var(--nt-sp-6);text-align:center}
.nt-lesson__gate p{margin:0 0 var(--nt-sp-4);font-size:var(--nt-fs-lg)}
.nt-lesson__gate--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}

.nt-lesson__player{background:linear-gradient(135deg,var(--nt-primary-50),#fff);border:1px solid var(--nt-border);border-radius:var(--nt-r-lg);padding:var(--nt-sp-5);margin-bottom:var(--nt-sp-6)}
.nt-lesson__status{font-size:var(--nt-fs-sm);color:var(--nt-text-muted);margin-bottom:var(--nt-sp-3)}
.nt-lesson__status.is-error{color:#b91c1c}
.nt-lesson__audio{width:100%;display:block}
.nt-lesson__audio::-webkit-media-controls-enclosure{border-radius:var(--nt-r-md)}

/* Hide native audio element — custom controls take over */
#nt-lesson-audio{display:none}

/* ============================================================
 * Custom circular audio player
 * ============================================================ */
.nt-player{display:flex;align-items:center;gap:var(--nt-sp-5);background:#fff;border-radius:var(--nt-r-xl);padding:var(--nt-sp-4) var(--nt-sp-5);box-shadow:0 6px 20px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);position:relative}
@media (max-width:560px){.nt-player{flex-direction:column;text-align:center;gap:var(--nt-sp-4);padding:var(--nt-sp-5)}}

/* --- Cover (rotating disc) --- */
.nt-player__cover{flex:0 0 auto;position:relative;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#1e293b 0,#0f172a 60%,#020617 100%);box-shadow:0 8px 24px rgba(15,23,42,.25),inset 0 0 0 6px rgba(255,255,255,.04)}
.nt-player__cover-disc{position:absolute;inset:8px;border-radius:50%;background-color:#0f172a;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);box-shadow:inset 0 0 0 2px rgba(255,255,255,.08);animation:nt-spin 14s linear infinite;animation-play-state:paused}
.nt-player.is-playing .nt-player__cover-disc{animation-play-state:running}
.nt-player__cover-pin{position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,#fff 0 30%,#94a3b8 31% 60%,#475569 61% 100%);transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.35),0 0 0 2px rgba(15,23,42,.6)}
@keyframes nt-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.nt-player__cover-disc{animation:none !important}}

/* --- Body (title + progress + controls) --- */
.nt-player__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--nt-sp-3)}
.nt-player__title{font-weight:var(--nt-fw-medium);font-size:var(--nt-fs-base);color:var(--nt-text-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* --- Progress / seek --- */
.nt-player__progress{display:flex;flex-direction:column;gap:6px}
.nt-player__seek{position:relative;height:18px;display:flex;align-items:center;cursor:pointer;outline:none;touch-action:none}
.nt-player__seek-track,.nt-player__seek-fill{position:absolute;left:0;right:0;height:6px;border-radius:999px}
.nt-player__seek-track{background:var(--nt-slate-100)}
.nt-player__seek-fill{background:linear-gradient(90deg,var(--nt-primary-500),var(--nt-primary-600));width:0;right:auto;transition:width .1s linear}
[dir="rtl"] .nt-player__seek-fill{right:0;left:auto;background:linear-gradient(270deg,var(--nt-primary-500),var(--nt-primary-600))}
.nt-player__seek-handle{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--nt-primary-500),0 2px 6px rgba(15,23,42,.2);transform:translate(-50%,-50%);left:0;transition:left .1s linear,opacity .15s;opacity:0;pointer-events:none}
[dir="rtl"] .nt-player__seek-handle{transform:translate(50%,-50%);left:auto;right:0;transition:right .1s linear,opacity .15s}
.nt-player__seek:hover .nt-player__seek-handle,.nt-player__seek:focus-visible .nt-player__seek-handle,.nt-player.is-scrubbing .nt-player__seek-handle{opacity:1}
.nt-player__seek:focus-visible .nt-player__seek-track{box-shadow:0 0 0 3px var(--nt-primary-100)}
.nt-player__times{display:flex;justify-content:space-between;font-size:var(--nt-fs-xs);color:var(--nt-text-muted);font-variant-numeric:tabular-nums}

/* --- Controls --- */
.nt-player__controls{display:flex;align-items:center;justify-content:center;gap:var(--nt-sp-3)}
.nt-player__btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--nt-text-body);cursor:pointer;border-radius:50%;transition:transform .15s ease,background .15s ease,color .15s ease}
.nt-player__btn:hover{background:var(--nt-slate-50);color:var(--nt-primary-600)}
.nt-player__btn:active{transform:scale(.94)}
.nt-player__btn:focus-visible{outline:2px solid var(--nt-primary-500);outline-offset:2px}
.nt-player__btn--skip{width:42px;height:42px;color:var(--nt-text-muted)}
.nt-player__btn--play{width:56px;height:56px;background:linear-gradient(135deg,var(--nt-primary-500),var(--nt-primary-600));color:#fff;box-shadow:0 6px 16px rgba(16,185,129,.35)}
.nt-player__btn--play:hover{background:linear-gradient(135deg,var(--nt-primary-600),var(--nt-primary-700));color:#fff;transform:scale(1.04)}
.nt-player__btn--play .nt-player__icon-pause{display:none}
.nt-player.is-playing .nt-player__btn--play .nt-player__icon-play{display:none}
.nt-player.is-playing .nt-player__btn--play .nt-player__icon-pause{display:block}
.nt-player__btn--speed{width:42px;height:30px;border-radius:999px;font-size:var(--nt-fs-xs);font-weight:var(--nt-fw-medium);color:var(--nt-text-muted);background:var(--nt-slate-50)}
.nt-player__btn--speed:hover{background:var(--nt-primary-50);color:var(--nt-primary-600)}

/* Loading state — pulse the cover */
.nt-player.is-loading .nt-player__cover{animation:nt-pulse 1.4s ease-in-out infinite}
@keyframes nt-pulse{0%,100%{box-shadow:0 8px 24px rgba(15,23,42,.25),inset 0 0 0 6px rgba(255,255,255,.04)}50%{box-shadow:0 8px 24px rgba(16,185,129,.4),inset 0 0 0 6px rgba(16,185,129,.15)}}

.nt-lesson__actions{display:flex;gap:var(--nt-sp-3);flex-wrap:wrap;margin-top:var(--nt-sp-4)}
#nt-lesson-complete.is-done{background:var(--nt-primary-600);cursor:default;opacity:.85}

.nt-lesson__content{margin-top:var(--nt-sp-5);line-height:1.9;color:var(--nt-text-body)}
.nt-lesson__content:empty{display:none}

/* Attachments (Tutor practice files) — revealed after completion */
.nt-lesson__attachments{margin-top:var(--nt-sp-5);background:#fff;border:1px solid var(--nt-border);border-radius:var(--nt-r-lg);padding:var(--nt-sp-5);animation:nt-fade-in .35s ease}
.nt-lesson__attachments[hidden]{display:none}
.nt-lesson__attachments-head{display:flex;align-items:center;gap:var(--nt-sp-2);margin-bottom:var(--nt-sp-3);flex-wrap:wrap}
.nt-lesson__attachments-head h4{margin:0;font-size:var(--nt-fs-base)}
.nt-lesson__attachments-icon{font-size:18px}
.nt-lesson__attachments-hint{margin-inline-start:auto;font-size:var(--nt-fs-xs);color:var(--nt-primary-600);background:var(--nt-primary-50);padding:2px 10px;border-radius:var(--nt-r-full)}
.nt-lesson__attachments ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--nt-sp-2)}
.nt-lesson__attachments li a{display:flex;align-items:center;justify-content:space-between;gap:var(--nt-sp-3);padding:var(--nt-sp-3) var(--nt-sp-4);background:var(--nt-slate-50);border:1px solid var(--nt-border);border-radius:var(--nt-r-md);color:var(--nt-text-body);text-decoration:none;transition:var(--nt-t-fast)}
.nt-lesson__attachments li a:hover{border-color:var(--nt-primary-400);background:var(--nt-primary-50)}
.nt-lesson__attachments-file{display:flex;flex-direction:column;gap:2px;min-width:0}
.nt-lesson__attachments-file strong{font-weight:var(--nt-fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nt-lesson__attachments-file small{color:var(--nt-text-muted);font-size:var(--nt-fs-xs)}
.nt-lesson__attachments-download{color:var(--nt-primary-600);font-weight:var(--nt-fw-medium);flex-shrink:0}

@keyframes nt-fade-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

.nt-lesson__nav{display:flex;justify-content:space-between;margin-top:var(--nt-sp-6);padding-top:var(--nt-sp-5);border-top:1px solid var(--nt-border)}
#nt-lesson-next-link.is-unlocked{background:var(--nt-primary-500);color:#fff}

.nt-lesson__aside{position:sticky;top:90px;display:flex;flex-direction:column;gap:var(--nt-sp-5)}
@media (max-width:960px){.nt-lesson__aside{position:static}}

.nt-lesson__progress{background:#fff;border-radius:var(--nt-r-lg);padding:var(--nt-sp-4);box-shadow:var(--nt-shadow-sm)}
.nt-lesson__progress-label{display:flex;justify-content:space-between;margin-bottom:var(--nt-sp-2);font-size:var(--nt-fs-sm);font-weight:var(--nt-fw-medium)}
.nt-lesson__progress-bar{background:var(--nt-slate-100);border-radius:var(--nt-r-full);height:8px;overflow:hidden}
.nt-lesson__progress-fill{height:100%;background:var(--nt-primary-500);transition:width .3s}
.nt-lesson__progress-meta{margin:var(--nt-sp-2) 0 0;font-size:var(--nt-fs-xs);color:var(--nt-text-muted)}

.nt-lesson__curriculum{background:#fff;border-radius:var(--nt-r-lg);padding:var(--nt-sp-4);box-shadow:var(--nt-shadow-sm)}
.nt-lesson__curriculum h4{margin:0 0 var(--nt-sp-3);font-size:var(--nt-fs-base)}
.nt-lesson__topic{margin-bottom:var(--nt-sp-3)}
.nt-lesson__topic-title{font-weight:var(--nt-fw-medium);font-size:var(--nt-fs-sm);margin-bottom:var(--nt-sp-2)}
.nt-lesson__curriculum ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.nt-lesson__curriculum li a{display:flex;gap:var(--nt-sp-2);align-items:center;padding:var(--nt-sp-2) var(--nt-sp-3);border-radius:var(--nt-r-sm);color:var(--nt-text-body);text-decoration:none;font-size:var(--nt-fs-sm);transition:var(--nt-t-fast)}
.nt-lesson__curriculum li a:hover{background:var(--nt-slate-50)}
.nt-lesson__curriculum li.is-current a{background:var(--nt-primary-50);color:var(--nt-primary-700);font-weight:var(--nt-fw-medium)}
.nt-lesson__curriculum li.is-done .nt-lesson__icon{color:var(--nt-primary-500)}
.nt-lesson__icon{display:inline-block;width:18px;text-align:center;font-weight:bold}
