.ck-content,
.shu-richtext {
  line-height: 1.7;
  color: #2a2a2a;
}
.ck-content h2, .shu-richtext h2 { font-size: 1.6rem; margin: 1.4rem 0 0.6rem; }
.ck-content h3, .shu-richtext h3 { font-size: 1.3rem; margin: 1.2rem 0 0.5rem; }
.ck-content h4, .shu-richtext h4 { font-size: 1.1rem; margin: 1rem 0 0.4rem; }
.ck-content p, .shu-richtext p { margin: 0 0 0.9rem; }
.ck-content ul, .ck-content ol,
.shu-richtext ul, .shu-richtext ol { margin: 0 0 1rem 1.3rem; }
.ck-content li, .shu-richtext li { margin: 0.25rem 0; }
.ck-content blockquote, .shu-richtext blockquote {
  margin: 1rem 0; padding: 0.4rem 0 0.4rem 1rem;
  border-left: 4px solid #9D7C48; color: #334155;
}
.ck-content img, .shu-richtext img {
  max-width: 100%; height: auto; border-radius: 8px; margin: 0.75rem 0;
}
.ck-content figure, .shu-richtext figure { margin: 1rem 0; }
.ck-content figcaption, .shu-richtext figcaption {
  font-size: 0.85rem; color: #64748b; text-align: center; margin-top: 0.35rem;
}
.ck-content table, .shu-richtext table {
  width: 100%; border-collapse: collapse; margin: 1rem 0;
}
.ck-content th, .ck-content td,
.shu-richtext th, .shu-richtext td {
  border: 1px solid #cbd5e1; padding: 0.45rem 0.6rem; text-align: left;
}
.ck-content a, .shu-richtext a { color: #1D3456; }
.ck-content .text-tiny { font-size: 0.8em; }
.ck-content .text-small { font-size: 0.9em; }
.ck-content .text-big { font-size: 1.2em; }
.ck-content .text-huge { font-size: 1.5em; }

.shu-breadcrumbs { margin: 1rem 0 0; }
.shu-breadcrumbs ol {
  list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; justify-content: center;
  font-size: 0.85rem; color: #64748b;
}
.shu-breadcrumbs li:not(:last-child)::after { content: '/'; margin-left: 0.35rem; color: #94a3b8; }
.shu-breadcrumbs a { color: #1D3456; }
.shu-faq { margin-top: 40px; }
