.care-finder-section{padding-top:42px!important}
.care-finder-titlebar{margin-bottom:24px}
.care-finder-titlebar h1{margin:0;font-size:clamp(2.2rem,4vw,3.3rem);color:var(--ink,#2F3A34)!important}
.care-finder-layout{display:grid;grid-template-columns:minmax(560px,1fr) minmax(420px,1.05fr);gap:28px;align-items:start}
.care-map-card,.care-results-panel{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 34px rgba(47,58,52,.07)}
.care-map-card{padding:24px;position:sticky;top:164px}
.care-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}
.care-map-head h2,.care-results-head h2{margin:0;font-size:1.45rem}
.care-map-head p,.care-results-head p{margin:.45rem 0 0;color:var(--muted);font-size:.94rem}
.care-control-grid{display:grid;grid-template-columns:minmax(270px,.95fr) minmax(220px,.72fr);gap:24px;align-items:start}
.care-body-column{min-width:0}
.body-map-wrap{position:relative;max-width:300px;margin:0 auto;padding:0 0 8px}
.body-map-visual{display:block;width:100%;height:auto}
.body-map-visual .body-fill{fill:#EDF1EC;stroke:#718270;stroke-width:2.2}
.body-map-visual .body-line{fill:none;stroke:#9BA89B;stroke-width:2;stroke-linecap:round}
.care-hotspot{position:absolute;z-index:2;width:36px;height:36px;border:3px solid #fff;border-radius:50%;background:#6B7F6A;color:#fff;box-shadow:0 5px 16px rgba(47,58,52,.22);cursor:pointer;font-size:0;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.care-hotspot::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#D6A879}
.care-hotspot::after{content:attr(data-label);position:absolute;left:44px;top:50%;transform:translateY(-50%);font-size:.78rem;line-height:1.1;font-weight:800;color:#556755;background:#fff;border:1px solid #DED7CE;border-radius:999px;padding:7px 10px;white-space:nowrap;box-shadow:0 5px 14px rgba(47,58,52,.07);pointer-events:none}
.care-hotspot:hover,.care-hotspot:focus-visible,.care-hotspot[aria-pressed="true"]{background:#556755;transform:scale(1.08);box-shadow:0 6px 20px rgba(47,58,52,.28)}
.care-hotspot:focus-visible{outline:3px solid #C58E5F;outline-offset:3px}
.care-hotspot--head{left:43%;top:7%}
.care-hotspot--shoulder{left:18%;top:23%}
.care-hotspot--back{left:55%;top:34%}
.care-hotspot--hip{left:24%;top:46%}
.care-hotspot--pelvis{left:48%;top:51%}
.care-hotspot--knee{left:42%;top:67%}
.care-hotspot--foot{left:43%;top:82%}
.care-map-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.care-region-chip,.care-specialty-chip{border:1px solid #DED7CE;background:#FAF7F2;color:#556755;border-radius:12px;padding:9px 11px;font:inherit;font-size:.84rem;font-weight:750;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;text-align:left}
.care-region-chip:hover,.care-region-chip[aria-pressed="true"],.care-specialty-chip:hover,.care-specialty-chip[aria-pressed="true"]{background:#6B7F6A;border-color:#6B7F6A;color:#fff}
.care-specialty-block{margin:0;padding:2px 0 0 22px;border-left:1px solid var(--line)}
.care-specialty-block h3{margin:0 0 6px;font-size:1.05rem;color:var(--ink,#2F3A34)!important}
.care-specialty-block p{margin:0 0 13px;color:var(--muted);font-size:.86rem;line-height:1.5}
.care-specialty-list{display:grid;gap:8px}
.care-specialty-chip{width:100%}
.care-finder-note{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.81rem;line-height:1.55}

.care-results-panel{display:flex;flex-direction:column;min-height:620px;padding:26px;scroll-margin-top:128px}
.care-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:2px}
.care-results-head .eyebrow{margin-bottom:8px}
.care-results-count{font-size:.84rem;font-weight:800;color:#556755;background:#EDF1EC;border-radius:999px;padding:7px 10px;white-space:nowrap}
.care-result-group{padding:12px 0 0;border:0}
.care-result-group h3{display:none}
.care-result-links{display:grid;grid-template-columns:1fr;gap:9px}
.care-result-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #DED7CE;border-radius:12px;padding:12px 14px;background:#fff;text-decoration:none;color:#445049;font-weight:720;line-height:1.3;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.care-result-link::after{content:"→";color:#C58E5F;font-weight:900;flex:0 0 auto}
.care-result-link:hover{transform:translateY(-2px);border-color:#C9B9A8;background:#FCFBF8;box-shadow:0 8px 20px rgba(47,58,52,.07)}
.care-result-link[hidden],.care-result-group[hidden]{display:none!important}
.care-no-results{padding:28px 0;color:var(--muted);display:none}
.care-no-results.is-visible{display:block}
.care-browse-all{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin-top:auto;padding:15px 16px;border:1px solid #D9E5DE;border-radius:14px;background:linear-gradient(110deg,#F0F7F3 0%,#F7FAF8 100%);color:#365847;font:inherit;text-align:left;appearance:none;cursor:pointer;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.care-browse-all:hover{transform:translateY(-2px);border-color:#C5D9CE;box-shadow:0 9px 22px rgba(47,102,80,.08)}
.care-browse-all:focus-visible{outline:3px solid rgba(197,142,95,.35);outline-offset:3px}
.care-browse-all-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #C8DCCF;border-radius:10px;background:#fff;color:#2F6650;font-size:.92rem;font-weight:900}
.care-browse-all-copy{display:block;min-width:0}
.care-browse-all-copy strong{display:block;color:#214C3B;font-size:.92rem;line-height:1.25}
.care-browse-all-copy small{display:block;margin-top:3px;color:#63736B;font-size:.76rem;line-height:1.35}
.care-browse-all-arrow{color:#B79245;font-size:1.08rem;font-weight:900}

@media(max-width:1180px){
  .care-finder-layout{grid-template-columns:1fr}
  .care-map-card{position:relative;top:auto}
  .care-control-grid{grid-template-columns:minmax(280px,.9fr) minmax(260px,.8fr)}
  .care-results-panel{min-height:0}
  .care-browse-all{margin-top:20px}
}
@media(max-width:760px){
  .care-control-grid{grid-template-columns:1fr}
  .care-specialty-block{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}
  .care-specialty-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .body-map-wrap{max-width:285px}
}
@media(max-width:620px){
  .care-finder-section{padding-top:30px!important}
  .care-finder-titlebar{margin-bottom:18px}
  .care-map-card,.care-results-panel{border-radius:18px;padding:18px}
  .care-map-head,.care-results-head{display:block}
  .care-results-count{display:inline-block;margin-top:10px}
  .care-specialty-list{grid-template-columns:1fr}
  .care-hotspot{width:34px;height:34px}
  .care-hotspot::after{display:block;left:38px;font-size:.68rem;line-height:1.05;font-weight:800;padding:5px 7px;box-shadow:0 4px 12px rgba(47,58,52,.08)}
  .care-map-legend{grid-template-columns:1fr 1fr}
  .care-region-chip,.care-specialty-chip{text-align:center}
  .care-result-link{padding:12px 13px;font-size:.9rem}
  .care-browse-all{grid-template-columns:auto minmax(0,1fr) auto;padding:14px}
}
@media(max-width:430px){
  .body-map-wrap{max-width:270px}
  .care-hotspot{width:32px;height:32px}
  .care-hotspot::before{inset:6px}
  .care-hotspot::after{left:35px;font-size:.64rem;padding:4px 6px}
  .care-map-legend{grid-template-columns:1fr}
  .care-browse-all-icon{width:32px;height:32px}
}
@media(prefers-reduced-motion:reduce){.care-hotspot,.care-result-link,.care-browse-all{transition:none}}

/* The visible hotspot label is part of the same real button as the dot.
   Tapping either the dot or the text triggers the identical Care Finder filter. */
.care-finder-section .care-hotspot{
  width:max-content!important;
  height:auto!important;
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#556755!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:inherit!important;
  line-height:1!important;
  appearance:none!important;
  transform:none!important;
  overflow:visible!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
}
.care-finder-section .care-hotspot::before,
.care-finder-section .care-hotspot::after{display:none!important;content:none!important}
.care-finder-section .care-hotspot-dot{
  position:relative!important;
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  display:block!important;
  border:3px solid #fff!important;
  border-radius:50%!important;
  background:#6B7F6A!important;
  box-shadow:0 5px 16px rgba(47,58,52,.22)!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.care-finder-section .care-hotspot-dot::before{
  content:""!important;
  position:absolute!important;
  inset:7px!important;
  border-radius:50%!important;
  background:#D6A879!important;
}
.care-finder-section .care-hotspot-label{
  display:block!important;
  padding:7px 10px!important;
  border:1px solid #DED7CE!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#556755!important;
  box-shadow:0 5px 14px rgba(47,58,52,.07)!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.care-finder-section .care-hotspot:hover,
.care-finder-section .care-hotspot:focus-visible,
.care-finder-section .care-hotspot[aria-pressed="true"]{
  background:transparent!important;
  transform:none!important;
  box-shadow:none!important;
}
.care-finder-section .care-hotspot:hover .care-hotspot-dot,
.care-finder-section .care-hotspot:focus-visible .care-hotspot-dot,
.care-finder-section .care-hotspot[aria-pressed="true"] .care-hotspot-dot{
  background:#556755!important;
  transform:scale(1.08)!important;
  box-shadow:0 6px 20px rgba(47,58,52,.28)!important;
}
.care-finder-section .care-hotspot:hover .care-hotspot-label,
.care-finder-section .care-hotspot:focus-visible .care-hotspot-label,
.care-finder-section .care-hotspot[aria-pressed="true"] .care-hotspot-label{
  background:#556755!important;
  border-color:#556755!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(47,58,52,.14)!important;
}
.care-finder-section .care-hotspot:focus-visible{outline:none!important}
.care-finder-section .care-hotspot:focus-visible .care-hotspot-dot{outline:3px solid #C58E5F!important;outline-offset:3px!important}

/* Hide the retired separate "Choose a body area" control if an older cached
   helper script happens to inject it. */
.care-finder-section .care-body-area-options{display:none!important}

@media(max-width:620px){
  .care-finder-section .care-hotspot{gap:4px!important}
  .care-finder-section .care-hotspot-dot{width:34px!important;height:34px!important;flex-basis:34px!important}
  .care-finder-section .care-hotspot-label{padding:5px 7px!important;font-size:.68rem!important;line-height:1.05!important;box-shadow:0 4px 12px rgba(47,58,52,.08)!important}

  /* Keep every result name truly centered on phones. The thumbnail and arrow
     get equal-width side columns, so one-line and wrapped names align alike. */
  .care-finder-section .care-result-link[data-care-slug]{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    text-align:center!important;
  }
  .care-finder-section .care-result-link[data-care-slug] .condition-result-thumb{
    grid-column:1!important;
    justify-self:start!important;
    margin:0!important;
  }
  .care-finder-section .care-result-link[data-care-slug]::after{
    grid-column:3!important;
    justify-self:end!important;
    width:42px!important;
    text-align:right!important;
  }
}
@media(max-width:430px){
  .care-finder-section .care-hotspot{gap:3px!important}
  .care-finder-section .care-hotspot-dot{width:32px!important;height:32px!important;flex-basis:32px!important}
  .care-finder-section .care-hotspot-dot::before{inset:6px!important}
  .care-finder-section .care-hotspot-label{padding:4px 6px!important;font-size:.64rem!important}
}
@media(prefers-reduced-motion:reduce){
  .care-finder-section .care-hotspot-dot,.care-finder-section .care-hotspot-label{transition:none!important}
}