/* Official Yandex reviews: retain original content and rating inside the frame. */
.reviews-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(300px, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.reviews-intro h2 { margin-top: 0; }
.reviews-intro .lead { max-width: 38ch; }
.reviews-invitation { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.reviews-invitation h3 { margin: 0 0 12px; }
.reviews-invitation p { color: var(--muted); margin: 0 0 22px; }
.reviews-invitation .btn { white-space: normal; text-align: center; }
.reviews-check { margin-top: 32px; font-size: 14px; }
.reviews-check p { color: var(--muted); margin: 0 0 12px; }
.reviews-check a { display: block; width: fit-content; margin-top: 10px; text-underline-offset: 4px; }
.reviews-panel { min-width: 0; width: 100%; max-width: 760px; justify-self: center; }
.reviews-widget { display: block; width: 100%; height: 550px; border: 0; border-radius: 20px; background: #fff; color-scheme: light; }
.reviews-source { display: block; margin-top: 14px; font-size: 13px; color: var(--muted); text-align: center; text-underline-offset: 4px; }
.yandex-reviews a:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
@media (max-width: 820px) { .reviews-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } .reviews-intro .lead { max-width: none; } }
/* Yandex requires at least 300px; leave 10px gutters on 320px phones. */
@media (max-width: 359px) { .yandex-reviews .container { width: calc(100% - 20px); } }
