/* ── Root / Design tokens ──────────────────────────────────────────────── */
:root {
  --ws-wine:        #6b1626;
  --ws-wine-dark:    #4a0e1a;
  --ws-gold:        #c8973a;
  --ws-cream:       #fbf8f4;
  --ws-dark:        #2a1a1d;
  --ws-muted:       #7a6a6d;
  --ws-border:      #e9e0dd;
  --ws-radius:      12px;
  --ws-radius-sm:   8px;
  --ws-shadow:      0 2px 12px rgba(107, 22, 38, 0.07);
  --ws-shadow-hover:0 4px 20px rgba(107, 22, 38, 0.14);
}

/* ── Base ──────────────────────────────────────────────────────────────── */
body {
  font-family: 'Inter', system-ui, sans-serif;
  background: var(--ws-cream);
  color: var(--ws-dark);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main { flex: 1; }

h1, h2, h3, h4, h5, h6,
.fw-700 { font-family: 'Playfair Display', serif; }
.fw-700 { font-weight: 700 !important; }
.fw-600 { font-weight: 600 !important; }

a { color: var(--ws-wine); }
a:hover { color: var(--ws-wine-dark); }

/* ── Navbar ────────────────────────────────────────────────────────────── */
.ws-navbar {
  background: var(--ws-wine);
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.ws-navbar .navbar-brand {
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
}
.ws-navbar .nav-link { color: rgba(255,255,255,0.85) !important; }
.ws-navbar .nav-link:hover,
.ws-navbar .nav-link.active { color: #fff !important; }
.ws-navbar .dropdown-menu { border-radius: var(--ws-radius-sm); border: 1px solid var(--ws-border); }

/* ── Footer ────────────────────────────────────────────────────────────── */
.ws-footer {
  background: #f3eae7;
  border-top: 1px solid var(--ws-border);
}

/* ── Buttons ───────────────────────────────────────────────────────────── */
.btn-primary {
  background: var(--ws-wine);
  border-color: var(--ws-wine);
}
.btn-primary:hover, .btn-primary:focus {
  background: var(--ws-wine-dark);
  border-color: var(--ws-wine-dark);
}
.btn-outline-primary {
  color: var(--ws-wine);
  border-color: var(--ws-wine);
}
.btn-outline-primary:hover {
  background: var(--ws-wine);
  border-color: var(--ws-wine);
}
.text-primary { color: var(--ws-wine) !important; }

/* ── Cards ─────────────────────────────────────────────────────────────── */
.ws-card {
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius);
  box-shadow: var(--ws-shadow);
}

/* ── Dashboard scope rows ─────────────────────────────────────────────── */
.ws-scope-row {
  padding: 0.9rem 1.25rem;
  border-bottom: 1px solid var(--ws-border);
}
.ws-scope-row:last-child { border-bottom: none; }
.ws-scope-row:hover { background: #fbf3f0; }

.ws-level-badge {
  background: var(--ws-border);
  color: var(--ws-muted);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.ws-level-pips i { font-size: 0.8rem; margin-right: 1px; }

/* ── Quiz choices ──────────────────────────────────────────────────────── */
.ws-choice {
  border-radius: var(--ws-radius-sm);
  padding: 0.75rem 1rem;
  font-weight: 500;
}
.ws-choice-correct {
  background: #e6f4ea;
  border-color: #34a853;
  color: #1e7e34;
}
.ws-choice-wrong {
  background: #fbe9e7;
  border-color: #d93025;
  color: #b3261e;
}
.ws-choice.disabled {
  opacity: 1;
  border: 1px solid var(--ws-border);
}

.ws-resources ul li { margin-bottom: 0.2rem; }
