/* ===== Goals and Outcomes Block ===== */

:root {
  --goals_bg: #f0fdf4;
  --goals_border: #16a34a;
  --goals_title: #14532d;
  --goals_text: #166534;
  --goals_radius: 14px;

  --goals_col_gap: 18px;

  --goals_goal_bg: #ffffff;
  --goals_goal_border: #bbf7d0;
  --goals_goal_icon_bg: #16a34a;
  --goals_goal_icon_color: #ffffff;

  --goals_outcome_bg: #ffffff;
  --goals_outcome_border: #bfdbfe;
  --goals_outcome_icon_bg: #2563eb;
  --goals_outcome_icon_color: #ffffff;

  --goals_check_color: #2563eb;
}

/* ---------- Section container ---------- */
.lesson_goals {
  background: var(--goals_bg);
  border: 2px solid var(--goals_border);
  border-radius: var(--goals_radius);
  padding: 22px 24px;
  margin: 30px 0;
}

.lesson_goals_title {
  margin: 0 0 6px 0;
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--goals_title);
  display: flex;
  align-items: center;
  gap: 10px;
}

.lesson_goals_title::before {
  content: "\1F3AF"; /* dart / target icon */
  font-size: 1.3rem;
}

.lesson_goals_intro {
  margin: 0 0 16px 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--goals_text);
}

/* ---------- Two-column layout: Goals | Outcomes ---------- */
.lesson_goals_columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--goals_col_gap);
}

@media (max-width: 640px) {
  .lesson_goals_columns {
    grid-template-columns: 1fr;
  }
}

.lesson_goals_column_title {
  margin: 0 0 10px 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--goals_title);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* ---------- Goal item (what the lesson aims for) ---------- */
.lesson_goals_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lesson_goals_item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--goals_goal_bg);
  border: 1px solid var(--goals_goal_border);
  border-radius: 10px;
  padding: 12px 14px;
}

.lesson_goals_item_icon {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--goals_goal_icon_bg);
  color: var(--goals_goal_icon_color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  font-weight: 700;
}

.lesson_goals_item_text {
  font-size: 0.98rem;
  line-height: 1.5;
  color: var(--goals_text);
}

/* ---------- Outcome item (observable, checkable result) ---------- */
.lesson_outcomes_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lesson_outcomes_item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--goals_outcome_bg);
  border: 1px solid var(--goals_outcome_border);
  border-radius: 10px;
  padding: 12px 14px;
}

.lesson_outcomes_item_icon {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: var(--goals_outcome_icon_bg);
  color: var(--goals_outcome_icon_color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  font-weight: 700;
}

.lesson_outcomes_item_text {
  font-size: 0.98rem;
  line-height: 1.5;
  color: var(--goals_text);
}

/* ---------- Mobile adaptation ---------- */
@media (max-width: 480px) {
  .lesson_goals {
    padding: 16px 14px;
  }
  .lesson_goals_title {
    font-size: 1.25rem;
  }
  .lesson_goals_item,
  .lesson_outcomes_item {
    padding: 10px 12px;
  }
}
