/* TKTX ordinary articles: shared readability, migration 130.
 * Loaded only on ordinary single posts. Keep authored content and FAQ behavior.
 * Important rules resolve the existing legacy article stylesheet's priorities.
 */
body.tktx-article-layout #content .entry-content {
  --tktx-reading-size: 17px;
  font-size: var(--tktx-reading-size);
  line-height: 1.8;
  color: #283541;
  overflow-wrap: anywhere;
}
body.tktx-article-layout #content .entry-content .tktx-article {
  font-size: var(--tktx-reading-size) !important;
  line-height: 1.8 !important;
}
body.tktx-article-layout #content .entry-content :is(p, li, dd) {
  font-size: var(--tktx-reading-size) !important;
  line-height: 1.8 !important;
}
body.tktx-article-layout #content .entry-content p {
  margin: 0 0 1em !important;
}
body.tktx-article-layout #content .entry-content :is(li, dd) > p:last-child {
  margin-bottom: 0 !important;
}
body.tktx-article-layout #content .entry-content h2 {
  font-size: 23px !important;
  line-height: 1.5 !important;
  margin: 40px 0 16px !important;
  padding: 0 0 10px !important;
  border: 0 !important;
  border-bottom: 2px solid #c8dbe9 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #173650 !important;
  font-weight: 700 !important;
  overflow-wrap: anywhere;
}
body.tktx-article-layout #content .entry-content h2::before,
body.tktx-article-layout #content .entry-content h2::after {
  content: none !important;
  display: none !important;
}
body.tktx-article-layout #content .entry-content h3:not(.tktx-related-title) {
  font-size: 19px !important;
  line-height: 1.55 !important;
  margin: 28px 0 12px !important;
  padding: 0 0 0 10px !important;
  border: 0 !important;
  border-left: 3px solid #b7cad8 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #283d50 !important;
  font-weight: 700 !important;
}
/* Empty editorial spacers; media paragraphs and answer content remain visible. */
body.tktx-article-layout #content .entry-content p:empty,
body.tktx-article-layout #content .entry-content p:has(> span.ks-space:only-child) {
  display: none !important;
}
body.tktx-article-layout #content .entry-content img {
  max-width: 100%;
  height: auto;
}
body.tktx-article-layout #content .entry-content :is(.tktx-table-wrap, .tktx-table-scroll, .wp-block-table) {
  max-width: 100% !important;
  overflow-x: auto !important;
}
/* Author and reference material remain secondary, without becoming tiny. */
body.tktx-article-layout #content .entry-content :is(.tktx-source-box, .tktx-source-details, .tktx-author-box, .tktx-common-author) :is(p, li, dd) {
  font-size: 15px !important;
  line-height: 1.75 !important;
}
body.tktx-article-layout #content .entry-content :is(.tktx-source-head, .tktx-source-subtitle, .tktx-common-author__role) {
  font-size: 14px !important;
  line-height: 1.6 !important;
}
body.tktx-article-layout #content .entry-content :is(.tktx-toc-list, .tktx-source-list) li {
  margin: 5px 0 !important;
}
/* Both FAQ formats share clear Q/A colors and text size; native details stays native. */
body.tktx-article-layout #content .entry-content :is(.tktx-common-faq__text, .tktx-faq__qtxt, .tktx-faq__abody) {
  min-width: 0 !important;
  font-size: var(--tktx-reading-size) !important;
  line-height: 1.75 !important;
  overflow-wrap: anywhere !important;
}
body.tktx-article-layout #content .entry-content .tktx-common-faq__row {
  padding: 12px !important;
}
body.tktx-article-layout #content .entry-content .tktx-common-faq__row--question > .tktx-common-faq__text {
  font-weight: 700 !important;
}
body.tktx-article-layout #content .entry-content .tktx-faq details {
  border: 1px solid #d7e2eb !important;
  border-radius: 10px !important;
  margin: 0 0 12px !important;
  overflow: hidden;
}
body.tktx-article-layout #content .entry-content .tktx-faq summary {
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) 14px !important;
  align-items: start !important;
  gap: 10px !important;
  min-height: 44px;
  padding: 12px !important;
  background: #f5f9fd !important;
  color: #14385f !important;
  cursor: pointer;
  list-style: none !important;
}
body.tktx-article-layout #content .entry-content .tktx-faq summary::-webkit-details-marker { display: none; }
body.tktx-article-layout #content .entry-content .tktx-faq summary::marker { content: ''; }
body.tktx-article-layout #content .entry-content .tktx-faq summary > br { display: none !important; }
body.tktx-article-layout #content .entry-content .tktx-faq summary:focus-visible {
  outline: 2px solid #1e73be;
  outline-offset: -3px;
}
body.tktx-article-layout #content .entry-content .tktx-faq__answer {
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  padding: 12px !important;
  background: #fff !important;
}
body.tktx-article-layout #content .entry-content .tktx-faq__answer > p:empty { display: none !important; }
body.tktx-article-layout #content .entry-content :is(.tktx-faq__q, .tktx-faq__a) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  padding: 0 !important;
  margin: 2px 0 0 !important;
  border-radius: 50% !important;
  font-size: 13px !important;
  line-height: 1 !important;
  color: #fff !important;
  box-sizing: border-box !important;
}
body.tktx-article-layout #content .entry-content .tktx-faq__q { background: #1e73be !important; }
body.tktx-article-layout #content .entry-content .tktx-faq__a { background: #2e7d32 !important; }
body.tktx-article-layout #content .entry-content .tktx-faq__abody p:last-child { margin-bottom: 0 !important; }
@media (max-width: 767px) {
  body.tktx-article-layout #content .entry-content { --tktx-reading-size: 16px; }
  body.tktx-article-layout #content .entry-content h2 { font-size: 21px !important; margin-top: 32px !important; }
  body.tktx-article-layout #content .entry-content h3:not(.tktx-related-title) { font-size: 18px !important; margin-top: 24px !important; }
}

/* Keep closed native FAQ answers hidden, regardless of older display rules. */
body.tktx-article-layout #content .entry-content .tktx-faq details:not([open]) .tktx-faq__answer { display: none !important; }
