/* Strict reconstruction overrides. The controlling component CSS is the copied live stylesheet. */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
main { display: block; }
.template-loading { min-height: 70vh; display: grid; place-content: center; padding: 40px 20px; text-align: center; }
.template-menu-button { border: 0; background: transparent; }
.mobile_menu { display: none; }
.mobile_menu.is-open { display: flex; }
.tz-static-toggle { cursor: default; }
.tz-static-toggle .tz-toggle-btn { pointer-events: none; }
.tz-study-link a, .tz-safety-link a, .tz-reslink a, .tz-keep a { color: inherit; }
.tz-dose-schedule-title { margin: 22px 0 0; color: #fff; font-size: 15px; line-height: 1.3; }
.tz-callout-body { margin-bottom: 0; }
.tz-callout-body li + li { margin-top: 9px; }
.tz-callout-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.tz-callout-head .tz-callout-title { margin: 0; }
.tz-callout-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.tz-cmp-glyph { display: grid; place-items: center; }
.tz-cmp-glyph svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tz-check, .tz-chip-check, .tz-chip-check-w { flex: 0 0 auto; display: inline-grid; place-items: center; }
.tz-check svg, .tz-chip-check-w svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }
.tz-chip-check svg { width: 16px; height: 16px; fill: none; stroke: #30635d; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.tz-check svg { stroke-width: 3; }
.tz-chip-check-w svg { stroke-width: 2.5; }
.tz-study-link svg, .tz-keep-icon2 svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }
.tz-study-link svg { flex: 0 0 auto; stroke-width: 2.5; }
.tz-keep-icon2 svg { stroke: #48658c; stroke-width: 2; }
.tz-study-rows .tz-study-row { gap: 12px; }
.tz-study-dose { max-width: 72%; }
.tz-avoid-grid { grid-template-columns: repeat(2, 1fr); }
.tz-stars2 { display: flex; gap: 3px; color: #2e9b8f; }
.tz-stars2 svg { width: 16px; height: 16px; fill: currentColor; }
.tz-testi-quote::before { content: "“"; }
.tz-testi-quote::after { content: "”"; }
.tz-testi-card { margin: 0; }
.tz-faq-q { width: 100%; }
.tz-faq-a[hidden] { display: none !important; }
.tz-faq-item.is-open .tz-faq-a { display: block; }
.tz-final-chip .tz-check { margin-right: 6px; }
.template-socials a, .footer-content-responsive a { color: inherit; }
.tz-pill-teal { width: max-content; }
.tz-h1 .tz-h1-accent { color: #2e9b8f; display: block; }
.tz-track .tz-node svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tz-faq-q { appearance: none; background: transparent !important; border: 0; border-radius: 0; color: inherit; text-align: left !important; }
.tz-faq-qt { text-align: left !important; }
.tz-faq-sub-rhythm { min-height: 1.5em; }
.tz-faq-price .tz-btn-dark { margin-top: 20px; }
.tz-nofee-k { position: relative; left: -4px; }
.tz-nofee-v { position: relative; left: 4px; }

@media (min-width: 768px) {
  .tz-dose-track { min-width: 0; padding-left: 0; padding-right: 0; }
  .tz-dose-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tz-dose-line { left: calc((100% - 24px) / 8); right: calc((100% - 24px) / 8); width: auto; }
}

@media (max-width: 767px) {
  .top_menu_options { display: none; }
  .template-menu-button { display: block; }
  .mobile_menu.is-open { position: fixed; z-index: 998; top: 60px; right: 0; left: 0; flex-direction: column; padding: 18px 20px 24px; background: #fff; box-shadow: 0 16px 28px rgba(0,0,0,.14); }
  .mobile_menu.is-open .mobile_menu_link { width: 100%; padding: 10px 0; text-decoration: none; }
  .tz-avoid-grid { grid-template-columns: 1fr; }
  .tz-dose-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tz-dose-line { display: none; }
  .tz-study-dose { max-width: 68%; }
}
