:root { --tl-body-size:16px; --tl-body-leading:1.8; }

/* Reading copy, including introductory paragraphs, uses the same size everywhere.
   Keep navigation, hero captions, UI labels, footnotes and display figures separate. */
:where(.traveltour-page-wrapper,.gdlr-core-page-builder-body,.tourmaster-page-wrapper,
       .tla,.tlg,.tlp,.tlh-hub,.tl-personnel,#tl-field-guide)
p:not(:where(
  nav *,footer *,form *,[role="tablist"] *,
  .traveltour-page-title-wrap *,.traveltour-blog-title-wrap *,.tourmaster-single-header *,
  .rank-math-breadcrumb *,.traveltour-footer-wrapper *,
  [class*="eyebrow"],[class*="kicker"],
  .tl-reader-date,.tl-reader-note,.tlg-small,.tlh-small,.tlh-date,.tlh-brief-note,
  .tlh-opening-title,.tlh-route-stops,.tlp-role,.ttl-faq-status,
  .tlg-price-example>p,.tlp-fee-example>p,
  .tourmaster-login-user,.tourmaster-login-pass,.tourmaster-login-submit,.tourmaster-login-lost-password
)) {
  font-size:var(--tl-body-size)!important;
  line-height:var(--tl-body-leading)!important;
}

/* Lists and FAQ answers belong to the reading flow, not to the smaller UI scale. */
:where(.traveltour-single-article-content,.gdlr-core-text-box-item-content,
       .gdlr-core-toggle-box-item-content,.gdlr-core-accordion-item-content,
       .tl-reader,.tla-panel,.tla-steps,.tlp-timeline,.tlg-process,.tlg-tour-fields,
       .tlh-copy,.ttl-guide-panel,.ttl-welcome-panel,.tlp-bio,.tlp-chronology)
li:not(:where(nav *,form *,[role="tablist"] *,.rank-math-toc-block *,.tl-reader-toc *)) {
  font-size:var(--tl-body-size)!important;
  line-height:var(--tl-body-leading)!important;
}
:where(.tla-faq,.tlp-faq,.tlg-faq,.tl-reader) details>div,
.gdlr-core-toggle-box-item-content,
.gdlr-core-accordion-item-content,
.tourmaster-taxonomy-description {
  font-size:var(--tl-body-size)!important;
  line-height:var(--tl-body-leading)!important;
}

/* Old editor spans must not reintroduce smaller text within a body paragraph. */
:where(.traveltour-single-article-content,.gdlr-core-text-box-item-content,
       .gdlr-core-toggle-box-item-content,.gdlr-core-accordion-item-content,.tlp-bio)
p :where(span,em,strong)[style*="font-size"] {
  font-size:inherit!important;
  line-height:inherit!important;
}

/* Team previews previously cut through the fourth line at a fixed 100px.
   Truncate at a whole line with an ellipsis at the shared reading size. */
@media(min-width:768px) {
  .gdlr-core-personnel-list-content p {
    display:-webkit-box!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    height:auto!important;
    max-height:none!important;
    overflow:hidden;
  }
}
