/* A shared reading layout for the clinic's original case records. */
.single-weshe_case #main { background:#fafaf8; }
.s-case-reading { width:min(100% - 96px,880px); margin-inline:auto; padding-block:72px 90px; }
.s-case-back-top { display:inline-flex; align-items:center; gap:16px; min-height:44px; margin-bottom:36px; font-size:14px; }
.s-case-category { margin:0 0 16px; font-size:14px; color:var(--blue); }
.s-case-reading-heading h1 { margin:0; font-size:clamp(30px,3.1vw,44px); font-weight:550; line-height:1.45; letter-spacing:-.045em; word-break:keep-all; overflow-wrap:anywhere; text-wrap:balance; }
.s-case-meta { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:26px; color:#777; font-size:12px; }
.s-case-cover { max-width:720px; margin:52px auto; }
.s-case-cover > div { position:relative; }
.s-case-cover img { display:block; width:100%; height:auto; }
.s-case-cover figcaption { margin-top:12px; color:#888; font-size:12px; text-align:center; }
.s-case-toc { margin:48px 0 58px; padding:25px 30px; border:1px solid #dededa; background:#f4f5f3; }
.s-case-toc summary { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:18px; font-weight:500; cursor:pointer; list-style:none; }
.s-case-toc summary::-webkit-details-marker { display:none; }
.s-case-toc-toggle { flex-shrink:0; font-size:12px; font-weight:400; }
.s-case-toc-toggle::before { content:'펼치기 +'; }
.s-case-toc[open] .s-case-toc-toggle::before { content:'접기 −'; }
.s-case-toc ol { counter-reset:case-section; list-style:none; margin:20px 0 0; padding:0; }
.s-case-toc li { display:flex; gap:14px; padding:6px 0; font-size:15px; line-height:1.7; word-break:keep-all; }
.s-case-toc li::before { counter-increment:case-section; content:counter(case-section,decimal-leading-zero); width:22px; flex-shrink:0; padding-top:2px; color:var(--blue); font-size:12px; }
.s-case-body { font-size:18px; line-height:1.95; text-align:left; word-break:keep-all; overflow-wrap:anywhere; }
.s-case-body p { max-width:none; margin:0 0 22px; }
.s-case-body h2 { margin:72px 0 26px; font-size:30px; font-weight:550; line-height:1.55; letter-spacing:-.035em; }
.s-case-body h3 { margin:38px 0 18px; font-size:22px; font-weight:500; line-height:1.65; letter-spacing:-.025em; }
.s-case-body :is(h2,h3) { scroll-margin-top:calc(var(--header,72px) + 36px); }
.s-case-body :is(h2,h3) strong { font-weight:inherit; }
.s-case-body strong { font-weight:600; }
.s-case-body :is(ul,ol) { margin:22px 0; padding-left:24px; }
.s-case-body li { margin:10px 0; }
.s-case-body a { color:var(--blue); }
.s-case-body img { display:block; max-width:100%; height:auto; margin-inline:auto; border-radius:0; }
.s-case-body :is(iframe,video) { max-width:100%; }
.s-case-body .s-case-figure { margin:36px 0; }
.s-case-body figcaption { margin-top:12px; color:#777; font-size:13px; line-height:1.8; text-align:center; }
.s-case-body .s-case-opening { margin:0 0 32px; padding:22px 26px; border-left:2px solid var(--blue); color:inherit; font-size:23px; line-height:1.8; }
.s-case-opening em { font-style:normal; }
.s-case-opening strong { font-weight:450; }
.s-case-callout { margin:32px 0; padding:28px 30px; border-left:2px solid var(--blue); background:#eef1f2; font-size:17px; }
.s-case-callout > p:first-child { font-size:19px; }
.s-case-callout > :last-child,.s-case-faq-item > :last-child { margin-bottom:0; }
.s-case-faq-item { padding:26px 0; border-bottom:1px solid #dededa; font-size:17px; }
.s-case-body .s-case-faq-item h3 { margin-top:0; font-size:20px; }
.s-case-references { margin-top:48px; padding-top:28px; border-top:1px solid #dededa; color:#777; font-size:13px; line-height:1.85; }
.s-case-table-scroll { overflow-x:auto; margin:30px 0; scrollbar-width:thin; }
.s-case-body table { width:100%; border-collapse:collapse; font-size:15px; line-height:1.8; text-align:left; }
.s-case-body :is(td,th) { min-width:120px; padding:17px 20px; border:1px solid #d9dcd9; font-weight:400; vertical-align:top; }
.s-case-body tr:first-child { background:#eef1ef; }
.s-case-body td p,.s-case-body th p { margin:0; font-size:inherit; }
.s-case-decision { margin-bottom:48px; }
.s-case-decision dl { display:grid; grid-template-columns:120px 1fr; gap:18px 24px; }
.s-case-decision dd { margin:0; }
.s-case-medical-note { margin:52px 0 0; padding-top:24px; border-top:1px solid #dededa; color:#888; font-size:12px; line-height:1.9; }
.s-case-return { margin-top:52px; text-align:center; }
.s-case-return a { display:inline-flex; align-items:center; gap:44px; min-height:54px; padding:12px 24px; border:1px solid #ccc; font-size:14px; }
.s-case-neighbors { margin-top:52px; border-top:1px solid #dededa; }
.s-case-neighbors a { display:grid; grid-template-columns:72px 1fr 20px; gap:22px; align-items:center; padding:23px 4px; border-bottom:1px solid #dededa; }
.s-case-neighbors a > span:first-child { color:#888; font-size:12px; }
.s-case-neighbors strong { font-size:16px; font-weight:400; line-height:1.7; word-break:keep-all; }
.s-case-related { padding-bottom:100px; }
.s-case-related > header { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:28px; }
.s-case-related h2 { margin:0; font-size:28px; line-height:1.5; }
.s-case-related header > a { flex-shrink:0; font-size:13px; }
.s-case-related > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
@media(max-width:767px) {
  .s-case-reading { width:calc(100% - 48px); padding-block:32px 56px; }
  .s-case-back-top { margin-bottom:24px; font-size:13px; }
  .s-case-reading-heading h1 { font-size:29px; }
  .s-case-meta { font-size:11px; gap:8px 16px; }
  .s-case-cover { margin-block:32px; }
  .s-case-toc { margin:32px 0 38px; padding:22px 20px; }
  .s-case-toc summary { font-size:16px; }
  .s-case-toc li { gap:9px; font-size:14px; }
  .s-case-body { font-size:16px; }
  .s-case-body h2 { margin:48px 0 22px; font-size:25px; }
  .s-case-body h3 { margin:30px 0 16px; font-size:20px; }
  .s-case-body .s-case-opening { padding:16px 20px; font-size:20px; }
  .s-case-callout { padding:22px 20px; font-size:15px; }
  .s-case-callout > p:first-child { font-size:17px; }
  .s-case-faq-item { font-size:15px; }
  .s-case-body .s-case-faq-item h3 { font-size:18px; }
  .s-case-body table { font-size:14px; }
  .s-case-body :is(td,th) { padding:14px 16px; }
  .s-case-decision dl { grid-template-columns:1fr; gap:10px; }
  .s-case-decision dd { margin-bottom:12px; }
  .s-case-neighbors a { grid-template-columns:56px 1fr 16px; gap:12px; }
  .s-case-neighbors strong { font-size:14px; }
  .s-case-related { padding-bottom:64px; }
  .s-case-related h2 { font-size:24px; }
  .s-case-related > div { grid-template-columns:1fr; }
}
