/* ═══════════════════════════════════════════════════════════════
   RETORIK MODULE — Premium CSS
   ═══════════════════════════════════════════════════════════════ */

/* ── Category Filter Pills ─────────────────────────────────── */
.ret-cat-pills { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:30px 0 40px; }
.ret-cat-pill {
  padding:10px 22px; border-radius:50px; border:1.5px solid rgba(139,92,246,.25);
  background:rgba(139,92,246,.06); color:#c4b5fd; font-size:.88rem; font-weight:600;
  cursor:pointer; transition:all .3s ease; text-decoration:none; user-select:none;
}
.ret-cat-pill:hover { background:rgba(139,92,246,.15); border-color:rgba(139,92,246,.5); color:#a78bfa; transform:translateY(-2px); }
.ret-cat-pill.active { background:linear-gradient(135deg,#7c3aed,#a855f7); border-color:#7c3aed; color:#fff; box-shadow:0 4px 20px rgba(124,58,237,.35); }

/* ── Section containers ────────────────────────────────────── */
.ret-exercise-section {
  background:rgba(15,23,42,.5); border:1px solid rgba(139,92,246,.12);
  border-radius:20px; padding:35px 30px; margin-bottom:35px;
  backdrop-filter:blur(10px); transition:all .3s ease;
}
.ret-exercise-section:hover { border-color:rgba(139,92,246,.25); }

.ret-ex-header { display:flex; align-items:center; gap:15px; margin-bottom:25px; }
.ret-ex-icon {
  width:52px; height:52px; border-radius:14px; display:flex; align-items:center;
  justify-content:center; font-size:1.5rem; flex-shrink:0;
}
.ret-ex-icon.ethos { background:rgba(59,130,246,.15); }
.ret-ex-icon.pathos { background:rgba(239,68,68,.15); }
.ret-ex-icon.logos { background:rgba(16,185,129,.15); }
.ret-ex-icon.yazim { background:rgba(245,158,11,.15); }
.ret-ex-icon.figurler { background:rgba(168,85,247,.15); }
.ret-ex-icon.analiz { background:rgba(236,72,153,.15); }

.ret-ex-title { font-size:1.4rem; font-weight:800; color:#e2e8f0; margin:0; }
.ret-ex-subtitle { font-size:.88rem; color:#94a3b8; margin-top:3px; }
.ret-ex-desc { color:#94a3b8; line-height:1.7; margin-bottom:25px; font-size:.95rem; }

/* ── Exercise Cards Grid ───────────────────────────────────── */
.ret-exercises-grid { display:grid; grid-template-columns:1fr; gap:20px; }

.ret-ex-card {
  background:rgba(30,41,59,.6); border:1px solid rgba(139,92,246,.1);
  border-radius:16px; padding:25px; transition:all .35s ease;
  position:relative; overflow:hidden;
}
.ret-ex-card::before {
  content:''; position:absolute; top:0; left:0; width:4px; height:100%;
  border-radius:4px 0 0 4px; transition:all .3s ease;
}
.ret-ex-card.ethos::before { background:linear-gradient(180deg,#3b82f6,#60a5fa); }
.ret-ex-card.pathos::before { background:linear-gradient(180deg,#ef4444,#f87171); }
.ret-ex-card.logos::before { background:linear-gradient(180deg,#10b981,#34d399); }
.ret-ex-card.yazim::before { background:linear-gradient(180deg,#f59e0b,#fbbf24); }
.ret-ex-card.figurler::before { background:linear-gradient(180deg,#a855f7,#c084fc); }
.ret-ex-card.analiz::before { background:linear-gradient(180deg,#ec4899,#f472b6); }

.ret-ex-card:hover { transform:translateY(-3px); border-color:rgba(139,92,246,.3); box-shadow:0 8px 30px rgba(0,0,0,.3); }

.ret-ex-card-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }
.ret-ex-card-num {
  width:32px; height:32px; border-radius:10px; display:flex; align-items:center;
  justify-content:center; font-size:.8rem; font-weight:800; color:#fff;
}
.ret-ex-card-num.ethos { background:rgba(59,130,246,.2); color:#60a5fa; }
.ret-ex-card-num.pathos { background:rgba(239,68,68,.2); color:#f87171; }
.ret-ex-card-num.logos { background:rgba(16,185,129,.2); color:#34d399; }
.ret-ex-card-num.yazim { background:rgba(245,158,11,.2); color:#fbbf24; }
.ret-ex-card-num.figurler { background:rgba(168,85,247,.2); color:#c084fc; }
.ret-ex-card-num.analiz { background:rgba(236,72,153,.2); color:#f472b6; }

.ret-ex-card-badge {
  font-size:.72rem; padding:4px 10px; border-radius:20px; font-weight:600;
}
.ret-badge-beginner { background:rgba(16,185,129,.12); color:#34d399; }
.ret-badge-intermediate { background:rgba(245,158,11,.12); color:#fbbf24; }
.ret-badge-advanced { background:rgba(239,68,68,.12); color:#f87171; }

.ret-ex-card h4 { color:#e2e8f0; font-size:1.1rem; font-weight:700; margin:0 0 10px; }
.ret-ex-card p { color:#94a3b8; font-size:.88rem; line-height:1.6; margin:0 0 15px; }

/* ── Exercise Steps ────────────────────────────────────────── */
.ret-steps { display:flex; flex-direction:column; gap:10px; margin:15px 0; }
.ret-step {
  display:flex; gap:12px; align-items:flex-start; padding:12px 15px;
  background:rgba(15,23,42,.5); border-radius:10px; border:1px solid rgba(139,92,246,.08);
}
.ret-step-num {
  width:26px; height:26px; min-width:26px; border-radius:8px; display:flex;
  align-items:center; justify-content:center; font-size:.75rem; font-weight:800;
  background:rgba(139,92,246,.15); color:#a78bfa;
}
.ret-step-text { color:#cbd5e1; font-size:.85rem; line-height:1.5; }

/* ── Quiz Component ────────────────────────────────────────── */
.ret-quiz-box {
  background:rgba(15,23,42,.7); border:1px solid rgba(139,92,246,.15);
  border-radius:16px; padding:25px; margin:20px 0;
}
.ret-quiz-question {
  font-size:1rem; font-weight:700; color:#e2e8f0; margin-bottom:18px;
  padding-left:15px; border-left:3px solid #7c3aed;
}
.ret-quiz-options { display:flex; flex-direction:column; gap:10px; }
.ret-quiz-option {
  padding:14px 18px; background:rgba(30,41,59,.8); border:1.5px solid rgba(100,116,139,.2);
  border-radius:12px; color:#cbd5e1; cursor:pointer; transition:all .25s ease;
  font-size:.9rem; display:flex; align-items:center; gap:12px;
}
.ret-quiz-option:hover { border-color:rgba(139,92,246,.4); background:rgba(139,92,246,.08); transform:translateX(4px); }
.ret-quiz-option.selected { border-color:#7c3aed; background:rgba(139,92,246,.12); }
.ret-quiz-option.correct { border-color:#10b981; background:rgba(16,185,129,.12); color:#34d399; }
.ret-quiz-option.wrong { border-color:#ef4444; background:rgba(239,68,68,.08); color:#f87171; }
.ret-quiz-option .opt-letter {
  width:28px; height:28px; border-radius:8px; display:flex; align-items:center;
  justify-content:center; font-size:.8rem; font-weight:700; background:rgba(100,116,139,.15);
  color:#94a3b8; flex-shrink:0;
}
.ret-quiz-option.correct .opt-letter { background:rgba(16,185,129,.2); color:#34d399; }
.ret-quiz-option.wrong .opt-letter { background:rgba(239,68,68,.2); color:#f87171; }

.ret-quiz-feedback {
  margin-top:15px; padding:15px 18px; border-radius:12px; font-size:.88rem;
  line-height:1.6; display:none;
}
.ret-quiz-feedback.show { display:block; animation:retFadeIn .3s ease; }
.ret-quiz-feedback.correct { background:rgba(16,185,129,.1); border:1px solid rgba(16,185,129,.25); color:#34d399; }
.ret-quiz-feedback.wrong { background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.2); color:#f87171; }

@keyframes retFadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* ── Scenario Box ──────────────────────────────────────────── */
.ret-scenario {
  background:linear-gradient(135deg,rgba(30,41,59,.8),rgba(15,23,42,.9));
  border:1px solid rgba(139,92,246,.15); border-radius:16px; padding:25px;
  margin:20px 0; position:relative;
}
.ret-scenario-label {
  position:absolute; top:-12px; left:20px; background:linear-gradient(135deg,#7c3aed,#a855f7);
  color:#fff; font-size:.72rem; font-weight:700; padding:4px 14px; border-radius:20px;
  text-transform:uppercase; letter-spacing:.5px;
}
.ret-scenario-text { color:#cbd5e1; font-size:.92rem; line-height:1.7; margin-top:10px; font-style:italic; }
.ret-scenario-analysis { margin-top:15px; padding-top:15px; border-top:1px solid rgba(139,92,246,.1); }
.ret-scenario-analysis h5 { color:#a78bfa; font-size:.85rem; margin:0 0 8px; }
.ret-scenario-analysis p { color:#94a3b8; font-size:.85rem; line-height:1.6; margin:0; }

/* ── Example Quote Block ───────────────────────────────────── */
.ret-example-quote {
  background:rgba(139,92,246,.06); border-left:4px solid #7c3aed;
  padding:20px 25px; border-radius:0 12px 12px 0; margin:15px 0;
}
.ret-example-quote p { color:#cbd5e1; font-size:1rem; font-style:italic; margin:0 0 8px; line-height:1.6; }
.ret-example-quote cite { color:#a78bfa; font-size:.82rem; font-weight:600; }
.ret-example-quote .ret-tags { margin-top:10px; display:flex; flex-wrap:wrap; gap:6px; }
.ret-example-quote .ret-tag {
  font-size:.7rem; padding:3px 10px; border-radius:20px;
  background:rgba(139,92,246,.12); color:#c4b5fd; font-weight:600;
}

/* ── Practice Textarea ─────────────────────────────────────── */
.ret-practice-area {
  width:100%; min-height:120px; background:rgba(15,23,42,.8);
  border:1.5px solid rgba(139,92,246,.15); border-radius:12px;
  padding:15px; color:#e2e8f0; font-size:.9rem; line-height:1.6;
  resize:vertical; font-family:inherit; transition:border-color .3s;
}
.ret-practice-area:focus { outline:none; border-color:#7c3aed; box-shadow:0 0 0 3px rgba(124,58,237,.15); }
.ret-practice-area::placeholder { color:#475569; }

/* ── Complete Button ───────────────────────────────────────── */
.ret-complete-btn {
  padding:12px 28px; border-radius:12px; border:1.5px solid rgba(139,92,246,.3);
  background:rgba(139,92,246,.08); color:#a78bfa; font-weight:700; font-size:.88rem;
  cursor:pointer; transition:all .3s ease; display:inline-flex; align-items:center; gap:8px;
}
.ret-complete-btn:hover { background:rgba(139,92,246,.2); transform:translateY(-2px); }
.ret-complete-btn.completed {
  background:linear-gradient(135deg,#10b981,#059669); border-color:#10b981;
  color:#fff; pointer-events:none;
}

/* ── Progress Bar (Module-specific) ────────────────────────── */
.ret-progress-wrap {
  background:rgba(15,23,42,.6); border:1px solid rgba(139,92,246,.12);
  border-radius:16px; padding:20px 25px; margin-bottom:30px;
}
.ret-progress-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.ret-progress-label { color:#c4b5fd; font-weight:700; font-size:.92rem; }
.ret-progress-count { color:#a78bfa; font-size:.85rem; font-weight:600; }
.ret-progress-bar-bg {
  width:100%; height:10px; background:rgba(100,116,139,.15);
  border-radius:10px; overflow:hidden;
}
.ret-progress-bar-fill {
  height:100%; background:linear-gradient(90deg,#7c3aed,#a855f7);
  border-radius:10px; transition:width .5s ease; width:0%;
}
.ret-progress-msg { color:#94a3b8; font-size:.78rem; margin-top:8px; }

/* ── Rhetorical Figure Card ────────────────────────────────── */
.ret-figure-card {
  background:rgba(30,41,59,.6); border:1px solid rgba(168,85,247,.12);
  border-radius:16px; padding:22px; transition:all .3s ease;
}
.ret-figure-card:hover { border-color:rgba(168,85,247,.3); transform:translateY(-2px); }
.ret-figure-name { color:#c084fc; font-size:1.05rem; font-weight:800; margin-bottom:5px; }
.ret-figure-def { color:#94a3b8; font-size:.85rem; margin-bottom:12px; line-height:1.5; }
.ret-figure-example {
  background:rgba(168,85,247,.06); border-left:3px solid #a855f7;
  padding:12px 15px; border-radius:0 10px 10px 0; color:#cbd5e1;
  font-style:italic; font-size:.88rem; line-height:1.5;
}

/* ── Speech Analysis Card ──────────────────────────────────── */
.ret-analysis-card {
  background:rgba(30,41,59,.6); border:1px solid rgba(236,72,153,.12);
  border-radius:16px; overflow:hidden; transition:all .3s ease;
}
.ret-analysis-card:hover { border-color:rgba(236,72,153,.3); }
.ret-analysis-header {
  background:linear-gradient(135deg,rgba(236,72,153,.1),rgba(168,85,247,.1));
  padding:20px; border-bottom:1px solid rgba(236,72,153,.1);
}
.ret-analysis-speaker { color:#f472b6; font-size:1.1rem; font-weight:800; margin-bottom:3px; }
.ret-analysis-speech { color:#94a3b8; font-size:.82rem; }
.ret-analysis-body { padding:20px; }
.ret-analysis-excerpt {
  background:rgba(15,23,42,.5); padding:15px; border-radius:10px;
  color:#cbd5e1; font-style:italic; font-size:.9rem; line-height:1.7;
  margin-bottom:15px; border-left:3px solid #ec4899;
}
.ret-analysis-tags { display:flex; flex-wrap:wrap; gap:6px; }
.ret-analysis-tag {
  font-size:.72rem; padding:4px 12px; border-radius:20px;
  background:rgba(236,72,153,.1); color:#f472b6; font-weight:600;
}

/* ── Accordion ─────────────────────────────────────────────── */
.ret-accordion { display:flex; flex-direction:column; gap:10px; }
.ret-acc-item {
  background:rgba(30,41,59,.5); border:1px solid rgba(139,92,246,.1);
  border-radius:14px; overflow:hidden; transition:all .3s ease;
}
.ret-acc-item.open { border-color:rgba(139,92,246,.25); }
.ret-acc-trigger {
  width:100%; padding:18px 20px; background:none; border:none; color:#e2e8f0;
  font-size:.95rem; font-weight:700; cursor:pointer; display:flex;
  align-items:center; justify-content:space-between; text-align:left;
}
.ret-acc-trigger:hover { background:rgba(139,92,246,.05); }
.ret-acc-arrow {
  font-size:.75rem; color:#94a3b8; transition:transform .3s ease;
}
.ret-acc-item.open .ret-acc-arrow { transform:rotate(180deg); color:#a78bfa; }
.ret-acc-body {
  max-height:0; overflow:hidden; transition:max-height .4s ease;
  padding:0 20px;
}
.ret-acc-item.open .ret-acc-body { max-height:2000px; padding:0 20px 20px; }

/* ── Tip Box ───────────────────────────────────────────────── */
.ret-tip-box {
  background:rgba(245,158,11,.06); border:1px solid rgba(245,158,11,.15);
  border-radius:12px; padding:18px 20px; margin:15px 0; display:flex; gap:12px; align-items:flex-start;
}
.ret-tip-icon { font-size:1.3rem; flex-shrink:0; }
.ret-tip-text { color:#fbbf24; font-size:.85rem; line-height:1.6; }

/* ── Responsive ────────────────────────────────────────────── */
@media(max-width:768px){
  .ret-exercise-section { padding:22px 18px; }
  .ret-ex-title { font-size:1.15rem; }
  .ret-cat-pills { gap:6px; }
  .ret-cat-pill { padding:8px 16px; font-size:.8rem; }
  .ret-quiz-option { padding:12px 14px; font-size:.85rem; }
  .ret-scenario { padding:20px 18px; }
  .ret-ex-card { padding:20px; }
}
@media(max-width:480px){
  .ret-cat-pills { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-bottom:8px; }
  .ret-cat-pill { white-space:nowrap; flex-shrink:0; }
}
