/* Avada LMS Frontend Styles */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --alms-primary:    #1a3c5e;
  --alms-accent:     #c9a84c;
  --alms-success:    #2d8a55;
  --alms-error:      #c0392b;
  --alms-bg:         #f8f9fb;
  --alms-card-bg:    #ffffff;
  --alms-text:       #2c3e50;
  --alms-muted:      #6c757d;
  --alms-border:     #e2e8f0;
  --alms-radius:     10px;
  --alms-shadow:     0 4px 20px rgba(0,0,0,.07);
  --alms-font:       'Plus Jakarta Sans', sans-serif;
}

/* ---- Grid ---- */
.avada-lms-course-grid { display:grid; gap:28px; }
.avada-lms-cols-1 { grid-template-columns: 1fr; }
.avada-lms-cols-2 { grid-template-columns: repeat(2,1fr); }
.avada-lms-cols-3 { grid-template-columns: repeat(3,1fr); }
.avada-lms-cols-4 { grid-template-columns: repeat(4,1fr); }
@media(max-width:900px) { .avada-lms-cols-3,.avada-lms-cols-4 { grid-template-columns: repeat(2,1fr); } }
@media(max-width:600px) { .avada-lms-course-grid { grid-template-columns: 1fr !important; } }

/* ---- Card ---- */
.avada-lms-card {
  background: var(--alms-card-bg);
  border-radius: var(--alms-radius);
  box-shadow: var(--alms-shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s, box-shadow .2s;
  font-family: var(--alms-font);
}
.avada-lms-card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,.12); }
.avada-lms-card-thumb img { width:100%; height:200px; object-fit:cover; display:block; }
.avada-lms-card-body { padding:20px; flex:1; display:flex; flex-direction:column; }
.avada-lms-card-title { font-size:17px; font-weight:700; color:var(--alms-primary); margin:8px 0; line-height:1.3; }
.avada-lms-card-title a { text-decoration:none; color:inherit; }
.avada-lms-card-excerpt { font-size:14px; color:var(--alms-muted); flex:1; }
.avada-lms-card-meta { font-size:13px; color:var(--alms-muted); margin:12px 0 8px; display:flex; gap:12px; align-items:center; }
.avada-lms-card-footer { display:flex; align-items:center; justify-content:space-between; margin-top:16px; border-top:1px solid var(--alms-border); padding-top:14px; }
.avada-lms-card-price { font-weight:700; font-size:16px; color:var(--alms-primary); }

/* ---- Buttons ---- */
.avada-lms-btn-enroll, .avada-lms-btn-enrolled {
  background: var(--alms-primary);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background .2s, transform .1s;
  font-family: var(--alms-font);
}
.avada-lms-btn-enroll:hover { background: #0f2640; transform:translateY(-1px); }
.avada-lms-btn-enrolled { background: var(--alms-success); }
.avada-lms-btn-enrolled:hover { background: #1f6b3f; }

/* ---- Badges ---- */
.avada-lms-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.avada-lms-badge-active      { background:#dff0d8; color:#1f6b3f; }
.avada-lms-badge-completed   { background:#d0e8ff; color:#1a4a8a; }
.avada-lms-badge-suspended   { background:#f8d7da; color:#a01919; }
.avada-lms-badge-level       { background:#fef3cd; color:#7d5a00; }

/* ---- Progress ---- */
.avada-lms-progress-wrap {
  background: var(--alms-border);
  border-radius: 99px;
  height: 8px;
  overflow: hidden;
  margin: 8px 0 4px;
}
.avada-lms-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--alms-accent), var(--alms-primary));
  border-radius: 99px;
  transition: width .4s ease;
}

/* ---- My Courses ---- */
.avada-lms-my-course-item {
  background: var(--alms-card-bg);
  border-radius: var(--alms-radius);
  box-shadow: var(--alms-shadow);
  padding: 18px 20px;
  margin-bottom: 16px;
  font-family: var(--alms-font);
}
.avada-lms-my-course-item h3 { font-size:16px; color:var(--alms-primary); margin-bottom:8px; }
.avada-lms-my-course-item h3 a { text-decoration:none; color:inherit; }

/* ---- Alerts ---- */
.avada-lms-alert { padding:14px 18px; border-radius:8px; margin-bottom:16px; font-size:14px; font-family:var(--alms-font); }
.avada-lms-alert-success { background:#dff0d8; color:#1f6b3f; border:1px solid #b2dba1; }
.avada-lms-alert-error   { background:#f8d7da; color:#a01919; border:1px solid #f5c6cb; }

/* ---- Quiz ---- */
.avada-lms-quiz { font-family:var(--alms-font); }
.avada-lms-quiz h2 { color:var(--alms-primary); margin-bottom:20px; }
.avada-lms-question { background:var(--alms-bg); border-radius:8px; padding:16px 20px; margin-bottom:16px; }
.avada-lms-question label { display:block; margin:8px 0; font-size:14px; cursor:pointer; }
.avada-lms-quiz-history { margin-top:24px; }
.avada-lms-quiz-history table { width:100%; border-collapse:collapse; font-size:13px; }
.avada-lms-quiz-history th, .avada-lms-quiz-history td { padding:8px 12px; text-align:left; border-bottom:1px solid var(--alms-border); }
.avada-lms-quiz-history th { background:var(--alms-bg); font-weight:600; }
.avada-lms-quiz-result { margin-top:16px; }

/* ---- Forum ---- */
.avada-lms-forum { font-family:var(--alms-font); }
.avada-lms-forum h3 { color:var(--alms-primary); margin-bottom:16px; }
.avada-lms-forum-compose textarea {
  width:100%; border:1px solid var(--alms-border); border-radius:8px; padding:12px 14px;
  font-family:var(--alms-font); font-size:14px; resize:vertical;
}
.avada-lms-forum-compose { margin-bottom:24px; }
.avada-lms-forum-post {
  background:var(--alms-card-bg); border-radius:8px; padding:14px 16px;
  margin-bottom:12px; box-shadow:var(--alms-shadow);
}
.avada-lms-forum-meta { font-size:12px; color:var(--alms-muted); margin-bottom:6px; }
.avada-lms-forum-content { font-size:14px; color:var(--alms-text); line-height:1.6; }
.avada-lms-forum-reply-btn { font-size:12px; color:var(--alms-primary); background:none; border:none; cursor:pointer; padding:4px 0; font-weight:600; }

/* ---- Certificates ---- */
.avada-lms-cert-item {
  display:flex; align-items:center; gap:16px;
  background:var(--alms-card-bg); border-radius:var(--alms-radius);
  box-shadow:var(--alms-shadow); padding:16px 20px; margin-bottom:12px;
  font-family:var(--alms-font);
}
.avada-lms-cert-item .dashicons { font-size:32px; color:var(--alms-accent); flex-shrink:0; }
.avada-lms-cert-item > div { flex:1; }
.avada-lms-cert-item small { color:var(--alms-muted); font-size:12px; }
