/* Independent widget stylesheet: deployable without rebuilding the landing assets. */
.yandex-reviews.yandex-reviews--cards {
    display: block;
    padding: 36px;
    border-radius: 24px;
    background: var(--color-bg, #fff);
    color: var(--color-text, #0f172b);
}
.yandex-reviews__header { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.yandex-reviews--cards .yandex-reviews__copy { max-width: 620px; }
.yandex-reviews__summary { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; flex-shrink: 0; }
.yandex-reviews__source { display: flex; align-items: center; gap: 8px; color: var(--color-text, #0f172b); font-size: 16px; font-weight: 600; text-decoration: none; }
.yandex-reviews__ya, .yandex-review__mark { color: #f43f35; font-weight: 700; font-size: 22px; }
.yandex-reviews__score { display: flex; align-items: center; gap: 12px; }
.yandex-reviews__score strong { font-size: 36px; line-height: 1.2; }
.yandex-reviews__stars, .yandex-review__stars { display: inline-block; color: #f2b343; line-height: 1; }
.yandex-reviews__stars { width: 110px; }
.yandex-reviews__stars svg, .yandex-review__stars svg { width: 100%; height: auto; }
.yandex-reviews__count { color: var(--color-muted, #45556c); font-size: 14px; }
.yandex-reviews--cards .yandex-reviews__widget { width: 150px; height: 50px; }
.yandex-reviews--cards .yandex-reviews__widget iframe { width: 150px; height: 50px; border: 0; transform: none; }
.yandex-reviews__cards { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--review-columns, 3) - 1) * 20px) / var(--review-columns, 3)); gap: 20px; margin-top: 28px; align-items: stretch; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.yandex-reviews__cards::-webkit-scrollbar { display: none; }
.yandex-reviews__cards:focus-visible { outline: 2px solid var(--color-brand-primary, #1d4ed8); outline-offset: 4px; }
.yandex-review { display: flex; flex-direction: column; min-width: 0; padding: 24px; border: 1px solid var(--color-line, #e2e8f0); border-radius: 18px; background: #f8fafc; scroll-snap-align: start; }
.yandex-review__header { display: flex; align-items: center; gap: 12px; }
.yandex-review__avatar { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; color: var(--color-brand-primary, #1d4ed8); background: #e8efff; font-size: 18px; font-weight: 600; object-fit: cover; }
.yandex-review:nth-child(even) .yandex-review__avatar { background: #e6f3ea; color: #25804a; }
.yandex-review__author { min-width: 0; flex: 1; }
.yandex-review__author h4 { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.yandex-review__author time, .yandex-review__author > span { display: block; margin-bottom: 3px; color: var(--color-muted, #45556c); font-size: 12px; line-height: 1.5; }
.yandex-review__stars { flex-shrink: 0; margin-left: auto; width: 80px; }
.yandex-review__quote { margin: 16px 0 0; color: #344256; font-size: 15px; line-height: 1.75; white-space: pre-line; overflow-wrap: anywhere; }
.yandex-review__expand > summary { margin-top: 12px; color: var(--color-brand-primary, #1d4ed8); font-size: 13px; cursor: pointer; list-style: none; }
.yandex-review__expand > summary::-webkit-details-marker { display: none; }
.yandex-review__expand > summary span:nth-child(2), .yandex-review__quote--full { display: none; }
.yandex-review__expand[open] > summary span:first-child, .yandex-review:has(.yandex-review__expand[open]) > .yandex-review__quote--preview { display: none; }
.yandex-review__expand[open] > summary span:nth-child(2), .yandex-review__expand[open] .yandex-review__quote--full { display: block; }
.yandex-review__link { align-self: flex-start; margin-top: auto; padding-top: 20px; color: var(--color-muted, #45556c); font-size: 12px; text-decoration: none; }
.yandex-review__link .yandex-review__mark { font-size: 14px; margin-right: 4px; }
.yandex-reviews__navigation { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 20px; }
.yandex-reviews__navigation[hidden] { display: none; }
.yandex-reviews__arrow { display: grid; place-items: center; box-sizing: border-box; width: 32px; height: 32px; padding: 0; border: 1px solid var(--color-line, #e2e8f0); border-radius: 50%; color: var(--color-text, #0f172b); background: #fff; line-height: 1; cursor: pointer; }
.yandex-reviews__arrow svg { display: block; width: 16px; height: 16px; }
.yandex-reviews__arrow:disabled { opacity: .35; cursor: default; }
.yandex-reviews__dots { display: flex; gap: 8px; }
.yandex-reviews__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #cbd5e1; cursor: pointer; }
.yandex-reviews__dots button[aria-current="true"] { background: var(--color-brand-primary, #1d4ed8); }
.yandex-reviews__navigation button:focus-visible { outline: 2px solid var(--color-brand-primary, #1d4ed8); outline-offset: 4px; }
@media (min-width: 761px) and (max-width: 1000px) { .yandex-reviews__cards { grid-auto-columns: calc((100% - 20px) / 2); } .yandex-review__header { flex-wrap: wrap; } }
.yandex-reviews__footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--color-line, #e2e8f0); }
.yandex-reviews__footer p { margin: 0; max-width: 420px; color: var(--color-muted, #45556c); font-size: 14px; line-height: 1.6; }
.yandex-reviews__actions { display: flex; align-items: center; gap: 24px; flex-shrink: 0; }
.yandex-reviews__all { color: var(--color-brand-primary, #1d4ed8); font-size: 14px; font-weight: 500; text-decoration: none; }
.yandex-reviews__write { display: inline-flex; align-items: center; justify-content: center; gap: 16px; padding: 14px 20px; border-radius: 10px; background: var(--color-brand-primary, #1d4ed8); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .2s; }
.yandex-reviews__write:hover { background: var(--color-brand-dark, #193cb8); }
.yandex-reviews--cards a:focus-visible, .yandex-review__expand > summary:focus-visible { outline: 2px solid var(--color-brand-primary, #1d4ed8); outline-offset: 4px; border-radius: 4px; }
@media (max-width: 760px) {
    .yandex-reviews.yandex-reviews--cards { padding: 24px; border-radius: 18px; }
    .yandex-reviews__header, .yandex-reviews__footer { flex-direction: column; align-items: flex-start; gap: 20px; }
    .yandex-reviews__summary { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; }
    .yandex-reviews__cards { grid-auto-columns: 100%; margin-top: 24px; gap: 16px; }
    .yandex-review { padding: 20px; }
    .yandex-reviews__actions { flex-wrap: wrap; gap: 20px; }
}
@media (max-width: 380px) {
    .yandex-reviews.yandex-reviews--cards { padding: 20px 16px; }
    .yandex-reviews__actions { width: 100%; }
    .yandex-reviews__write { width: 100%; }
    .yandex-review__header { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .yandex-reviews__write { transition: none; } }
