/* Treatment discovery, shared by static and runtime price cards. */
.pricing-group-region { min-width: 0; max-width: 100%; margin-block: 12px 16px; }
.pricing-group-nav { display: flex; flex-flow: row nowrap; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; padding: 2px 2px 10px; scrollbar-width: thin; }
.pricing-group-option { display: flex; flex: 0 0 188px; flex-direction: column; justify-content: center; gap: 5px; min-width: 0; min-height: 98px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--navy); background: var(--paper); text-decoration: none; overflow-wrap: anywhere; }
.pricing-group-option[data-pricing-group='all'] { flex-basis: 112px; }
.pricing-group-option[aria-current='page'] { border-color: var(--pink); background: var(--soft); box-shadow: inset 0 0 0 1px var(--pink); }
.pricing-group-name { color: var(--navy); font-size: 14px; line-height: 1.45; font-weight: 650; }
.pricing-group-minimum { font-size: 11px; line-height: 1.5; color: var(--muted); }
.pricing-group-minimum > strong { display: block; color: var(--navy); font-size: 16px; font-weight: 700; }
.pricing-group-count { font-size: 11px; line-height: 1.5; color: var(--muted); }
.pricing-offer-card .pricing-treatment-visual { position: relative; display: block; min-height: 0; width: 100%; aspect-ratio: 2 / 1; margin-bottom: 10px; border-radius: 8px; overflow: hidden; background: var(--soft); }
.pricing-offer-card .pricing-treatment-visual > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.pricing-image-caption { position: absolute; inset-inline-end: 6px; bottom: 5px; padding: 2px 5px; border-radius: 4px; background: var(--paper); color: var(--muted); font-size: 10px; line-height: 1.5; }
.pricing-offer-card .pricing-hospital { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 44px; margin: 0; color: var(--navy); text-decoration: none; font-size: 13px; line-height: 1.45; }
.pricing-offer-card .pricing-hospital > span { min-width: 0; overflow-wrap: anywhere; }
.pricing-offer-card .pricing-hospital .hospital-logo { width: 40px; height: 40px; flex: 0 0 40px; padding: 3px; object-fit: contain; border-radius: 8px; }
.pricing-hospital-region { margin-block: 2px 6px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.pricing-offer-card .pricing-treatment-title { min-height: 0; margin-block: 4px 8px; font-size: 18px; line-height: 1.5; }
.pricing-offer-card .pricing-treatment-title > a { color: var(--navy); text-decoration: none; }
.pricing-offer-card .pricing-treatment-title > a:hover { text-decoration: underline; }
.pricing-surgery-flags { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 0 8px; }
.pricing-surgery-flags > span { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; border-radius: 5px; color: var(--navy); background: var(--soft); font-size: 12px; line-height: 1.5; }
.pricing-offer-card .pricing-option-scope { display: block; margin-block: 0 8px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.pricing-offer-card .pricing-card-details { margin-top: 12px; }
.pricing-offer-card .pricing-card-details > summary { min-height: 44px; }
.pricing-offer-details { padding-top: 8px; font-size: 13px; line-height: 1.7; }
.pricing-offer-details .pricing-source-title, .pricing-offer-details .pricing-source-full-title { margin-block: 0 8px; font-size: 13px; color: var(--muted); }
.pricing-offer-details .reference-option-list, .pricing-offer-details .reference-inclusions { margin-block: 12px; }
.pricing-offer-details .reference-option-list > div, .pricing-offer-details .reference-inclusions > div { gap: 8px; font-size: 13px; }
.pricing-offer-details .pricing-source-date { margin-block: 6px; font-size: 12px; }
.pricing-all-services { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; color: var(--navy); font-weight: 600; }
.pricing-group-option:focus-visible, .pricing-offer-card a:focus-visible { outline: 3px solid var(--pink); outline-offset: 3px; }
@media (min-width: 1101px) {
  .pricing-group-option { flex-basis: 204px; }
}
