/* MEDICUS: lightweight, attributed Google review selection. */
.reviews-section{margin:38px 12px 40px;padding:48px 38px 34px;border-radius:28px;background:#f7f4f8;color:var(--purple);font-family:Onest,Arial,sans-serif;scroll-margin-top:24px}
.reviews-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:27px}
.reviews-heading h2{margin:0;font-size:clamp(28px,2.75vw,42px);font-weight:500;line-height:1.15;letter-spacing:-.9px}
.reviews-google-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 15px;margin-top:17px;font-size:14px}
.reviews-google-summary img{width:76px;height:auto;display:block}
.reviews-rating{display:inline-flex;align-items:center;gap:8px}
.reviews-rating strong{font-size:22px;font-weight:600}
.reviews-stars{display:inline-flex;gap:3px;color:#fbbc04;line-height:1}
.reviews-stars svg{width:18px;height:18px;fill:currentColor}
.reviews-google-summary>a{color:inherit;text-underline-offset:4px}
.reviews-controls{display:flex;flex:none;border-radius:30px;background:#fff;overflow:hidden}
.reviews-controls button{display:grid;place-items:center;width:48px;height:48px;min-width:48px;border:0;background:#fff;color:var(--purple);font:inherit;cursor:pointer;transition:background .2s,color .2s}
.reviews-controls button+button{border-left:1px solid #f5f1f7}
.reviews-controls button:hover:not(:disabled){background:var(--purple);color:#fff}
.reviews-controls button:disabled{opacity:.3;cursor:default}
.reviews-controls svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none}
.reviews-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:stretch;padding-bottom:2px}
.reviews-rail::-webkit-scrollbar{display:none}
.review-card{min-width:0;display:flex;flex-direction:column;position:relative;scroll-snap-align:start;background:#fff;border-radius:24px;padding:25px 24px 23px;min-height:285px}
.review-card:before{content:'”';position:absolute;top:12px;right:20px;color:#f3eff6;font-size:78px;font-weight:500;line-height:1;pointer-events:none}
.review-card>.reviews-stars{position:relative;margin-bottom:23px}
.review-text{position:relative;margin:0 0 25px;font-size:15px;line-height:1.55;letter-spacing:-.1px;overflow-wrap:anywhere}
.review-author{display:flex;gap:11px;align-items:center;margin-top:auto}
.review-avatar{width:43px;height:43px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--purple-soft);color:var(--purple);font-size:16px;font-weight:500;object-fit:cover}
.review-author-name{margin:0;font-size:15px;font-weight:500;line-height:1.3;text-decoration:none;color:inherit;overflow-wrap:anywhere}
.review-date{display:block;font-size:11px;color:#806b89;margin-top:4px}
.review-source{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;margin-top:18px;font-size:12px;color:var(--purple);text-underline-offset:4px}
.reviews-footer{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:22px}
.reviews-all{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:1px solid var(--purple);border-radius:40px;min-height:46px;padding:11px 20px;white-space:nowrap;color:var(--purple);text-decoration:none;font-size:13px;transition:background .2s,color .2s}
.reviews-all:hover{background:var(--purple);color:#fff}
.reviews-section :is(a,button,[tabindex]):focus-visible{outline:2px solid #7f2bad;outline-offset:4px}
.reviews-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:768px) and (max-width:1100px){.reviews-section{padding:34px 25px 28px}.reviews-rail{gap:18px;grid-auto-columns:calc((100% - 18px)/2)}.review-card{padding:23px}}
@media(max-width:767px){.reviews-section{margin:28px 12px;padding:28px 18px 24px;border-radius:24px}.reviews-header{gap:10px;align-items:flex-start;margin-bottom:22px}.reviews-heading h2{font-size:28px;max-width:240px}.reviews-controls{margin-top:2px}.reviews-controls button{width:44px;min-width:44px;height:44px}.reviews-google-summary{gap:9px 10px;font-size:12px}.reviews-google-summary img{width:63px}.reviews-rating strong{font-size:20px}.reviews-rail{grid-auto-columns:94%;gap:14px}.review-card{padding:23px 20px;min-height:286px}.reviews-footer{align-items:flex-start;flex-direction:column;gap:16px}.reviews-all{width:100%;white-space:normal}.review-text{font-size:15px}.reviews-section .reviews-stars svg{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.reviews-section *{transition:none!important;scroll-behavior:auto!important}}
.reviews-score-stars{font-size:21px;letter-spacing:1px;white-space:nowrap;background:linear-gradient(90deg,#fbbc04 var(--review-score),#e5dde7 var(--review-score));background-clip:text;-webkit-background-clip:text;color:transparent}
@media(max-width:767px){.reviews-header{flex-wrap:wrap;gap:15px}.reviews-heading{width:100%;min-width:0}.reviews-heading h2{max-width:none}.reviews-controls{margin-left:auto;margin-top:0}.reviews-google-summary{margin-top:14px}}
