/* ─── BTP — Beyond the Prompt — Course-Specific Styles ─────────────────── */

/* Course name in lesson hero */
.course-name-hero{font-size:1.15rem;font-weight:700;color:rgba(245,242,236,.78);letter-spacing:.03em;margin:0 0 .55rem}

/* Lesson title in main content column */
.shell-lesson-title{font-size:1.25rem;font-weight:800;color:var(--text);margin:0 0 .2rem;letter-spacing:-.02em}

/* Course name in sidebar rail */
.rail-course-title{font-size:.88rem;font-weight:700;color:var(--text);margin:0 0 .6rem;line-height:1.3}

/* Flashcard grid */
.flashcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem;margin-top:1rem}
.flashcard{all:unset;cursor:pointer;perspective:800px;min-height:140px;display:block}
.flashcard-inner{position:relative;display:grid;grid-template-areas:"stack";min-height:140px;transition:transform .45s;transform-style:preserve-3d}
.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}
.flashcard-front,.flashcard-back{grid-area:stack;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:10px;padding:1rem;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}
.flashcard-front{background:linear-gradient(180deg,#f8f5ef,#f3eee5);border:1px solid #e3dacd;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.flashcard-front strong{color:var(--text);font-size:.95rem;line-height:1.4}
.flashcard-back{background:linear-gradient(135deg,#5b4a3a 0%,#3a3632 60%);border:1px solid rgba(245,242,236,.15);transform:rotateY(180deg)}
.flashcard-back p{color:rgba(245,242,236,.92);font-size:.85rem;line-height:1.55;margin:0}

/* Flashcard area heading */
#flashcardArea{margin-top:1.4rem}
#flashcardArea h3{margin:.5rem 0 .2rem;color:var(--text)}
#flashcardArea .course-text{margin-bottom:0}

/* Video embed */
.video-wrap{margin-top:1.4rem}
.video-container{position:relative;width:100%;padding-bottom:56.25%;margin-top:.8rem;border-radius:10px;overflow:hidden;background:#1a1a1a}
.video-container iframe{position:absolute;inset:0;width:100%;height:100%;border:none}

/* Resources list */
.resources-wrap{margin-top:1rem}
.resource-list{list-style:none;margin:.7rem 0 0;padding:0}
.resource-list li{margin:.45rem 0}
.resource-list li a{color:var(--accent);text-decoration:none;font-weight:600;font-size:.88rem}
.resource-list li a:hover{text-decoration:underline}
.resource-list li p.resource-summary{margin:.2rem 0 .6rem 0;font-size:.82rem;line-height:1.5;color:var(--text-2)}

/* Media area container */
#mediaArea{margin-top:.5rem}

/* Exam page styles */
.exam-hero-note{margin-top:.6rem;font-size:.88rem;color:rgba(245,242,236,.55)}
.exam-intro{max-width:760px;margin:0 auto}
.exam-intro .summary-stack{margin-top:1rem}
.exam-start-area{text-align:center;margin-top:1.5rem}
#examTimer{font-size:1.6rem;font-weight:800;letter-spacing:.04em;color:var(--accent);position:sticky;top:70px;background:var(--bg);z-index:20;padding:.6rem 0;text-align:center;border-bottom:1px solid var(--border-light)}
.exam-question{padding:1.3rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);margin-bottom:1rem}
.exam-question h4{margin:0 0 .6rem;color:var(--text);font-size:.92rem}
.exam-prompt{color:var(--text);margin:0 0 .8rem;line-height:1.6}
.exam-options{display:grid;gap:.5rem}
.exam-submit{margin-top:1rem;width:100%}

/* Certificate adjustments for BTP */
.btp-cert-topics{font-size:.88rem;line-height:1.65;color:var(--text-2)}

/* ─── Link the Concepts exercise ─── */
#linkConceptsArea{margin-top:1.4rem}
#linkConceptsArea:empty{display:none}
.lc-top h3{margin:.45rem 0 .2rem;color:var(--text)}
.lc-top .course-text{margin:0}
.lc-progress{margin:.9rem 0 .2rem;font-size:.85rem;font-weight:700;color:var(--text-2)}
.lc-progress.complete{color:#2b7a3f}
.lc-columns{display:grid;grid-template-columns:0.8fr 1.1fr 1.4fr;gap:.7rem;margin-top:.7rem}
.lc-col{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.65rem .55rem}
.lc-col h4{margin:0 0 .5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-3)}
.lc-chips{display:flex;flex-direction:column;gap:.4rem}
.lc-chip{all:unset;cursor:pointer;display:block;padding:.55rem .7rem;border-radius:8px;background:#faf7f1;border:1px solid #e3dacd;color:var(--text);font-size:.85rem;line-height:1.4;text-align:left;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;box-sizing:border-box}
.lc-chip:hover{background:#f3ebd9;border-color:#c7b897}
.lc-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lc-chip.selected{background:#fff3dd;border-color:#b45309;box-shadow:0 0 0 2px rgba(180,83,9,.25)}
.lc-chip.locked-done{background:linear-gradient(135deg,#d0eacb,#b0dcaa);border-color:#7dbb74;color:#1e4a1a;font-weight:600;cursor:help}
.lc-chip.locked-done:hover{filter:brightness(1.03)}
.lc-chip.shake{animation:lcShake .5s}
@keyframes lcShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.lc-feedback{margin:.9rem 0 0;font-size:.85rem;color:var(--text-2);min-height:1.2em;transition:color .2s}
.lc-feedback.is-error{color:#a4430b;font-weight:600}

/* Popup modal */
.lc-popup-overlay{position:fixed;inset:0;background:rgba(58,54,50,.55);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:2000;opacity:0;pointer-events:none;transition:opacity .22s}
.lc-popup-overlay.show{opacity:1;pointer-events:auto}
.lc-popup{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.4rem 1.2rem 1.15rem;max-width:440px;width:100%;box-shadow:0 22px 60px rgba(0,0,0,.3);position:relative;transform:translateY(18px);transition:transform .22s;text-align:center}
.lc-popup-overlay.show .lc-popup{transform:translateY(0)}
.lc-popup-close{all:unset;cursor:pointer;position:absolute;top:.35rem;right:.6rem;font-size:1.35rem;line-height:1;padding:.3rem .55rem;border-radius:6px;color:var(--text-2)}
.lc-popup-close:hover{background:var(--surface2);color:var(--text)}
.lc-popup-tick{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#7dbb74,#5fa058);color:#fff;font-size:1.4rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto .6rem;box-shadow:0 6px 16px rgba(125,187,116,.35)}
.lc-popup h4{margin:0 0 .4rem;color:var(--text);font-size:1.1rem}
.lc-popup p{margin:0 0 1rem;color:var(--text-2);font-size:.92rem;line-height:1.55}
.lc-popup-ok{min-width:120px}

/* Responsive tweaks */
@media(max-width:860px){
  .lc-columns{grid-template-columns:1fr}
  .lc-col{padding:.6rem .55rem}
  .lc-col h4{font-size:.67rem}
  .lc-chip{font-size:.85rem;padding:.6rem .7rem}
}
@media(max-width:768px){
  .flashcard-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}
  .flashcard,.flashcard-inner{min-height:120px}
  #examTimer{font-size:1.3rem;top:56px}
}
@media(max-width:560px){
  .flashcard-grid{grid-template-columns:1fr 1fr;gap:.5rem}
  .flashcard,.flashcard-inner{min-height:110px}
  .flashcard-front strong{font-size:.85rem}
  .flashcard-back p{font-size:.8rem}
}
@media(max-width:480px){
  .lc-popup-overlay{align-items:flex-end;padding:0}
  .lc-popup{max-width:none;border-radius:16px 16px 0 0;padding:1.2rem 1rem 1.4rem;transform:translateY(100%)}
  .lc-popup-overlay.show .lc-popup{transform:translateY(0)}
}
