.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}/* Start custom CSS *//* Article body. `theme-post-content` is a classic widget, so its inner tags are
   styled from the parent class — they cannot carry V4 classes themselves. */
.elementor .post-body { width: 100%; }
.elementor .post-body p {
  font-family: Rubik, sans-serif;
  font-size: clamp(1rem, 0.83rem + 0.27vw, 1.25rem);
  line-height: 1.7;
  color: #57667A;
  margin: 0 0 1.1em;
}
.elementor .post-body h2 {
  font-family: Rubik, sans-serif; font-weight: 700;
  font-size: clamp(1.625rem, 1.16rem + 0.72vw, 2.375rem);
  line-height: 1.2; color: #152548; margin: 1.8em 0 0.6em;
}
.elementor .post-body h3 {
  font-family: Rubik, sans-serif; font-weight: 700;
  font-size: clamp(1.375rem, 1.15rem + 0.36vw, 1.75rem);
  line-height: 1.25; color: #152548; margin: 1.5em 0 0.5em;
}
.elementor .post-body h2:first-child,
.elementor .post-body h3:first-child { margin-top: 0; }
/* Lead paragraph. `flatten_articles.py` emits the live `strong_text` block as
   <p><strong>…</strong></p> and it is always the first element, so this matches
   the same thing `text-lead` styles elsewhere on the site. Posts that open with
   a plain `content` block have no <strong> there and are unaffected.
   NOTE: no `>` combinator from `.post-body`. The classic widget renders its
   output inside its own `div.elementor-element` wrapper, so the body's tags are
   never direct children of the V4 container — a child combinator here silently
   matches nothing (cost one push to find). */
.elementor .post-body p:first-child > strong {
  display: block;
  font-weight: 500;
  font-size: clamp(1.125rem, 0.89rem + 0.37vw, 1.5rem);
  line-height: 1.35;
  color: #FF2E01;
}
.elementor .post-body strong { color: #152548; font-weight: 600; }
.elementor .post-body a { color: #FF2E01; text-decoration: underline; }
.elementor .post-body figure { margin: 1.6em 0; }
.elementor .post-body img {
  max-width: 100%; height: auto; border-radius: 8px; display: block;
}
/* Responsive video wrapper. Lifted out of post 143's body, where it arrived
   from the live theme as an inline <style> block inside post_content — the same
   artifact the book bodies were cleaned of. The markup (<div
   class="embed-container">) stays in the content; only the stylesheet moves
   here, so any future embed gets it for free. */
.elementor .post-body .embed-container {
  position: relative; padding-bottom: 56.25%; height: 0;
  overflow: hidden; max-width: 100%; margin: 1.6em 0;
}
.elementor .post-body .embed-container iframe,
.elementor .post-body .embed-container object,
.elementor .post-body .embed-container embed {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  border: 0; border-radius: 8px;
}
/* Any embed that is NOT inside the wrapper still must not overflow. */
.elementor .post-body iframe { max-width: 100%; }
.elementor .post-body ul,
.elementor .post-body ol { margin: 0 0 1.1em; padding-inline-start: 1.4em; }
.elementor .post-body li {
  font-family: Rubik, sans-serif;
  font-size: clamp(1rem, 0.83rem + 0.27vw, 1.25rem);
  line-height: 1.7; color: #57667A; margin-bottom: 0.4em;
}
@media (max-width: 1024px) {
  .elementor .post-body p,
  .elementor .post-body li { font-size: 1.0625rem; }
  .elementor .post-body h2 { font-size: 1.75rem; }
  .elementor .post-body h3 { font-size: 1.375rem; }
}
@media (max-width: 767px) {
  .elementor .post-body p,
  .elementor .post-body li { font-size: 1rem; }
  .elementor .post-body h2 { font-size: 1.5rem; }
  .elementor .post-body h3 { font-size: 1.25rem; }
}

/* --- QnA accordion (rendered by mu-plugins/garty-qna.php) ---------------- */
/* 15 of the 18 treatment pages have no rows, so the shortcode returns nothing.
   Hide the whole wrapper then, or its empty flex child still eats a `stack` gap. */
.elementor .qna-wrap:not(:has(.qna-list)) { display: none; }

.elementor .qna-list { display: flex; flex-direction: column; gap: 12px; }

.elementor .qna-item {
  background: #FFFFFF;
  border: 1px solid #ECEEFF;
  border-radius: 12px;
  overflow: hidden;
}
.elementor .qna-q {
  cursor: pointer;
  list-style: none;
  position: relative;
  padding: 18px 24px 18px 52px;
  font-family: Rubik, sans-serif;
  font-weight: 600;
  font-size: clamp(1.0625rem, 0.95rem + 0.18vw, 1.25rem);
  line-height: 1.4;
  color: #152548;
}
/* Safari still paints its own disclosure triangle without this. */
.elementor .qna-q::-webkit-details-marker { display: none; }

.elementor .qna-q::after {
  content: "+";
  position: absolute;
  inset-inline-end: 24px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5em;
  line-height: 1;
  font-weight: 400;
  color: #FF2E01;
}
.elementor .qna-item[open] .qna-q::after { content: "\2212"; }

.elementor .qna-a { padding: 0 24px 20px; }
.elementor .qna-a p {
  font-family: Rubik, sans-serif;
  font-size: clamp(1rem, 0.83rem + 0.27vw, 1.25rem);
  line-height: 1.7;
  color: #57667A;
  margin: 0 0 0.9em;
}
.elementor .qna-a p:last-child { margin-bottom: 0; }
.elementor .qna-a a { color: #FF2E01; text-decoration: underline; }
.elementor .qna-link a { font-weight: 600; }

@media (max-width: 767px) {
  .elementor .qna-q { padding: 14px 18px 14px 44px; font-size: 1rem; }
  .elementor .qna-q::after { inset-inline-end: 18px; }
  .elementor .qna-a { padding: 0 18px 16px; }
  .elementor .qna-a p { font-size: 1rem; }
}/* End custom CSS */