/* Novo typography overrides (Direction A): 18px body, two weights (400 + 700) */
body.text-base { font-size: 1.125rem; }
.blogText p, .blogText li { font-size: 1.125rem; }
.font-medium { font-weight: 400; }
@media (min-width: 48rem) {
   h1.md\:font-medium, h2.md\:font-medium, h3.md\:font-medium { font-weight: 700; }
}

/* Inner-page heroes: straight bottom edge (hide decorative wave) */
[style*="bg_pattern--"] { display: none; }

/* Condition / service pages whose content has no wrapper: reading column, gutters, spacing */
.flex-grow > section.pb-16 > :not(div[class*="max-w"]):not(.novo-content) { max-width: 44rem; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
.flex-grow > section.pb-16 > h2 { font-size: 1.5rem; line-height: 1.3; margin-top: 2.5rem; margin-bottom: 0.75rem; color: #1e2635; }
.flex-grow > section.pb-16 > h2:first-child { margin-top: 3rem; }
.flex-grow > section.pb-16 > p { margin-bottom: 1.25rem; line-height: 1.65; color: #1e2635; }

/* Visible FAQ block (condition, treatment and blog pages) */
.faq-block { max-width: 44rem; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #e3e9f4; }
.faq-block h2 { font-size: 1.5rem; line-height: 1.3; font-weight: 700; color: #1e2635; margin: 0 0 0.5rem; }
.faq-block-item { border-bottom: 1px solid #e3e9f4; }
.faq-block-item summary { cursor: pointer; list-style: none; position: relative; padding: 1rem 2.25rem 1rem 0; font-weight: 700; line-height: 1.4; color: #1e2635; }
.faq-block-item summary::-webkit-details-marker { display: none; }
.faq-block-item summary::after { content: '+'; position: absolute; right: 0.25rem; top: 0.8rem; font-size: 1.375rem; line-height: 1; color: #3265cc; }
.faq-block-item[open] summary::after { content: '\2212'; }
.faq-block-item summary:focus-visible { outline: 2px solid #3265cc; outline-offset: 2px; }
.faq-block-answer { padding-bottom: 1rem; line-height: 1.65; color: #1e2635; }
.faq-block-answer p { margin-bottom: 0.75rem; }
/* pages whose text sits in the centered reading column: line the FAQ up with it */
.flex-grow > section.pb-16:has(> p) > .faq-block-outer { max-width: 44rem; padding-left: 1rem; padding-right: 1rem; }
.blog-section .faq-block-outer { padding-left: 0; padding-right: 0; }

/* Pricing table (/pricing) */
.pricing-inner { margin-top: 3rem; margin-bottom: 1rem; }
.pricing-inner h2 { font-size: 1.5rem; line-height: 1.3; font-weight: 700; color: #1e2635; margin: 0 0 0.5rem; }
.price-list { margin: 0; border-top: 1px solid #e3e9f4; }
.price-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.5rem; padding: 1.25rem 0; border-bottom: 1px solid #e3e9f4; }
.price-row dt { font-weight: 700; color: #1e2635; line-height: 1.4; min-width: 0; }
.price-row dt span { display: block; font-weight: 400; font-size: 1rem; line-height: 1.55; margin-top: 0.35rem; color: #1e2635; }
.price-row dd { margin: 0; font-size: 1.75rem; line-height: 1.1; font-weight: 700; color: #3265cc; white-space: nowrap; }
.price-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; margin-top: 1.75rem; }
.price-btn { display: inline-block; background: #3265cc; color: #fff; font-weight: 700; padding: 0.85rem 1.5rem; border-radius: 4px; text-decoration: none; }
.price-btn:hover, .price-btn:focus-visible { background: #2854ad; color: #fff; }
.price-cta a:not(.price-btn) { color: #3265cc; font-weight: 700; }
