/* WS-E2 condition pages family (2026-10-30). Scoped to main.jv-cond. Uses --jv-* tokens from jeevisha-ui.css. */
.jv-cond { font-family: var(--jv-font-body); color: var(--jv-ink); overflow-x: clip; }

/* hero */
.jv-cond > section.vc_row.fullheight { position: relative; min-height: 320px !important; padding: clamp(36px, 6vw, 72px) 0 clamp(48px, 7vw, 90px) !important; background-size: cover !important; background-position: center !important; isolation: isolate; }
.jv-cond > section.vc_row.fullheight::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, rgba(13,27,74,.88) 0%, rgba(35,63,146,.78) 60%, rgba(63,111,18,.55) 100%); }
.jv-cond > section.vc_row.fullheight h1 { font-family: var(--jv-font-head) !important; color: #fff !important; font-weight: 700 !important; font-size: var(--jv-fs-h1) !important; line-height: 1.15 !important; margin-bottom: .6em !important; text-shadow: 0 2px 14px rgba(0,0,0,.25); }
.jv-cond > section.vc_row.fullheight h1 .keyword,
.jv-cond > section.vc_row.fullheight h1 .ld-fh-txt { color: #fff !important; }
.jv-cond > :not(footer) .one-row_bottom_divider,
body > .row .one-row_bottom_divider { z-index: 1; }
.jv-hero-cta { margin-top: 8px; justify-content: center; }
.jv-hero-cta .jv-btn--primary { background: #fff; color: var(--jv-blue) !important; }
.jv-hero-cta .jv-btn--primary:hover { background: var(--jv-green-50); }
.jv-hero-cta .jv-btn--tel { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.85); }
.jv-hero-cta .jv-btn--tel:hover { background: rgba(255,255,255,.15); }

/* content column */
.jv-cond > section:not(.fullheight):not(.jv-cond-band),
.jv-cond > .row { padding-top: clamp(24px, 4vw, 48px); }
.jv-cond > :not(footer) .container,
body > .row .container { max-width: 1100px; padding-left: var(--jv-gutter); padding-right: var(--jv-gutter); box-sizing: border-box; }
.jv-cond > :not(footer) .row,
body > .row .row,
body > .row { margin-left: 0; margin-right: 0; }
.jv-cond > :not(footer) p,
.jv-cond > :not(footer) li,
body > .row p,
body > .row li { font-size: var(--jv-fs-body) !important; line-height: 1.75 !important; color: var(--jv-ink); }
.jv-cond > :not(footer) p,
body > .row p { margin: 0 0 1.1em; }
.jv-cond > :not(footer) li,
body > .row li { font-weight: 400 !important; }
.jv-cond > :not(footer) a:not(.jv-btn),
body > .row a:not(.jv-btn) { color: var(--jv-blue); text-underline-offset: 2px; }
.jv-cond > :not(footer) h2,
.jv-cond > :not(footer) h2 strong,
body > .row h2,
body > .row h2 strong { font-family: var(--jv-font-head) !important; color: var(--jv-navy) !important; font-weight: 700 !important; font-size: var(--jv-fs-h2) !important; line-height: 1.25 !important; letter-spacing: -.01em; }
.jv-cond > :not(footer) h2,
body > .row h2 { margin: 1.1em 0 .5em !important; }
.jv-cond > :not(footer) h2:empty,
body > .row h2:empty { display: none; }
.jv-cond > :not(footer) h2:not(:empty)::after,
body > .row h2:not(:empty)::after { content: ""; display: block; width: 56px; height: 4px; border-radius: 4px; background: var(--jv-green); margin-top: 10px; }
.jv-cond > :not(footer) h3,
.jv-cond > :not(footer) h3 strong,
body > .row h3,
body > .row h3 strong { font-family: var(--jv-font-head) !important; color: var(--jv-blue); font-weight: 600 !important; font-size: var(--jv-fs-h3) !important; line-height: 1.35 !important; }
.jv-cond > :not(footer) .container > h1,
.jv-cond > :not(footer) .col-md-6 > h1,
body > .row .container > h1,
body > .row .col-md-6 > h1 { font-family: var(--jv-font-head) !important; color: var(--jv-navy); font-size: var(--jv-fs-h2) !important; line-height: 1.25 !important; font-weight: 700 !important; }
.jv-cond > :not(footer) ul,
body > .row ul { list-style: none; padding-left: 0; margin: 0 0 1.2em; }
.jv-cond > :not(footer) ul > li,
body > .row ul > li { position: relative; padding-left: 1.6em; margin-bottom: .55em; }
.jv-cond > :not(footer) ul > li::before,
body > .row ul > li::before { content: ""; position: absolute; left: .2em; top: .68em; width: .55em; height: .55em; border-radius: 50%; background: var(--jv-green); }
.jv-cond > :not(footer) ol,
body > .row ol { padding-left: 1.4em; margin: 0 0 1.2em; }
.jv-cond > :not(footer) ol > li,
body > .row ol > li { margin-bottom: .5em; }
.jv-cond > :not(footer) img,
body > .row img { max-width: 100%; height: auto; border-radius: var(--jv-radius); box-shadow: var(--jv-shadow); }
.jv-cond > :not(footer) .img-fluid,
.jv-cond > :not(footer) [class*="col-md-"] > img,
body > .row .img-fluid,
body > .row [class*="col-md-"] > img { display: block; margin: 0 auto 1.2em; }
.jv-cond > :not(footer) table,
body > .row table { width: 100%; border-collapse: collapse; margin: 1em 0; display: block; overflow-x: auto; }
.jv-cond > :not(footer) th,
.jv-cond > :not(footer) td,
body > .row th,
body > .row td { border: 1px solid var(--jv-line); padding: .6em .8em; text-align: left; vertical-align: top; }
.jv-cond > :not(footer) th,
body > .row th { background: var(--jv-blue-50); color: var(--jv-navy); }
.jv-cond > :not(footer) iframe,
body > .row iframe { max-width: 100%; border: 0; border-radius: var(--jv-radius); }
.jv-cond > :not(footer) .bg-cover img,
.jv-cond > :not(footer) .one-row_bottom_divider svg,
body > .row .bg-cover img,
body > .row .one-row_bottom_divider svg { box-shadow: none; border-radius: 0; }
.jv-cond > :not(footer) [class*="col-md-"],
body > .row [class*="col-md-"] { box-sizing: border-box; }
.jv-cond > :not(footer) .row,
.jv-cond > :not(footer) .container,
body > .row .row,
body > .row,
body > .row .container { overflow-wrap: anywhere; word-break: normal; }
.jv-cond > :not(footer) .row,
.jv-cond > :not(footer) section,
body > .row .row,
body > .row,
body > .row section { max-width: 100%; }

/* related-condition cards (neck-pain, sports-injury, etc.) */
.jv-cond > :not(footer) .iconbox,
.jv-cond > :not(footer) .card,
.jv-cond > :not(footer) .lqd-column .ld-fancy-heading,
body > .row .iconbox,
body > .row .card,
body > .row .lqd-column .ld-fancy-heading { max-width: 100%; }
.jv-cond > :not(footer) .iconbox.text-left,
body > .row .iconbox.text-left { background: var(--jv-blue) !important; border-radius: var(--jv-radius); }
.jv-cond > :not(footer) .vc_row [class*="col-md-"] > a,
body > .row .vc_row [class*="col-md-"] > a { text-decoration: none; }

/* CTA band */
.jv-cond-band { padding: clamp(32px, 5vw, 64px) 0; clear: both; }
.jv-cond-band .jv-cta { max-width: 1100px; margin: 0 auto; }
.jv-cond-band .jv-btn-row { justify-content: center; }
.jv-cond-band .jv-btn--primary { background: #fff; color: var(--jv-blue) !important; }
.jv-cond-band .jv-btn--tel { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.85); }
.jv-cond-band .jv-btn--tel:hover { background: rgba(255,255,255,.15); }

@media (max-width: 767.98px) {
.jv-cond > :not(footer) .container,
body > .row .container { padding-left: 16px; padding-right: 16px; }
  .jv-hero-cta .jv-btn, .jv-cond-band .jv-btn { width: 100%; }
.jv-cond > :not(footer) [class*="col-md-"],
body > .row [class*="col-md-"] { width: 100%; float: none; }
}

/* hero h1 must always be readable even if the split-text entrance animation does not fire */
.jv-cond > section.vc_row.fullheight h1,
.jv-cond > section.vc_row.fullheight h1 .split-inner,
.jv-cond > section.vc_row.fullheight h1 .split-txt { opacity: 1 !important; transform: none !important; visibility: visible !important; }
.jv-cond > :not(footer) h2 + br,
.jv-cond > :not(footer) h2 + h2 + br,
body > .row h2 + br,
body > .row h2 + h2 + br { display: none; }
.jv-cond > section.vc_row.fullheight > .container { position: relative; z-index: 2; }
/* entrance-animation rows: never leave content invisible */
.jv-cond > :not(footer) [data-custom-animations="true"]:not(h1),
.jv-cond > :not(footer) [data-custom-animations="true"]:not(h1) > *,
body > .row [data-custom-animations="true"]:not(h1),
body > .row [data-custom-animations="true"]:not(h1) > * { opacity: 1 !important; transform: none !important; }
@media (min-width: 1200px) { .jv-cond > section.vc_row.fullheight { padding-top: 190px !important; } }
/* rows/containers that are direct children of main (stray markup on some pages) */
.jv-cond > .row { margin-left: 0; margin-right: 0; max-width: 100%; }
.jv-cond > .row > .container, .jv-cond > .container { max-width: 1100px; box-sizing: border-box; }
.jv-cond > .row p, .jv-cond > .row li { font-size: var(--jv-fs-body) !important; line-height: 1.75 !important; }
body > .row { margin-left: 0; margin-right: 0; max-width: 100%; }
body > .row > .container { max-width: 1100px; box-sizing: border-box; }
.jv-cta-strip { padding: 28px 0 0; }
.jv-cta-strip .jv-btn--primary { background: var(--jv-blue); color: #fff !important; }
.jv-cta-strip .jv-btn--tel { color: var(--jv-blue) !important; border-color: var(--jv-blue); }
.jv-cta-strip .jv-btn--tel:hover { background: var(--jv-blue); color: #fff !important; }
@media (min-width: 1200px) { .jv-cond > section.vc_row.fullheight > .container { padding-top: 120px; } }
