/* Review snapshots stay compact and keep source details available on demand. */
.listing-rating{display:flex;align-items:center;flex-wrap:wrap;gap:2px 10px;margin:10px 0 12px;font-size:12px;line-height:1.5}
.rating-badge{background:#b0f2df;color:#123d31;border:1px solid #8bdbc4;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700;letter-spacing:.02em}
.rating-score{display:inline-flex;align-items:center;gap:7px;color:#17211d}.rating-stars{position:relative;display:inline-block;white-space:nowrap;color:#d5dfd9;font-size:15px;letter-spacing:1px;line-height:1}.rating-stars>span{position:absolute;left:0;top:0;overflow:hidden;color:#fbbc04;white-space:nowrap}
.rating-reviews{color:#59675e}.rating-provenance{flex-basis:100%;font-size:10px;color:#59675e}.rating-provenance summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;width:fit-content}.rating-provenance>div{padding:8px 10px;background:#f1f7f3;border-radius:6px;margin-top:5px}.rating-provenance>div>span{display:block;margin-top:3px}.rating-provenance a{color:#17604b}.rated-results-heading h2{font-size:23px;margin:0 0 15px;letter-spacing:-.6px}.spotlight-doctor .listing-rating{margin-top:0}.rating-score .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.rating-method{margin:0 0 20px;border:1px solid #a3e7d2;border-radius:18px;background:var(--mint,#b2f6e3);color:#171918;font-family:Saans,Arial,sans-serif;box-shadow:0 5px 18px rgba(23,25,24,.06);overflow:hidden}
.rating-method>summary{display:flex;align-items:center;gap:15px;list-style:none;cursor:pointer;padding:23px 25px;background:transparent;color:#171918;transition:background .18s ease}
.rating-method>summary::-webkit-details-marker{display:none}
.rating-method>summary:hover{background:rgba(23,25,24,.035)}
.rating-method>summary:focus-visible{outline:2px solid #171918;outline-offset:-5px}
.rating-method-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;border:1px solid rgba(23,25,24,.24);background:transparent;color:#171918;font-size:22px}
.rating-method-heading{font-size:24px;font-weight:500;letter-spacing:-.045em;line-height:1.25}
.rating-method-heading>span{display:block;margin-top:7px;font-size:14px;font-weight:400;letter-spacing:0;line-height:1.5;color:#355d4d}
.rating-method-toggle{display:grid;place-items:center;width:34px;height:34px;margin-left:auto;flex-shrink:0;background:#171918;border-radius:10px;color:#b2f6e3;transition:transform .18s ease}
.rating-method-toggle svg{transition:transform .18s ease}.rating-method[open] .rating-method-toggle svg{transform:rotate(180deg)}
.rating-method-body{margin:0 25px;padding:0 0 22px;border-top:1px solid rgba(23,25,24,.14)}
.rating-method-body>p{font-size:15px;font-weight:400;line-height:1.75;margin:16px 0 0;max-width:90ch;color:#294d3e}
.rating-method-body strong{color:#171918;font-weight:500}
.rating-calculation{margin-top:17px}
.rating-calculation>summary{width:fit-content;color:#171918;font-size:13px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.rating-calculation p{font-size:14px;line-height:1.7;max-width:90ch;margin:12px 0 0;color:#355d4d}
@media(max-width:600px){.rating-method>summary{padding:19px 17px;gap:12px}.rating-method-heading{font-size:20px}.rating-method-heading>span{font-size:13px;margin-top:5px}.rating-method-icon{display:none}.rating-method-body{margin:0 17px;padding-bottom:19px}.rating-method-body>p{font-size:14px}.rating-method-toggle{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.rating-method>summary,.rating-method-toggle,.rating-method-toggle svg{transition:none}}

/* Expanding a doctor rating must not stretch neighbouring cards. */
.doctor-grid>.doctor-card{align-self:start}

/* Source details use their own row, so they cannot cover a doctor's name. */
.rating-source-row{display:flex;align-items:center;gap:12px;min-height:28px;min-width:0;container-type:inline-size}
.rating-source-trigger{min-width:102.75px;appearance:none;display:inline-flex;align-items:center;gap:7px;flex-shrink:0;min-height:28px;background:none;border:0;padding:0 11px 0 8px;margin-inline:-8px;touch-action:manipulation;color:#355d4d;font:500 10.5px/1.4 Saans,Arial,sans-serif;cursor:pointer;text-align:left}
.rating-source-trigger>span{text-decoration:underline;text-decoration-color:#99b4a6;text-underline-offset:4px}
.rating-source-trigger:after{content:"";width:4.5px;height:4.5px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin-right:3px;transition:transform .16s ease}
.rating-source-trigger[aria-expanded=true]:after{transform:rotate(225deg)}
.rating-source-trigger:hover{color:#171918}.rating-source-trigger:hover>span{text-decoration-color:currentColor}
.rating-source-trigger:focus-visible,.rating-source-panel a:focus-visible{outline:2px solid #355d4d;outline-offset:3px;border-radius:3px}
.rating-provenance>.rating-source-panel{min-width:0;margin:0;padding:3px 0 3px 12px;background:none;border-radius:0;border-left:1px solid #ccdcd2;color:#526558;font:11px/1.5 Saans,Arial,sans-serif;overflow-wrap:anywhere}
.rating-source-panel[hidden]{display:none}
.rating-provenance>.rating-source-panel>span{display:block;margin-top:2px;font-size:10px}
.rating-source-panel a{display:inline-flex;align-items:center;min-height:24px;color:#17604b;font-size:11px;text-decoration:underline;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){.rating-source-trigger:after{transition:none}}

.rating-badge.rating-badge-featured{background:var(--ink,#171918);color:#fff;border-color:var(--ink,#171918)}

/* Fit source details inside the original homepage rating slot. */
.spotlight-rating{min-height:56px}
.spotlight-rating .listing-rating{margin:0;gap:2px 10px}
.rating-source-row>.rating-source-panel{padding-block:0;font-size:10px;line-height:13px;transform:translate(4px,6px)}
.rating-source-panel a{min-height:16px;font-size:9.5px;line-height:13px}
.rating-source-row>.rating-source-panel>.rating-recorded{margin-top:0;font-size:8.5px;line-height:12px}

/* Branch summaries keep the same compact source treatment without a long paragraph. */
.rating-source-row.rating-branches{min-height:40px}
.rating-branches>.rating-source-trigger{width:110px;min-height:40px}
.rating-branches>.rating-source-trigger>span{flex:1;min-width:0;white-space:nowrap}
.rating-branches>.rating-source-panel>.rating-branch-count{margin:0;font-size:9.5px;line-height:13px}
.rating-branches>.rating-source-panel>.rating-branch-note{margin:0;font-size:8.5px;line-height:13px}
/* Profile pages: the rating sits under the name, a little larger than on cards. */
.profile-heading .listing-rating{margin:8px 0 10px;font-size:14px}
.profile-heading .rating-provenance{font-size:12px}
/* Hospital and lab pages have a dark header: light text for the rating there. */
.page-facility .profile-heading .rating-score strong{color:#fff}
.page-facility .profile-heading .rating-reviews,.page-facility .profile-heading .rating-provenance,.page-facility .profile-heading .rating-provenance summary{color:#c9dcd1}
.page-facility .profile-heading .rating-stars{color:rgba(255,255,255,.25)}
.page-facility .profile-heading .rating-provenance>div{background:#232a26}
.page-facility .profile-heading .rating-provenance a{color:#b2f6e3}
.page-facility .profile-heading .rating-provenance summary span,.page-facility .profile-heading .rating-recorded{color:#c9dcd1}
.page-facility .profile-heading .rating-source-trigger,.page-facility .profile-heading .rating-source-trigger span{color:#c9dcd1}
.page-facility .profile-heading .rating-source-trigger:hover,.page-facility .profile-heading .rating-source-trigger:hover span{color:#fff}
/* Profile pages: the open rating popup at 85% of its size. */
.profile-heading .rating-source-row>.rating-source-panel{zoom:.85}
