/* ===== Real / Historical Case Block ===== */

:root {
  --case_bg: #FBF7EC;
  --case_border: #C9B892;
  --case_accent: #8C6D3F;
  --case_title: #3B2F1E;
  --case_text: #4A3F2E;
  --case_radius: 10px;

  --case_badge_bg: #8C2F2F;
  --case_badge_color: #FBF7EC;

  --case_media_border: #E4D9BF;
  --case_media_bg: #ffffff;

  --case_source_bg: #F1E8D5;
  --case_source_border: #D9C79E;
  --case_source_label: #8C6D3F;
  --case_source_text: #5C4C33;
}

/* ---------- Container ---------- */
.lesson_case {
  position: relative;
  background: var(--case_bg);
  background-image: repeating-linear-gradient(
    0deg,
    rgba(140, 109, 63, 0.035) 0px,
    rgba(140, 109, 63, 0.035) 1px,
    transparent 1px,
    transparent 26px
  );
  border: 1px solid var(--case_border);
  border-radius: var(--case_radius);
  padding: 26px 28px 22px;
  margin: 26px 0;
  box-shadow: 0 3px 10px rgba(60, 45, 20, 0.08);
}

/* subtle corner fold, top-right */
.lesson_case::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 22px 22px 0;
  border-color: transparent var(--case_media_bg) transparent transparent;
  filter: drop-shadow(-1px 1px 1px rgba(60, 45, 20, 0.15));
  border-top-right-radius: var(--case_radius);
}

/* ---------- Badge (stamp-like) ---------- */
.lesson_case_badge {
  display: inline-block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--case_badge_color);
  background: var(--case_badge_bg);
  padding: 5px 14px;
  border-radius: 3px;
  transform: rotate(-2deg);
  margin-bottom: 12px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

/* ---------- Title ---------- */
.lesson_case_title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--case_title);
  margin: 0 0 14px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--case_border);
}

/* ---------- Body text ---------- */
.lesson_case_text {
  font-size: 1.02rem;
  line-height: 1.65;
  color: var(--case_text);
  margin: 0 0 14px 0;
}

.lesson_case_text:first-of-type::first-letter {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.6rem;
  font-weight: 700;
  color: var(--case_accent);
  float: left;
  line-height: 0.85;
  padding-right: 8px;
  padding-top: 4px;
}

/* ---------- Media frame ---------- */
.lesson_case_media {
  background: var(--case_media_bg);
  border: 1px solid var(--case_media_border);
  border-radius: 6px;
  padding: 10px;
  margin: 16px auto;
  max-width: 560px;
  box-shadow: 0 4px 14px rgba(60, 45, 20, 0.12);
}

.lesson_case_media img {
  display: block;
  width: 100%;
  border-radius: 3px;
}

/* ---------- Source citation ---------- */
.lesson_case_source {
  display: flex;
  gap: 8px;
  align-items: baseline;
  background: var(--case_source_bg);
  border: 1px dashed var(--case_source_border);
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 0.85rem;
  color: var(--case_source_text);
  margin-top: 16px;
}

.lesson_case_source_label {
  flex: 0 0 auto;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.72rem;
  color: var(--case_source_label);
}

/* ---------- Mobile adaptation ---------- */
@media (max-width: 480px) {
  .lesson_case {
    padding: 20px 16px 18px;
  }
  .lesson_case_title {
    font-size: 1.2rem;
  }
}
