/* ===== Jigsaw Block: numbered, expandable article cards ===== */

:root {
  --jig_border: #e2e8f0;
  --jig_title: #1f2a44;
  --jig_text: #334155;
  --jig_radius: 12px;

  --jig_card_bg: #ffffff;
  --jig_card_open_bg: #fafaf9;

  --jig_num_bg_1: #0e7490;   /* teal   — article 1 */
  --jig_num_bg_2: #7c3aed;   /* violet — article 2 */
  --jig_num_bg_3: #d97706;   /* amber  — article 3 */
  --jig_num_bg_4: #db2777;   /* pink   — article 4 (if ever needed) */
  --jig_num_color: #ffffff;

  --jig_chevron_color: #64748b;

  --jig_body_text: #334155;

  --jig_source_bg: #f8fafc;
  --jig_source_border: #e2e8f0;
  --jig_source_label: #64748b;
  --jig_source_text: #475569;
}

/* ---------- Wrapper for a set of jigsaw articles ---------- */
.lesson_jigsaw {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 20px 0;
}

.lesson_jigsaw_intro {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--jig_text);
  margin: 0 0 4px 0;
}

/* ---------- Single article card (native <details>) ---------- */
.lesson_jigsaw_card {
  background: var(--jig_card_bg);
  border: 1px solid var(--jig_border);
  border-radius: var(--jig_radius);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  transition: box-shadow 0.15s ease;
}

.lesson_jigsaw_card[open] {
  background: var(--jig_card_open_bg);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
}

/* remove default marker triangle */
.lesson_jigsaw_card summary {
  list-style: none;
}
.lesson_jigsaw_card summary::-webkit-details-marker {
  display: none;
}

/* ---------- Clickable header row ---------- */
.lesson_jigsaw_summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  cursor: pointer;
  user-select: none;
}

.lesson_jigsaw_summary:hover {
  background: rgba(15, 23, 42, 0.03);
}

/* Number badge — cycles through 3 accent colors via nth-of-type */
.lesson_jigsaw_number {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.05rem;
  color: var(--jig_num_color);
  background: var(--jig_num_bg_1);
}

.lesson_jigsaw_card:nth-of-type(2) .lesson_jigsaw_number {
  background: var(--jig_num_bg_2);
}
.lesson_jigsaw_card:nth-of-type(3) .lesson_jigsaw_number {
  background: var(--jig_num_bg_3);
}
.lesson_jigsaw_card:nth-of-type(4) .lesson_jigsaw_number {
  background: var(--jig_num_bg_4);
}

.lesson_jigsaw_heading {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.lesson_jigsaw_title {
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--jig_title);
}

.lesson_jigsaw_subtitle {
  font-size: 0.85rem;
  color: var(--jig_source_label);
}

/* Chevron that rotates on open */
.lesson_jigsaw_chevron {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  color: var(--jig_chevron_color);
  transition: transform 0.2s ease;
}

.lesson_jigsaw_card[open] .lesson_jigsaw_chevron {
  transform: rotate(180deg);
}

/* ---------- Expandable body ---------- */
.lesson_jigsaw_body {
  padding: 0 18px 18px 18px;
}

.lesson_jigsaw_text {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--jig_body_text);
  margin: 0;
}

.lesson_jigsaw_text + .lesson_jigsaw_text {
  margin-top: 10px;
}

/* ---------- Source citation (only if provided) ---------- */
.lesson_jigsaw_source {
  margin-top: 14px;
  padding: 8px 12px;
  background: var(--jig_source_bg);
  border: 1px solid var(--jig_source_border);
  border-radius: 8px;
  font-size: 0.85rem;
  color: var(--jig_source_text);
  display: flex;
  gap: 6px;
  align-items: baseline;
}

.lesson_jigsaw_source_label {
  font-weight: 700;
  color: var(--jig_source_label);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 0.75rem;
  flex: 0 0 auto;
}

/* ---------- Mobile adaptation ---------- */
@media (max-width: 480px) {
  .lesson_jigsaw_summary {
    padding: 13px 14px;
    gap: 10px;
  }
  .lesson_jigsaw_number {
    width: 28px;
    height: 28px;
    font-size: 0.95rem;
  }
  .lesson_jigsaw_title {
    font-size: 1.02rem;
  }
  .lesson_jigsaw_body {
    padding: 0 14px 14px 14px;
  }
}