/* ==========================================================================
   WS-D1 Back-pain family layer (2026-10-30)
   Loaded after assets/css/ds/ws-d1-back-base.css (the former page-local CSS, moved verbatim)
   and uses the --jv-* tokens from jeevisha-ui.css. Everything is scoped under .jvb
   (added to <main id="content"> on the family pages). !important is used only where the
   legacy page CSS / inline styles have to be beaten.
   ========================================================================== */

.jvb { font-family: var(--jv-font-body, system-ui, sans-serif); color: var(--jv-ink, #1b1f2b); }
.jvb h1, .jvb h2, .jvb h3, .jvb h5 { font-family: var(--jv-font-head, "Poppins", sans-serif); }
.jvb .container { max-width: var(--jv-container, 1200px); }
.jvb .vc_row { box-sizing: border-box; }
.jvb .row::before, .jvb .row::after { content: none !important; display: none !important; }
.jvb .center-vertical-line { display: none !important; }

/* ---- hero ---------------------------------------------------------------- */
.jvb .landing-hero { min-height: 0 !important; padding: clamp(136px, 13vw, 184px) 0 clamp(48px, 6vw, 88px) !important; position: relative; overflow: hidden; background: linear-gradient(135deg, #ffffff 0%, var(--jv-blue-50, #f4f7ff) 60%, var(--jv-green-50, #edf5e3) 100%); }
.jvb .landing-hero::before { content: none !important; display: none !important; }
.jvb .landing-hero .video-overlay { background: rgba(255, 255, 255, .84) !important; }
.jvb .landing-hero .hero-bg-video { z-index: 0; }
.jvb .landing-hero .landing-content { z-index: 10; }
.jvb .landing-hero .row.d-flex { align-items: center; row-gap: 24px; }
.jvb .heading-hero { font-family: var(--jv-font-head) !important; font-size: var(--jv-fs-h1) !important; line-height: 1.15 !important; font-weight: 700 !important; color: var(--jv-blue, #233f92) !important; letter-spacing: -.01em; margin: 0 0 .5em !important; }
.jvb .landing-hero p, .jvb .landing-hero p i { font-size: var(--jv-fs-lead) !important; line-height: 1.65 !important; color: var(--jv-ink, #1b1f2b) !important; font-style: normal !important; margin-bottom: 1.4rem !important; }
.jvb .jvb-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.jvb .jvb-hero-cta .jv-btn i { margin: 0 !important; }
.jvb .appointment-form-box { background: #fff !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; border: 1px solid var(--jv-line, #e2e6f0) !important; border-radius: var(--jv-radius, 14px) !important; box-shadow: var(--jv-shadow-lg, 0 14px 40px rgba(13,27,74,.14)) !important; padding: clamp(20px, 3vw, 32px) !important; margin-top: 0 !important; height: auto !important; }
.jvb .appointment-form-box h3 { font-family: var(--jv-font-head); font-size: var(--jv-fs-h3); margin-bottom: 16px; color: var(--jv-blue); }
.jvb .form-control-custom { width: 100%; min-height: 46px; padding: 11px 14px; margin-bottom: 14px; border: 1px solid #c9d0e2; border-radius: 8px; background: #fff; font-size: 1rem; box-sizing: border-box; }
.jvb .form-control-custom:focus { border-color: var(--jv-blue); outline: 2px solid rgba(35, 63, 146, .25); }
.jvb .appointment-form-box button[type="submit"] { min-height: 48px; }
@media (max-width: 767.98px) { .jvb .landing-hero { padding-top: 104px !important; } }

/* ---- stats --------------------------------------------------------------- */
.jvb .jvb-stats { background: transparent !important; margin: 0 !important; padding: clamp(28px, 4vw, 48px) 0 !important; }
.jvb .jvb-stats > .container { background: var(--jv-blue, #233f92); border-radius: var(--jv-radius, 14px); box-shadow: var(--jv-shadow); padding: clamp(24px, 3.5vw, 40px) clamp(16px, 3vw, 32px); }
.jvb .jvb-stats .row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; }
.jvb .jvb-stats .row > [class*="col-"] { width: auto; max-width: none; flex: none; padding: 0; text-align: center !important; }
.jvb .jvb-stats .liquid-counter { text-align: center !important; margin: 0; }
.jvb .jvb-stats .liquid-counter-element { font-family: var(--jv-font-head) !important; font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.8rem) !important; line-height: 1.1 !important; font-weight: 700 !important; }
.jvb .jvb-stats .trust-text { display: block; margin-top: 6px; font-size: .8rem !important; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #fff !important; }
@media (max-width: 767.98px) { .jvb .jvb-stats .row { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; } }

/* ---- doctor -------------------------------------------------------------- */
.jvb .jvb-doctor { padding: var(--jv-section, 72px) 0 !important; background: #fff !important; }
.jvb .jvb-doctor .row { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 4vw, 56px); align-items: center; margin: 0; }
.jvb .jvb-doctor .row > [class*="col-"] { width: auto; max-width: none; flex: none; padding: 0; margin-bottom: 0 !important; float: none; margin-left: 0; opacity: 1 !important; transform: none !important; }
.jvb .jvb-doctor h2 { font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; color: var(--jv-navy); margin: 0 0 .5em !important; }
.jvb .jvb-doctor h2 strong { color: var(--jv-blue); }
.jvb .jvb-doctor p { font-size: var(--jv-fs-body) !important; line-height: 1.75 !important; color: var(--jv-ink); margin-bottom: 1.2rem !important; }
.jvb .jvb-doctor h3.doctor { font-size: var(--jv-fs-h3); color: var(--jv-green-700, #3f6f12) !important; margin: 1.2em 0 .5em; }
.jvb .jvb-doctor ul { list-style: none; padding: 0; margin: 0 0 1.4rem; }
.jvb .jvb-doctor ul li { position: relative; padding-left: 1.6em; margin-bottom: .5em; font-size: var(--jv-fs-body) !important; line-height: 1.55; }
.jvb .jvb-doctor ul li::before { content: ""; position: absolute; left: .2em; top: .55em; width: .55em; height: .55em; border-radius: 50%; background: var(--jv-green, #89c043); }
.jvb .jvb-doctor .fancy-title, .jvb .jvb-doctor .fancy-title > * { opacity: 1 !important; transform: none !important; }
.jvb .jvb-doctor figure { margin: 0; }
.jvb .jvb-doctor .doctor-sanjog { width: 100%; max-width: 440px; display: block; margin: 0 auto; border-radius: var(--jv-radius); box-shadow: var(--jv-shadow-lg) !important; }
.jvb .jvb-doctor .about-clinic, .jvb .jvb-treat .about-clinic { font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--jv-green-700); background: var(--jv-green-50); border: 0 !important; border-radius: 999px; padding: .4em 1em; margin-bottom: 1rem; }
.jvb .jvb-doctor .about-clinic:hover, .jvb .jvb-treat .about-clinic:hover { background: var(--jv-green-50); color: var(--jv-green-700); }
.jvb .jvb-doctor .btn-solid { background: var(--jv-blue) !important; border-radius: 999px !important; min-height: 46px; padding: .7em 1.6em !important; }
.jvb .jvb-doctor .btn-solid .btn-gradient-bg { display: none !important; }
.jvb .jvb-doctor .btn-solid .btn-txt a { color: #fff !important; font-weight: 600; text-decoration: none; }
@media (max-width: 991.98px) { .jvb .jvb-doctor .row { grid-template-columns: 1fr; } .jvb .jvb-doctor .row > [class*="col-"]:last-child { order: -1; } }

/* ---- treatment cards ------------------------------------------------------ */
.jvb .jvb-treat { padding: var(--jv-section, 72px) 0 !important; background: var(--jv-bg-soft, #f7f9fc) !important; }
.jvb .jvb-treat .container > .row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2.2vw, 26px); margin: 0 0 clamp(16px, 2.2vw, 26px); }
.jvb .jvb-treat .container > .row > [class*="col-"] { width: auto; max-width: none; flex: none; padding: 0; margin: 0 !important; float: none; min-width: 0; }
.jvb .jvb-treat .container > .row > .col-md-12 { grid-column: 1 / -1; margin-bottom: 8px !important; }
.jvb .jvb-treat .conditions-title { opacity: 1 !important; transform: none !important; animation: none !important; font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; color: var(--jv-navy); }
.jvb .jvb-treat .conditions-title strong { color: var(--jv-blue); }
.jvb .jvb-treat .iconbox { position: relative !important; display: flex !important; flex-direction: column; height: 100% !important; min-height: 0 !important; width: 100% !important; margin: 0 !important; padding: 0 !important; background: #fff !important; border: 1px solid var(--jv-line) !important; border-radius: var(--jv-radius) !important; box-shadow: var(--jv-shadow) !important; clip-path: none !important; transform: none !important; overflow: hidden; transition: box-shadow .2s, border-color .2s; }
.jvb .jvb-treat .iconbox:hover { box-shadow: var(--jv-shadow-lg) !important; border-color: var(--jv-green) !important; transform: none !important; }
.jvb .jvb-treat .iconbox::before, .jvb .jvb-treat .iconbox::after { content: none !important; display: none !important; }
.jvb .jvb-treat .iconbox .iconbox-icon-wrap { position: static !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; transform: none !important; }
.jvb .jvb-treat .iconbox .iconbox-icon-container { position: static !important; display: block !important; width: 100% !important; height: 150px !important; margin: 0 !important; padding: 0 !important; background: var(--jv-blue-50) !important; border-radius: 0 !important; overflow: hidden; transform: none !important; }
.jvb .jvb-treat .iconbox .iconbox-icon-container img { position: static !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; filter: none !important; opacity: 1 !important; transform: none !important; display: block; border-radius: 0 !important; }
.jvb .jvb-treat .iconbox .contents { position: static !important; display: flex; flex-direction: column; flex: 1 1 auto; width: 100% !important; height: auto !important; padding: 18px 20px 22px !important; margin: 0 !important; background: transparent !important; opacity: 1 !important; transform: none !important; visibility: visible !important; clip-path: none !important; }
.jvb .jvb-treat .iconbox .contents h3 { position: static !important; margin: 0 0 .5em !important; font-family: var(--jv-font-head) !important; font-size: 1.1rem !important; line-height: 1.35 !important; font-weight: 600 !important; color: var(--jv-navy) !important; text-transform: none !important; letter-spacing: 0; opacity: 1 !important; transform: none !important; }
.jvb .jvb-treat .iconbox .contents p { margin: 0 !important; opacity: 1 !important; transform: none !important; max-height: none !important; overflow: visible !important; }
.jvb .jvb-treat .iconbox .contents p span { display: block; font-family: var(--jv-font-body) !important; font-size: .96rem !important; line-height: 1.65 !important; color: var(--jv-muted) !important; font-style: normal !important; }
@media (max-width: 1099.98px) { .jvb .jvb-treat .container > .row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .jvb .jvb-treat .container > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479.98px) { .jvb .jvb-treat .container > .row { grid-template-columns: 1fr; } .jvb .jvb-treat .iconbox .iconbox-icon-container { height: 170px !important; } }

/* ---- testimonials --------------------------------------------------------- */
.jvb .jvb-reviews { background: linear-gradient(135deg, var(--jv-blue-50, #f4f7ff) 0%, var(--jv-green-50, #edf5e3) 100%) !important; padding: var(--jv-section, 72px) 0 !important; }
.jvb .jvb-reviews h2 { font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; color: var(--jv-navy) !important; }
.jvb .jvb-reviews h2 strong { color: var(--jv-blue); }
.jvb .jvb-reviews .lead { font-size: var(--jv-fs-lead) !important; color: var(--jv-muted) !important; }
.jvb .jvb-reviews .horizontal-carousel-wrapper { overflow: hidden; padding: 0; max-width: 100%; }
.jvb .jvb-reviews .horizontal-review-track { display: flex !important; flex-wrap: nowrap; gap: 20px !important; animation: none !important; transform: none !important; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px 4px 20px !important; -webkit-overflow-scrolling: touch; scrollbar-width: thin; align-items: stretch; }
.jvb .jvb-reviews .review-card-horizontal { flex: 0 0 min(380px, 86vw) !important; width: min(380px, 86vw) !important; scroll-snap-align: start; transform: none !important; display: flex; }
.jvb .jvb-reviews .review-card-horizontal:hover { transform: none !important; }
.jvb .jvb-reviews .review-content { display: flex; flex-direction: column; width: 100%; height: auto !important; min-height: 0 !important; overflow: visible !important; background: #fff !important; border: 1px solid var(--jv-line) !important; border-radius: var(--jv-radius) !important; box-shadow: var(--jv-shadow) !important; padding: 22px !important; box-sizing: border-box; }
.jvb .jvb-reviews .review-header h5 { font-family: var(--jv-font-head); font-size: 1.05rem !important; font-weight: 600; color: var(--jv-navy) !important; }
.jvb .jvb-reviews .review-body { display: flex; flex-direction: column; flex: 1 1 auto; }
.jvb .jvb-reviews .review-text { font-size: .98rem !important; line-height: 1.65 !important; color: var(--jv-ink) !important; font-style: normal !important; max-height: 8.25em !important; overflow: hidden; }
.jvb .jvb-reviews .review-content.expanded .review-text { max-height: 1200px !important; }
.jvb .jvb-reviews .read-more-btn { align-self: flex-start; margin-top: auto; font-size: .9rem !important; min-height: 32px; }
.jvb .jvb-reviews .review-footer { display: none; }
.jvb .jvb-reviews .review-footer:has(*:not(:empty)) { display: block; }
.jvb .jvb-reviews .carousel-dots { margin-top: 8px; }
.jvb .jvb-reviews .dot { width: 10px; height: 10px; }

/* ---- why choose us (journey) ---------------------------------------------- */
.jvb .jvb-why { background: #fff !important; padding: var(--jv-section, 72px) 0 !important; }
.jvb .jvb-why h2.section-title { font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; color: var(--jv-navy) !important; }
.jvb .jvb-why .timeline-container { max-width: none !important; width: 100% !important; margin: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 26px); }
.jvb .jvb-why .timeline-container::before, .jvb .jvb-why .timeline-container::after { content: none !important; display: none !important; }
.jvb .jvb-why .timeline-container .row { display: contents !important; }
.jvb .jvb-why .timeline-container .row > [class*="col-"] { display: flex !important; width: auto; max-width: none; padding: 0; margin: 0 !important; min-width: 0; }
.jvb .jvb-why .timeline-container .row > .col-lg-2 { display: none !important; }  /* decorative connector columns only */
.jvb .jvb-why .step-container { width: 100% !important; max-width: none !important; margin: 0 !important; position: relative !important; display: flex; }
.jvb .jvb-why .step-content.flip-card { position: relative !important; display: flex !important; flex-direction: column; align-items: flex-start !important; justify-content: flex-start !important; width: 100%; height: auto !important; min-height: 0 !important; transform: none !important; padding: 26px 22px 24px !important; background: #fff !important; border: 1px solid var(--jv-line) !important; border-radius: var(--jv-radius) !important; box-shadow: var(--jv-shadow) !important; overflow: hidden; }
.jvb .jvb-why .step-content.flip-card::before, .jvb .jvb-why .step-content.flip-card::after { content: none !important; display: none !important; }
.jvb .jvb-why .step-number { position: static !important; margin: 0 0 14px !important; width: 44px !important; height: 44px !important; font-size: 1rem !important; box-shadow: none !important; flex: 0 0 auto; transform: none !important; }
.jvb .jvb-why .card-front { position: static !important; display: block !important; opacity: 1 !important; transform: none !important; backface-visibility: visible !important; width: 100%; padding: 0 !important; text-align: left !important; background: transparent !important; }
.jvb .jvb-why .card-front img { width: 72px !important; height: 72px !important; object-fit: cover; margin-bottom: 12px !important; display: block; }
.jvb .jvb-why .card-front h3 { font-size: 1.1rem !important; line-height: 1.35 !important; font-weight: 600 !important; color: var(--jv-navy) !important; margin: 0 0 .4em !important; }
.jvb .jvb-why .card-desc { display: block !important; opacity: 1 !important; max-height: none !important; transform: none !important; visibility: visible !important; font-size: .96rem !important; line-height: 1.65 !important; color: var(--jv-muted) !important; margin: 0 !important; }
@media (max-width: 991.98px) { .jvb .jvb-why .timeline-container { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .jvb .jvb-why .timeline-container { grid-template-columns: 1fr; } }

/* ---- FAQ ------------------------------------------------------------------ */
.jvb .jvb-faq { background: var(--jv-bg-soft, #f7f9fc) !important; padding: var(--jv-section, 72px) 0 !important; }
.jvb .jvb-faq h2 { font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; color: var(--jv-navy) !important; margin-bottom: 0 !important; text-transform: none; }
.jvb .jvb-faq .jv-faq__h { margin: 0; font-size: inherit; line-height: inherit; }
.jvb .jvb-faq .jv-faq__q { font-size: 1.05rem; }
.jvb .jvb-faq .jv-faq__a p { margin: 0; font-size: 1rem; line-height: 1.7; color: var(--jv-ink); }

/* ---- CTA band --------------------------------------------------------------- */
.jvb .jvb-cta { padding: clamp(32px, 5vw, 56px) 0 !important; background: #fff; }
.jvb .jvb-cta .jv-cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: center; }

/* ---- local link row ---------------------------------------------------------- */
.jvb .jvb-local { padding: 0 0 40px !important; }
.jvb .jvb-local p { font-size: var(--jv-fs-body); line-height: 1.6; color: var(--jv-muted); margin: 0; }
.jvb .jvb-local a { color: var(--jv-blue); text-decoration: underline; text-underline-offset: 2px; }
.jvb .jvb-why .card-front h3 { background: transparent !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }

/* ---- Pune page variants: treatment journey + why-choose list ---------------- */
.jvb .jvb-journey { background: linear-gradient(135deg, var(--jv-blue-50, #f4f7ff) 0%, var(--jv-green-50, #edf5e3) 100%) !important; padding: var(--jv-section, 72px) 0 !important; }
.jvb .jvb-journey h2.section-title { font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; color: var(--jv-navy) !important; }
.jvb .jvb-journey .title-separator { background: var(--jv-green) !important; }
.jvb .jvb-journey .timeline-container { width: 100%; max-width: none !important; margin: 0 !important; }
.jvb .jvb-journey .timeline-steps { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 26px); align-items: stretch !important; }
.jvb .jvb-journey .timeline-steps > div:not(.timeline-step) { display: none !important; }  /* decorative arrow icons only */
.jvb .jvb-journey .timeline-step { min-width: 0 !important; flex: none !important; padding: 24px 20px !important; text-align: left !important; background: #fff; border: 1px solid var(--jv-line); border-radius: var(--jv-radius); box-shadow: var(--jv-shadow); }
.jvb .jvb-journey .step-number { width: 44px !important; height: 44px !important; font-size: 1rem !important; margin: 0 0 12px !important; background: var(--jv-blue) !important; box-shadow: none !important; }
.jvb .jvb-journey .timeline-step h3 { font-size: 1.1rem !important; line-height: 1.35 !important; margin: 0 0 .4em !important; color: var(--jv-navy) !important; }
.jvb .jvb-journey .timeline-step p { font-size: .96rem !important; line-height: 1.65 !important; color: var(--jv-muted) !important; margin: 0 !important; }
@media (max-width: 991.98px) { .jvb .jvb-journey .timeline-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .jvb .jvb-journey .timeline-steps { grid-template-columns: 1fr; } }
.jvb .jvb-why2 { background: #fff !important; padding: var(--jv-section, 72px) 0 !important; }
.jvb .jvb-why2 .timeline-wrapper { max-width: var(--jv-container, 1200px); margin: 0 auto; padding: 0 var(--jv-gutter, 16px); box-sizing: border-box; }
.jvb .jvb-why2 h2.section-title { text-align: center; font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; color: var(--jv-navy) !important; margin: 0 0 1.2em !important; text-transform: none; }
.jvb .jvb-why2 .timeline-items { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 26px); position: static !important; padding: 0 !important; margin: 0 !important; border: 0 !important; max-width: none !important; }
.jvb .jvb-why2 .timeline-items::before, .jvb .jvb-why2 .timeline-items::after, .jvb .jvb-why2 .timeline-item::before, .jvb .jvb-why2 .timeline-item::after { content: none !important; display: none !important; }
.jvb .jvb-why2 .timeline-item { position: static !important; width: auto !important; margin: 0 !important; padding: 0 !important; display: flex; }
.jvb .jvb-why2 .timeline-content { width: 100%; margin: 0 !important; padding: 22px !important; background: #fff !important; border: 1px solid var(--jv-line); border-radius: var(--jv-radius); box-shadow: var(--jv-shadow) !important; }
.jvb .jvb-why2 .timeline-content h3 { font-size: 1.1rem !important; line-height: 1.35 !important; color: var(--jv-navy) !important; margin: 0 0 .4em !important; }
.jvb .jvb-why2 .timeline-content p { font-size: .96rem !important; line-height: 1.65 !important; color: var(--jv-muted) !important; margin: 0 !important; }
@media (max-width: 991.98px) { .jvb .jvb-why2 .timeline-items { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .jvb .jvb-why2 .timeline-items { grid-template-columns: 1fr; } }
/* width guards (theme rules otherwise collapse these shrink-to-fit blocks) */
.jvb .jvb-journey .timeline-steps, .jvb .jvb-reviews .horizontal-review-track, .jvb .jvb-why .timeline-container { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box; }
.jvb .jvb-why2 .timeline-wrapper { width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
.jvb .jvb-reviews .horizontal-carousel-wrapper { width: 100% !important; }

/* ---- legacy one-off: backpain-management-center-in-pimpri.php ------------------ */
.jvb-legacy .jvl-about { padding: 8px 0 var(--jv-section, 72px) !important; background-image: none !important; }
.jvb-legacy .jvl-about .row, .jvb-legacy .jvl-about .row > .container { display: block; margin: 0; }
.jvb-legacy .jvl-about .row > .container { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.jvb-legacy .jvl-about [class*="col-md-"] { width: auto; float: none; padding: 0; max-width: none; margin: 0; }
.jvb-legacy .jvl-about img { width: 100%; height: auto; border-radius: var(--jv-radius); box-shadow: var(--jv-shadow-lg); }
.jvb-legacy .jvl-about h1 { font-family: var(--jv-font-head) !important; font-size: var(--jv-fs-h1) !important; line-height: 1.15 !important; color: var(--jv-blue) !important; margin: 0 0 .6em !important; }
.jvb-legacy .jvl-about p { font-size: var(--jv-fs-body) !important; line-height: 1.75 !important; color: var(--jv-ink); margin: 0 0 1.1em !important; }
.jvb-legacy .jvl-about p a { color: var(--jv-blue); text-decoration: underline; text-underline-offset: 2px; }
.jvb-legacy .jvl-about .jv-btn-row { margin-top: 1.2rem; }
@media (max-width: 991.98px) { .jvb-legacy .jvl-about .row > .container { grid-template-columns: 1fr; } }
.jvb-legacy .jvl-stats { padding: clamp(32px, 5vw, 56px) 0 !important; }
.jvb-legacy .jvl-videos { padding: var(--jv-section, 72px) 0 clamp(16px, 3vw, 32px) !important; }
.jvb-legacy .jvl-videos h2, .jvb-legacy .jvl-testi h2 { font-family: var(--jv-font-head) !important; font-size: var(--jv-fs-h2) !important; color: var(--jv-navy) !important; margin: 0 0 .6em !important; }
.jvb-legacy .jvl-videos .row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 26px); margin: 0; }
.jvb-legacy .jvl-videos .row > header { grid-column: 1 / -1; }
.jvb-legacy .jvl-videos .row > br { display: none; }
.jvb-legacy .jvl-videos .row > [class*="col-md-"] { width: auto; float: none; padding: 0; max-width: none; margin: 0; }
.jvb-legacy .jvl-videos iframe { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; border: 0; border-radius: var(--jv-radius); box-shadow: var(--jv-shadow); display: block; }
@media (max-width: 991.98px) { .jvb-legacy .jvl-videos .row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .jvb-legacy .jvl-videos .row { grid-template-columns: 1fr; } }
.jvb-legacy a[href*="youtube.com/channel"].btn { background: var(--jv-blue) !important; border-radius: 999px !important; width: auto !important; max-width: 320px; padding: .8em 1.6em !important; margin: 0 auto 24px !important; }
.jvb-legacy a[href*="youtube.com/channel"].btn .btn-gradient-bg, .jvb-legacy a[href*="youtube.com/channel"].btn svg { display: none !important; }
.jvb-legacy a[href*="youtube.com/channel"].btn .btn-txt { color: #fff; font-weight: 600; }
.jvb-legacy .jvl-links { padding: clamp(24px, 4vw, 48px) 0 !important; }
.jvb-legacy .jvl-links .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 26px); margin: 0; }
.jvb-legacy .jvl-links .row > [class*="col-md-"] { width: auto; float: none; padding: 0; max-width: none; margin: 0; border: 1px solid var(--jv-line) !important; border-radius: var(--jv-radius); overflow: hidden; box-shadow: var(--jv-shadow); background: #fff; }
.jvb-legacy .jvl-links img { width: 100%; height: auto; display: block; border: 0 !important; padding: 12px !important; box-sizing: border-box; }
.jvb-legacy .jvl-links h3 { margin: 0 !important; font-size: 1.05rem !important; font-family: var(--jv-font-head); }
.jvb-legacy .jvl-links a { text-decoration: none; display: block; }
@media (max-width: 575.98px) { .jvb-legacy .jvl-links .row { grid-template-columns: 1fr; } }
.jvb-legacy .jvl-testi { padding: var(--jv-section, 72px) 0 !important; background: var(--jv-bg-soft, #f7f9fc) !important; }
.jvb-legacy .jvl-testi .row { display: block; margin: 0; }
.jvb-legacy .jvl-testi [class*="col-md-"] { width: 100%; float: none; margin: 0 !important; padding: 0; max-width: none; }
.jvb-legacy .jvl-testi .carousel-container, .jvb-legacy .jvl-testi .carousel-items { position: static !important; height: auto !important; width: 100% !important; perspective: none !important; transform: none !important; }
.jvb-legacy .jvl-testi .carousel-items { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.jvb-legacy .jvl-testi .carousel-item { position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; width: auto !important; height: auto !important; float: none !important; }
.jvb-legacy .jvl-testi .testimonial { height: 100%; background: #fff !important; border: 1px solid var(--jv-line); border-radius: var(--jv-radius) !important; box-shadow: var(--jv-shadow) !important; padding: 22px; }
.jvb-legacy .jvl-testi .testimonial blockquote { color: var(--jv-ink) !important; font-size: 1rem; line-height: 1.7; margin: 0 0 12px; padding: 0; border: 0; }
.jvb-legacy .jvl-testi .testimonial h5 { font-family: var(--jv-font-head); color: var(--jv-navy); }
.jvb .container::before, .jvb .container::after { content: none !important; display: none !important; }

/* ---- legacy condition pages: backpain.php, sciatica-herniated-disc-or-slip-disc.php ---- */
.jvl-page .jvl-hero { position: relative; min-height: 0 !important; padding: clamp(190px, 17vw, 250px) 0 clamp(56px, 7vw, 96px) !important; background-size: cover !important; background-position: center !important; opacity: 1 !important; }
.jvl-page .jvl-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(13, 27, 74, .82) 0%, rgba(35, 63, 146, .62) 100%); z-index: 0; }
.jvl-page .jvl-hero > .container { position: relative; z-index: 2; padding-top: clamp(96px, 9vw, 130px); }
.jvl-page .jvl-hero .one-row_bottom_divider { z-index: 1; }
.jvl-page .jvl-hero 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 .6em !important; opacity: 1 !important; visibility: visible !important; }
.jvl-page .jvl-hero h1 * { opacity: 1 !important; visibility: visible !important; color: inherit; }
.jvl-page .jvl-hero .keyword { position: static !important; display: inline !important; }
.jvl-page .jvl-hero .jvl-hero-cta { margin-top: 8px; }
.jvl-page .jvl-about { padding: var(--jv-section, 72px) 0 !important; background-image: none !important; }
.jvl-page .jvl-about .row:has(.row) { display: block !important; margin: 0; }
.jvl-page .jvl-about .row:not(:has(.row)) { display: grid !important; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(24px, 4vw, 56px); align-items: start; margin: 0; opacity: 1 !important; transform: none !important; }
.jvl-page .jvl-about [class*="col-md-"] { width: auto; float: none; padding: 0; max-width: none; margin: 0; opacity: 1 !important; transform: none !important; }
.jvl-page .jvl-about img { width: 100%; height: auto; border-radius: var(--jv-radius); box-shadow: var(--jv-shadow-lg); margin-top: 0 !important; }
.jvl-page .jvl-about .row:has(> .lqd-space) { display: block !important; }
.jvl-page .jvl-about .lqd-space { display: grid !important; height: auto !important; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.jvl-page .jvl-about p, .jvl-page .jvl-about li { font-size: var(--jv-fs-body) !important; line-height: 1.75 !important; color: var(--jv-ink); font-weight: 400; }
.jvl-page .jvl-about p { margin: 0 0 1.1em; }
.jvl-page .jvl-about a { color: var(--jv-blue); text-decoration: underline; text-underline-offset: 2px; }
.jvl-page .jvl-about h2 { font-family: var(--jv-font-head) !important; font-size: var(--jv-fs-h2) !important; line-height: 1.25 !important; color: var(--jv-navy) !important; margin: 1.4em 0 .5em !important; }
.jvl-page .jvl-about h2:has(> strong:empty) { display: none; }
.jvl-page .jvl-about h6 { font-size: .78rem; font-weight: 700; letter-spacing: .14em; color: var(--jv-green-700); }
.jvl-page .jvl-about ul { list-style: none; padding: 0; margin: 0 0 1.2em; }
.jvl-page .jvl-about ul > li { position: relative; padding-left: 1.6em; margin-bottom: .5em; }
.jvl-page .jvl-about ul > li::before { content: ""; position: absolute; left: .2em; top: .62em; width: .55em; height: .55em; border-radius: 50%; background: var(--jv-green); }
.jvl-page .jvl-about .liquid-img-group-single { position: static !important; transform: none !important; margin-bottom: 16px; }
@media (max-width: 991.98px) { .jvl-page .jvl-about .row:not(:has(.row)), .jvl-page .jvl-about .lqd-space { grid-template-columns: 1fr; } }
.jvl-page hr { display: none; }
.jvl-page .jvl-cond { display: block; padding: var(--jv-section, 72px) 0; background: var(--jv-bg-soft, #f7f9fc); margin: 0 !important; }
.jvl-page .jvl-cond h2 { font-family: var(--jv-font-head) !important; font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; color: var(--jv-navy) !important; margin: 0 0 .6em !important; }
.jvl-page .jvl-cond br { display: none; }
.jvl-page .jvl-cond .row { margin: 0 !important; }
.jvl-page .jvl-cond .row .container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 26px); width: 100%; padding: 0; margin: 0 0 clamp(16px, 2.4vw, 26px); max-width: none; }
.jvl-page .jvl-cond [class*="col-md-"] { width: auto; float: none; padding: 0; max-width: none; margin: 0; min-width: 0; display: flex; }
.jvl-page .jvl-cond .service { display: flex; flex-direction: column; width: 100%; background: #fff !important; border: 1px solid var(--jv-line); border-radius: var(--jv-radius); box-shadow: var(--jv-shadow); padding: 0 !important; overflow: hidden; transition: box-shadow .2s, border-color .2s; }
.jvl-page .jvl-cond .service:hover { box-shadow: var(--jv-shadow-lg); border-color: var(--jv-green); }
.jvl-page .jvl-cond .service img { width: 100% !important; height: 220px !important; object-fit: cover; display: block; }
.jvl-page .jvl-cond .service a { text-decoration: none; }
.jvl-page .jvl-cond .service h3 { font-family: var(--jv-font-head) !important; font-size: 1.1rem !important; line-height: 1.35 !important; margin: 18px 20px 8px !important; text-align: left !important; color: var(--jv-navy) !important; }
.jvl-page .jvl-cond .service p { font-size: .98rem !important; line-height: 1.65 !important; color: var(--jv-muted); text-align: left !important; margin: 0 20px 20px !important; }
@media (max-width: 991.98px) { .jvl-page .jvl-cond .row .container { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .jvl-page .jvl-cond .row .container { grid-template-columns: 1fr; } }
.jvl-page .jvl-cond ~ * a, .jvl-page > .container a { color: var(--jv-blue); }

/* Integration fix: the FAQ .row/.container had no clearfix, so the floated column
   collapsed the section and the CTA section painted over the questions on desktop. */
.jvb .jvb-faq .container, .jvb .jvb-faq .row { display: flow-root; }
