/* WS-E3 treatment / procedure pages family (2026-10-30). Uses --jv-* tokens from jeevisha-ui.css. Scoped to body.jv-treat. */
.jv-treat main#content { background: var(--jv-bg-soft); padding-bottom: 24px; overflow-x: hidden; }
.jv-treat { font-family: var(--jv-font-body); color: var(--jv-ink); }

/* hero: dark overlay so the title is always readable, title always visible */
.jv-treat main > section.vc_row:first-child { position: relative; min-height: 300px !important;  display: flex !important; align-items: center; background-size: cover !important; background-position: center !important; }
.jv-treat main > section.vc_row:first-child::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(13,27,74,.88), rgba(35,63,146,.72)); z-index: 0; }
.jv-treat main > section.vc_row:first-child > .container { position: relative; z-index: 2; width: 100%; padding-top: 200px; padding-bottom: 64px; }
@media (max-width: 991.98px) { .jv-treat main > section.vc_row:first-child > .container { padding-top: 150px; padding-bottom: 48px; } }
.jv-treat main > section.vc_row:first-child .one-row_bottom_divider { z-index: 1; }
.jv-treat h1, .jv-treat h1 .ld-fh-txt, .jv-treat h1 .keyword, .jv-treat h1 .split-inner, .jv-treat h1 .lqd-split-text-words, .jv-treat h1 .lqd-split-text-chars { opacity: 1 !important; visibility: visible !important; transform: none !important; }
.jv-treat h1 { font-family: var(--jv-font-head) !important; font-size: var(--jv-fs-h1) !important; line-height: 1.15 !important; font-weight: 700 !important; color: #fff !important; margin: 0 0 .4em !important; text-shadow: 0 2px 12px rgba(0,0,0,.3); }
.jv-treat h1 .keyword { position: static !important; display: inline !important; }

/* layout of the legacy row > container > col-md-* blocks */
.jv-treat main .row { margin-left: 0; margin-right: 0; }
.jv-treat main #about > .container { max-width: var(--jv-container); }
.jv-treat main .row > .container, .jv-treat main div[clss] > .container, .jv-treat main div[clss] > div > .container {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0;
  max-width: var(--jv-container); background: #fff; border: 1px solid var(--jv-line); border-radius: var(--jv-radius);
  box-shadow: var(--jv-shadow); padding: clamp(18px, 3vw, 32px); margin: 24px auto; width: calc(100% - 2 * var(--jv-gutter));
}
.jv-treat main #about .col-md-6, .jv-treat main #about .col-md-8, .jv-treat main #about .col-md-4 { padding-top: 8px; padding-bottom: 8px; }
.jv-treat main [class*="col-md-"] { padding-top: 8px; padding-bottom: 8px; }
.jv-treat main > .row > .container > [class*="col-md-"] { min-width: 0; }

/* type */
.jv-treat main h2:not(footer *), .jv-treat main h2 strong:not(footer *) { font-family: var(--jv-font-head) !important; font-size: var(--jv-fs-h2) !important; line-height: 1.25 !important; font-weight: 700 !important; color: var(--jv-navy) !important; letter-spacing: 0; height: auto !important; }
.jv-treat main h2:not(footer *) { margin: 0 0 .55em !important; padding-left: 14px; border-left: 4px solid var(--jv-green); }
.jv-treat main h2:not(footer *):empty { display: none; }
.jv-treat main h3:not(footer *), .jv-treat main h4:not(footer *) { font-family: var(--jv-font-head); color: var(--jv-blue); line-height: 1.35; }
.jv-treat main h4:not(footer *) { font-size: 1.05rem; font-weight: 600; margin-top: .6em; }
.jv-treat main p:not(footer *), .jv-treat main li:not(footer *) { font-size: var(--jv-fs-body) !important; line-height: 1.75 !important; color: var(--jv-ink); }
.jv-treat main p:not(footer *) { margin: 0 0 1.05em; }
.jv-treat main br:not(footer *) { line-height: .5; }
.jv-treat main ul:not(footer *) { list-style: none; padding-left: 0; margin: 0 0 1.1em; }
.jv-treat main ul:not(footer *) > li { position: relative; padding-left: 1.6em; margin-bottom: .5em; }
.jv-treat main ul:not(footer *) > li::before { content: ""; position: absolute; left: .2em; top: .68em; width: .55em; height: .55em; border-radius: 50%; background: var(--jv-green); }
/* numbered procedure lists look like .jv-steps */
.jv-treat main ol:not(footer *) { list-style: none; counter-reset: jvstep; padding-left: 0; margin: 0 0 1.1em; }
.jv-treat main ol:not(footer *) > li { counter-increment: jvstep; position: relative; padding: 4px 0 4px 3em; margin-bottom: .6em; min-height: 2.2em; }
.jv-treat main ol:not(footer *) > li::before { content: counter(jvstep); position: absolute; left: 0; top: 2px; width: 2.1em; height: 2.1em; border-radius: 50%; background: var(--jv-green-700); color: #fff; font: 600 .95rem/2.1em var(--jv-font-head); text-align: center; }

/* media */
.jv-treat main img { max-width: 100%; height: auto; border-radius: var(--jv-radius); }
.jv-treat main img#hip1 { height: 176px !important; width: 100%; object-fit: cover; }
.jv-treat main iframe { display: block; width: 100%; max-width: 800px; height: auto !important; aspect-ratio: 16 / 9; border: 0; border-radius: var(--jv-radius); box-shadow: var(--jv-shadow); margin-top: 8px; }

/* CTA row + band */
.jv-treat .jv-treat-cta { max-width: var(--jv-container); margin: 8px auto 16px; padding: 0 var(--jv-gutter); }
.jv-treat .jv-treat-band { max-width: var(--jv-container); margin: 32px auto 40px; padding: 0 var(--jv-gutter); }
.jv-treat .jv-btn { color: #fff; }
.jv-treat .jv-btn--outline { color: var(--jv-blue); }
.jv-treat .jv-btn--light { color: var(--jv-blue); }
.jv-treat .jv-btn--outline:hover { color: #fff; }
.jv-treat .jv-cta .jv-btn--light { background: #fff; color: var(--jv-blue) !important; }
.jv-treat .jv-cta .jv-btn--outline { background: transparent; color: #fff !important; border-color: #fff; }
.jv-treat .jv-cta .jv-btn--outline:hover { background: #fff; color: var(--jv-blue) !important; }

/* FAQ (intercostal page) */
.jv-treat .jv-faq__item { max-width: 860px; margin-left: auto; margin-right: auto; }
.jv-treat .jv-faq__q { background: #fff; font-size: 1.05rem; }
.jv-treat .jv-faq__a [class*="col-md-"] { max-width: 100%; }

@media (max-width: 767.98px) {
  .jv-treat main > section.vc_row:first-child { min-height: 220px !important; }
  .jv-treat main > section.vc_row:first-child > .container { padding-top: 96px; padding-bottom: 40px; }
  .jv-treat main .row > .container, .jv-treat main div[clss] > .container { display: block; }
  .jv-treat main h2:not(footer *), .jv-treat main h2 strong:not(footer *) { font-size: 1.45rem !important; }
  .jv-treat main iframe { max-width: 100%; }
}
