/* Case reading layout, shared by public boards and queued previews. */
#bo_v_con, .cp-preview {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
#bo_v_title h1, #bo_v_title .bo_v_tit,
#bo_v_con p, #bo_v_con li, #bo_v_con h2, #bo_v_con h3,
#bo_v_con figcaption, #bo_v_con a, #bo_v_con td, #bo_v_con th,
.cp-preview p, .cp-preview li, .cp-preview h2, .cp-preview h3,
.cp-preview figcaption, .cp-preview a, .cp-preview td, .cp-preview th {
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}
#bo_v_img a { display: block; max-width: 100%; }
#bo_v_img img, #bo_v_con img, .cp-preview img {
  display: block !important;
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain;
  margin: 20px auto !important;
}
#bo_v_img img, .cp-preview > img { max-width: min(100%, 788px) !important; }
#bo_v_con .clinic-case-story, .cp-preview .clinic-case-story,
#bo_v_con .clinic-case-education, .cp-preview .clinic-case-education {
  box-sizing: border-box;
  display: block;
  width: 100% !important;
  max-width: 788px !important;
  margin: 32px auto !important;
  padding: 24px 16px !important;
  border-top: 3px solid #17375e;
  background: #f7f9fc;
  color: #243247;
  text-align: left;
}
.clinic-case-story-body {
  min-width: 0;
  font-size: 17px;
  line-height: 1.85;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.clinic-case-story-body > * { box-sizing: border-box; max-width: 100%; }
.clinic-case-story-body p, .clinic-case-story-body li {
  line-height: 1.85 !important;
  margin-bottom: 20px !important;
}
.clinic-case-story-body span, .clinic-case-story-body font {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.clinic-case-story-body h2 {
  margin: 28px 0 14px !important;
  font-size: 24px !important;
  line-height: 1.45 !important;
  color: #17375e;
}
.clinic-case-story-body h3 {
  margin: 24px 0 12px !important;
  font-size: 19px !important;
  line-height: 1.5 !important;
}
.clinic-case-story-body > :first-child { margin-top: 0 !important; }
.clinic-case-story-body > :last-child { margin-bottom: 0 !important; }
.clinic-case-story-body figure { max-width: 100%; margin: 24px 0 !important; }
.clinic-case-story-body figcaption { font-size: 14px; line-height: 1.7; text-align: center; }
.clinic-case-story-body table { max-width: 100%; table-layout: fixed; }
#bo_v_con pre, .cp-preview pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }

/* Shared display rules also apply when a queued case becomes public. */
@media (max-width: 767px) {
  #bo_v, #bo_list, #bo_gall, #bo_v_atc, #bo_v_con, #bo_v_img,
  .cp-preview, .cp-preview > div {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }
  #bo_v_title, #bo_v_title h1, #bo_v_title .bo_v_tit,
  #bo_cate, #bo_cate a, #bo_list .bo_tit, #bo_gall .bo_tit,
  #bo_v_con, .cp-preview {
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
  #bo_v_title h1, #bo_v_title .bo_v_tit, .cp-preview > h2 {
    font-size: 20px !important;
    line-height: 1.5 !important;
  }
  #bo_v_con, .cp-preview > div {
    font-size: 16px;
    line-height: 1.8;
  }
  #bo_v_con p, #bo_v_con li, #bo_v_con figcaption,
  #bo_v_con td, #bo_v_con th, #bo_v_con a,
  .cp-preview p, .cp-preview li, .cp-preview figcaption,
  .cp-preview td, .cp-preview th, .cp-preview a {
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    line-height: 1.8 !important;
  }
  #bo_v_con p, .cp-preview p { margin: 0 0 18px; }
  #bo_v_con h2, .cp-preview article h2, .cp-preview .clinic-case-education h2 {
    font-size: 21px !important;
    line-height: 1.5 !important;
    margin: 28px 0 14px !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }
  #bo_v_con h3, .cp-preview h3 {
    font-size: 18px !important;
    line-height: 1.55 !important;
    margin: 24px 0 12px !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }
  #bo_v_img a { display: block; max-width: 100%; }
  #bo_v_img img, #bo_v_con img, .cp-preview img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 420px;
    max-height: min(65vh, 420px);
    object-fit: contain;
    margin: 16px auto !important;
  }
  #bo_v_img img, .cp-preview > img { max-height: 320px; }
  #bo_v_con figure, .cp-preview figure {
    max-width: 100%;
    margin: 20px 0 !important;
  }
  #bo_v_con iframe, #bo_v_con video, .cp-preview iframe, .cp-preview video {
    max-width: 100%;
  }
  #bo_v_con table, .cp-preview table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
  }
  #bo_v_con th, #bo_v_con td, .cp-preview th, .cp-preview td {
    box-sizing: border-box;
    min-width: 0;
    font-size: 14px;
  }
  #bo_v_con pre, .cp-preview pre {
    max-width: 100%;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }
  #bo_v_info { white-space: normal; line-height: 1.6; }
  #bo_v_info > span { display: inline-block; max-width: 100%; overflow-wrap: anywhere; }
  #bo_cate_ul { display: flex; flex-wrap: wrap; gap: 6px; }
  #bo_cate_ul li { float: none; max-width: 100%; }
  #bo_cate_ul a { height: auto; line-height: 1.5; padding: 8px 12px; }
}
