/* WS-D2 shoulder family layer (2026-10-30). Loaded after landing-page.css. Uses --jv-* tokens from jeevisha-ui.css. */
.d2-shoulder { font-family: var(--jv-font-body); color: var(--jv-ink); }
.d2-shoulder .jv-btn--outline-light { background: transparent; color: #fff !important; border-color: #fff; }
.d2-shoulder .jv-btn--outline-light:hover { background: #fff; color: var(--jv-blue) !important; }

/* ---- hero ---- */
.d2-shoulder .landing-hero { min-height: 0; padding-top: clamp(120px, 14vw, 170px) !important; padding-bottom: clamp(48px, 7vw, 96px) !important; }
.d2-shoulder .landing-hero .heading-hero { font-family: var(--jv-font-head); font-size: var(--jv-fs-h1); line-height: 1.15; font-weight: 700; letter-spacing: -.01em; color: var(--jv-blue); margin-bottom: .6em !important; }
.d2-shoulder .landing-hero .col-md-7 p { font-size: var(--jv-fs-lead); line-height: 1.65; color: var(--jv-ink); }
.d2-shoulder .d2-hero-cta { margin-top: 1.25rem; }
.d2-shoulder .landing-hero .appointment-form-box h3 { font-family: var(--jv-font-head); }
@media (max-width: 767.98px) {
  .d2-shoulder .landing-hero .col-md-7 { text-align: left; }
  .d2-shoulder .d2-hero-cta .jv-btn { width: 100%; }
}

/* ---- stats band ---- */
.d2-shoulder section.vc_row[style*="background-color: #233f92"] { margin: 0 !important; padding: clamp(32px, 5vw, 56px) 0 !important; }
.d2-shoulder section.vc_row[style*="background-color: #233f92"] .liquid-counter-element { font-family: var(--jv-font-head); }
.d2-shoulder .trust-text { font-size: .85rem; letter-spacing: .08em; margin-top: 10px; }
@media (max-width: 767.98px) { .d2-shoulder section.vc_row[style*="background-color: #233f92"] .col-sm-6 { margin-bottom: 18px; } }

/* ---- section headings / typography ---- */
.d2-shoulder .fancy-title h2, .d2-shoulder .approach-v2-header h2, .d2-shoulder .conditions-title { font-family: var(--jv-font-head) !important; font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; font-weight: 700 !important; color: var(--jv-navy) !important; letter-spacing: -.01em; }
.d2-shoulder .fancy-title h2 b, .d2-shoulder .conditions-title b { color: var(--jv-blue); }
.d2-shoulder .fancy-title h3.doctor { font-family: var(--jv-font-head); font-size: var(--jv-fs-h3); color: var(--jv-green-700); }
.d2-shoulder .fancy-title h4 { font-size: var(--jv-fs-lead); line-height: 1.6; color: var(--jv-muted); font-weight: 400; }
.d2-shoulder .fancy-title p.font-size-18 { font-size: var(--jv-fs-body); line-height: 1.7; }
.d2-shoulder .fancy-title ul.font-size-18 { font-size: var(--jv-fs-body); line-height: 1.6; }
.d2-shoulder h6.about-clinic, .d2-shoulder .approach-v2-header h6 { display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--jv-green-700); background: var(--jv-green-50); border-radius: 999px; padding: .4em 1em; margin-bottom: 1rem; }
.d2-shoulder .approach-v2-header { margin-bottom: clamp(32px, 5vw, 56px); }
.d2-shoulder .approach-v2-header p { font-size: var(--jv-fs-lead); color: var(--jv-muted); }
.d2-shoulder .doctor-sanjog { border-radius: var(--jv-radius); box-shadow: var(--jv-shadow-lg); }
.d2-shoulder #services.vc_row { padding-top: var(--jv-section) !important; padding-bottom: var(--jv-section) !important; }
.d2-shoulder #services .btn { margin-top: 8px; }

/* ---- condition cards: even, always-visible text ---- */
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 { padding-top: var(--jv-section) !important; padding-bottom: var(--jv-section) !important; background: var(--jv-bg-soft); }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 > .container > .row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2.5vw, 28px); margin: 0; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 > .container > .row::before,
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 > .container > .row::after { display: none; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .row > .lqd-column { width: auto; max-width: none; float: none; padding: 0; margin: 0; min-width: 0; display: flex; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .row > .lqd-column.col-md-12 { grid-column: 1 / -1; display: block; margin-bottom: 8px; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox { clip-path: none; min-height: 0; width: 100%; background: #fff; color: var(--jv-ink); border: 1px solid var(--jv-line); border-radius: var(--jv-radius); box-shadow: var(--jv-shadow); padding: 0 0 22px; justify-content: flex-start; transition: box-shadow .2s, transform .2s; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox:hover { box-shadow: var(--jv-shadow-lg); transform: translateY(-2px); }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox::before,
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox::after { display: none; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox .iconbox-icon-wrap { position: static; inset: auto; aspect-ratio: 4 / 3; overflow: hidden; margin: 0; flex: 0 0 auto; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox .iconbox-icon-container { display: block; width: 100%; height: 100%; margin: 0 !important; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox .iconbox-icon-container img { width: 100%; height: 100%; object-fit: cover; display: block; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox .contents,
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox .contents > *:not(h3) { transform: none !important; opacity: 1 !important; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox .contents { padding: 18px 20px 0; flex: 1 1 auto; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox .contents h3 { font-family: var(--jv-font-head) !important; font-size: 1.1rem !important; line-height: 1.35 !important; font-weight: 600 !important; text-transform: none; color: var(--jv-navy) !important; }
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox .contents p,
.d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 .iconbox .contents p span { font-family: var(--jv-font-body) !important; font-style: normal !important; font-size: .96rem !important; line-height: 1.65 !important; color: var(--jv-muted) !important; }
@media (max-width: 1199.98px) { .d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 > .container > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .d2-shoulder .vc_row.bg-no-repeat.pt-50.pb-150 > .container > .row { grid-template-columns: 1fr; } }

/* ---- journey (approach timeline) ---- */
.d2-shoulder .approach-step-content h3 { font-family: var(--jv-font-head) !important; }
.d2-shoulder .approach-step-content p { font-size: var(--jv-fs-body) !important; line-height: 1.65 !important; color: var(--jv-muted) !important; }
@media (max-width: 767.98px) {
  .d2-shoulder .approach-timeline-v2::before { left: 22px; transform: none; }
  .d2-shoulder .approach-step, .d2-shoulder .approach-step:nth-child(odd), .d2-shoulder .approach-step:nth-child(even) { flex-direction: row; justify-content: flex-start; margin-bottom: 28px; align-items: flex-start; }
  .d2-shoulder .approach-step-empty { display: none; }
  .d2-shoulder .approach-step-content { flex: 1 1 auto; width: auto !important; max-width: none !important; margin: 0 0 0 12px !important; }
  .d2-shoulder .approach-step-content::after { display: none !important; }
  .d2-shoulder .approach-center-spacer { order: -1; flex: 0 0 44px; width: 44px; display: flex; justify-content: center; }
  .d2-shoulder .approach-node { width: 40px; height: 40px; font-size: 14px; }
}

/* ---- testimonials: static grid, full text visible ---- */
.d2-shoulder .horizontal-carousel-wrapper { overflow: visible; padding: 0; }
.d2-shoulder .horizontal-carousel-wrapper::before, .d2-shoulder .horizontal-carousel-wrapper::after { display: none; }
.d2-shoulder .horizontal-review-track { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.5vw, 28px); animation: none !important; transform: none !important; padding: 0; overflow: visible; }
.d2-shoulder .horizontal-review-track > .review-card-horizontal:nth-child(n+7) { display: none; }  /* JS-made clones of the 6 originals */
.d2-shoulder .review-card-horizontal { width: auto !important; flex: none; min-width: 0; }
.d2-shoulder .horizontal-review-track .review-content,
.d2-shoulder .horizontal-review-track .review-card-compact { height: auto !important; min-height: 0 !important; min-width: 0 !important; overflow: visible !important; }
.d2-shoulder .horizontal-review-track .review-card-horizontal { display: flex; }
.d2-shoulder .horizontal-review-track .review-card-compact { width: 100%; }
.d2-shoulder .horizontal-review-track .review-text { max-height: none !important; overflow: visible !important; font-size: .98rem !important; line-height: 1.7 !important; }
.d2-shoulder .horizontal-review-track .read-more-btn { display: none !important; }
.d2-shoulder .carousel-dots { display: none; }
@media (max-width: 991.98px) { .d2-shoulder .horizontal-review-track { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .d2-shoulder .horizontal-review-track { grid-template-columns: 1fr; } }
.d2-shoulder section.vc_row[style*="background: #233f92"] { padding: var(--jv-section) 0 !important; }
.d2-shoulder section.vc_row[style*="background: #233f92"] h2 { font-family: var(--jv-font-head); font-size: var(--jv-fs-h2) !important; font-weight: 700 !important; }
.d2-shoulder section.vc_row[style*="background: #233f92"] h6 { font-family: var(--jv-font-body); text-transform: uppercase; letter-spacing: .14em !important; font-size: .85rem !important; }

/* ---- FAQ ---- */
.d2-shoulder section.vc_row[style*="background-color: #f8f9fa"] { padding: var(--jv-section) 0 !important; background: var(--jv-bg-soft) !important; }
.d2-shoulder section.vc_row[style*="background-color: #f8f9fa"] h2 { font-family: var(--jv-font-head); font-size: var(--jv-fs-h2) !important; line-height: 1.2; font-weight: 700 !important; color: var(--jv-navy) !important; }
.d2-shoulder .faq-container.jv-faq { max-width: 860px; }
.d2-shoulder .jv-faq__a p, .d2-shoulder .jv-faq__a li { font-size: 1rem !important; line-height: 1.7 !important; color: var(--jv-ink) !important; }
.d2-shoulder .jv-faq__a { background: transparent !important; box-shadow: none !important; padding-top: 0 !important; }
.d2-shoulder .jv-faq__a ul { margin-left: 1.2em !important; }

/* ---- CTA band ---- */
.d2-shoulder .d2-ctaband { padding: clamp(32px, 5vw, 64px) 0; }

/* ======== best-doctor-for-shoulder-pain-in-wakad.php ======== */
.d2-doc .vc_row.pt-100 { padding-top: var(--jv-section) !important; }
.d2-doc #about { padding-top: clamp(40px, 6vw, 72px) !important; padding-bottom: clamp(24px, 4vw, 48px) !important; }
.d2-doc #about .col-md-6:first-child { display: none; }  /* image has a dead src ("# "), only alt text rendered */
.d2-doc #about .col-md-6 { width: 100%; max-width: 860px; margin: 0 auto; float: none; }
.d2-doc #about h1 { font-family: var(--jv-font-head); font-size: var(--jv-fs-h1) !important; line-height: 1.15 !important; font-weight: 700; color: var(--jv-blue); letter-spacing: -.01em; margin-bottom: .6em; }
.d2-doc #about p { font-size: var(--jv-fs-body) !important; line-height: 1.75 !important; color: var(--jv-ink); }
.d2-doc #about a { color: var(--jv-blue); text-decoration: underline; text-underline-offset: 2px; }
.d2-doc .fancy-title h2, .d2-doc section h2 { font-family: var(--jv-font-head); font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; font-weight: 700; color: var(--jv-navy); margin-bottom: 1em; }
.d2-doc .liquid-counter-element, .d2-doc .liquid-counter-element span { font-family: var(--jv-font-head); }
.d2-doc .liquid-counter-text { font-size: .85rem; letter-spacing: .08em; color: #fff !important; }
.d2-doc iframe { border: 0; border-radius: var(--jv-radius); box-shadow: var(--jv-shadow); margin-bottom: 24px; }
.d2-doc .service h3, .d2-doc section h3 { font-family: var(--jv-font-head); }
.d2-doc .carousel-vertical-3d .carousel-items { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.5vw, 28px); height: auto !important; transform: none !important; position: static !important; }
.d2-doc .carousel-vertical-3d .carousel-item { position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; width: auto !important; height: auto !important; margin: 0 !important; display: block !important; }
.d2-doc .carousel-container, .d2-doc .carousel-vertical-3d { height: auto !important; overflow: visible !important; }
.d2-doc .lqd-column.col-md-8.col-md-offset-4 { width: 100%; margin-left: 0; float: none; }
.d2-doc .testimonial.testimonial-whole-filled { background: var(--jv-blue); border-radius: var(--jv-radius); height: 100%; padding: 24px; box-shadow: var(--jv-shadow); }
.d2-doc .testimonial blockquote, .d2-doc .testimonial blockquote p { color: #fff !important; font-size: 1rem; line-height: 1.7; }
.d2-doc .testimonial .testimonial-info h5 { color: #fff; font-family: var(--jv-font-head); }
.d2-doc section[style*="background-color:#eee"] { padding-bottom: var(--jv-section) !important; }
@media (max-width: 767.98px) { .d2-doc .carousel-vertical-3d .carousel-items { grid-template-columns: 1fr; } .d2-doc iframe { height: 220px; } }
.d2-doc section#about.vc_row { padding-top: 32px !important; padding-bottom: 24px !important; }

/* ======== shoulder-pain.php ======== */
.d2-sp #about { padding-top: var(--jv-section) !important; padding-bottom: 32px !important; }
.d2-sp #about p, .d2-sp #about p.font-size-20 { font-size: var(--jv-fs-body) !important; line-height: 1.75 !important; color: var(--jv-ink); }
.d2-sp #about a { color: var(--jv-blue); text-decoration: underline; text-underline-offset: 2px; }
.d2-sp #about img { border-radius: var(--jv-radius); box-shadow: var(--jv-shadow); max-width: 100%; margin-top: 0 !important; }
.d2-sp h1 { font-family: var(--jv-font-head); }
.d2-sp main h2 { font-family: var(--jv-font-head); font-size: var(--jv-fs-h2) !important; line-height: 1.2 !important; font-weight: 700; color: var(--jv-navy); }
.d2-sp main h2 strong { color: var(--jv-blue); }
.d2-sp main > .row > .container { padding-top: 24px; padding-bottom: 24px; }
.d2-sp main > .row > .container > .row > .container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.5vw, 28px); margin-top: 0 !important; }
.d2-sp main > .row > .container > .row { margin-top: clamp(16px, 2.5vw, 28px) !important; }
.d2-sp main > .row > .container > .row > .container::before,
.d2-sp main > .row > .container > .row > .container::after { display: none; }
.d2-sp main .row > .container > [class*="col-md-4"] { width: auto; max-width: none; float: none; padding: 0; margin: 0; min-width: 0; display: flex; }
.d2-sp main .row > .container > [class*="col-md-4"]:empty { display: none; }
.d2-sp .service { width: 100%; background: #fff !important; border: 1px solid var(--jv-line); border-radius: var(--jv-radius); box-shadow: var(--jv-shadow); padding: 0 0 22px !important; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.d2-sp .service:hover { box-shadow: var(--jv-shadow-lg); transform: translateY(-2px); }
.d2-sp .service img { width: 100% !important; height: 220px !important; object-fit: cover; display: block; margin: 0; }
.d2-sp .service a { text-decoration: none; }
.d2-sp .service h3 { font-family: var(--jv-font-head); font-size: 1.15rem !important; line-height: 1.35; font-weight: 600; margin: 18px 20px 8px !important; color: var(--jv-navy) !important; }
.d2-sp .service p { text-align: left !important; margin: 0 20px !important; font-size: .98rem !important; line-height: 1.65; color: var(--jv-muted); }
@media (max-width: 991.98px) { .d2-sp main > .row > .container > .row > .container { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .d2-sp main > .row > .container > .row > .container { grid-template-columns: 1fr; } }

/* Integration fix: bare .row directly under <main> hung 15px past the viewport on desktop. */
.d2-sp main > .row { margin-left: 0; margin-right: 0; }
