/* Visible rating snapshots; the native Yandex badge remains in the footer. */
.rr-badge-slot { position:relative; flex:none; width:150px; height:50px; }
.rr-map-source>.rr-badge-slot { flex:0 0 150px; }
.rr-badge-fallback { position:absolute; inset:0; display:flex; align-items:center; color:#303b47; font-size:20px; font-weight:600; line-height:1.3; letter-spacing:-.5px; }
.rr-map-source .rr-badge-slot iframe.rr-yandex-badge,
footer.footer .rr-badge-slot iframe.fr-rating-badge { position:absolute; inset:0; margin:0; background:transparent; }
.rr-map-sources {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 28px;
}
.rr-map-source {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  min-width: 0;
  padding: 20px 24px;
  border: 1px solid #e3e3e3;
  border-radius: 18px;
  background: #fff;
}
.rr-map-source iframe.rr-yandex-badge {
  display: block;
  flex: 0 0 150px;
  width: 150px;
  height: 50px;
  border: 0;
  margin: 0;
  max-width: none;
}
.rr-source-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}
.rr-source-caption {
  color: #626d79;
  font-size: 13px;
  line-height: 1.4;
}
.rr-source-link,
.rr-inline-link {
  color: #1c425f;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: #aabeca;
  text-underline-offset: 4px;
}
.rr-source-link:hover,
.rr-inline-link:hover { color: #bd5930; text-decoration-color: currentColor; }
.rr-source-link:focus-visible,
.rr-inline-link:focus-visible,
.rr-footer-google:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.rr-google-name {
  flex: 0 0 150px;
  font-size: 20px;
  line-height: 1.3;
  color: #303b47;
  font-weight: 600;
  letter-spacing: -.5px;
}
.rr-footer-sources {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
}
.rr-footer-sources iframe.fr-rating-badge { width: 150px; height: 50px; border: 0; margin: 0; }
.rr-footer-google {
  color: inherit;
  font-size: 12px;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 1199px) {
  .rr-map-source .rr-badge-slot { flex:0 0 auto; }
  .rr-map-source { flex-direction: column; align-items: flex-start; gap: 12px; }
  .rr-google-name { flex: 0 0 auto; min-height: 50px; display: flex; align-items: center; }
  .rr-map-source iframe.rr-yandex-badge { flex: 0 0 auto; }
}
@media (max-width: 575px) {
  .rr-map-sources { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 22px; }
  .rr-map-source { padding: 18px 20px; }
  .rr-google-name { min-height: 0; }
}

footer.footer .rr-badge-fallback { color:inherit; }

/* Scores remain readable when an external review widget cannot render. */
.rr-map-source {
 flex-direction:column; align-items:flex-start; gap:16px;
 padding:26px 28px; border-color:var(--rr-rating-border);
 background:var(--rr-rating-background);
 box-shadow:0 8px 24px #34465f09;
}
.rr-rating-heading { display:flex; align-items:center; gap:10px; min-width:0; }
.rr-service-icon { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:50%; background:#fff; font:24px/1 Arial,sans-serif; }
.rr-service-icon--yandex { background:#fc3f1d; color:#fff; }
.rr-service-icon svg { display:block; width:25px; height:25px; }
.rr-map-name { color:#303438; font-size:18px; font-weight:600; line-height:1.3; }
.rr-rating-line { display:flex; align-items:center; gap:16px; min-width:0; }
.rr-rating-value { color:#2f3033; font-size:clamp(56px,4.8vw,68px); font-weight:700; letter-spacing:-.045em; line-height:1; font-variant-numeric:tabular-nums; }
.rr-rating-detail { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.rr-rating-stars {
 display:block; width:max-content; font-size:27px; line-height:1.15; letter-spacing:2px;
 color:#ae6718;
}
@supports (background-clip:text) {
 .rr-rating-stars { background:linear-gradient(90deg,#ae6718 var(--rr-star-fill),#d8d4cc var(--rr-star-fill)); background-clip:text; -webkit-background-clip:text; color:transparent; }
}
.rr-map-source .rr-source-caption { color:#575d68; }
.rr-map-source .rr-source-link { display:inline-flex; align-items:center; min-height:44px; padding:9px 14px; border:1px solid var(--rr-rating-border); border-radius:9px; background:#ffffffa8; color:#343e50; text-decoration:none; }
.rr-map-source .rr-source-link:hover { color:#2f3033; background:#fff; border-color:#bfc1c4; }
@media (max-width:575px) {
 .rr-map-source { gap:14px; padding:20px; }
 .rr-rating-value { font-size:54px; }
 .rr-rating-stars { font-size:24px; }
}
@media (min-width:576px) and (max-width:767px) {
 .rr-map-source { padding:20px; }
 .rr-rating-line { gap:12px; }
 .rr-rating-value { font-size:52px; }
 .rr-rating-stars { font-size:22px; }
 .rr-map-source .rr-source-caption { font-size:12px; }
}

/* Neutral rating surfaces keep the scores and service logos in focus. */
.rr-map-source-yandex,
.hr-map-badge--yandex,
.rr-map-source-google,
.hr-map-badge--google {
  --rr-rating-background: #fff;
  --rr-rating-border: #e3e3e3;
}
.hr-map-badges { width:min(430px,calc(100% - 36px)); }
.hr-map-badges .hr-map-badge {
  grid-template-columns:34px minmax(0,1fr) 18px;
  background:var(--rr-rating-background);
  border-color:var(--rr-rating-border);
  min-height:88px;
  gap:9px;
  padding:12px;
  backdrop-filter:none;
  box-shadow:0 5px 18px #15202026;
}
.hr-map-badges .hr-map-copy { gap:3px; }
.hr-map-badges .hr-map-service { color:#414955; }
.hr-map-badges .hr-map-detail { gap:5px; }
.hr-map-badges .hr-map-detail strong { font-size:27px; }
.hr-map-badges .hr-map-scale { color:#59616c; }
.hr-map-badges .hr-map-stars {
  width:max-content;
  font:13px/1.15 Arial,sans-serif;
  letter-spacing:1px;
  color:#ae6718;
}
@supports (background-clip:text) {
  .hr-map-badges .hr-map-stars {
    background:linear-gradient(90deg,#ae6718 var(--rr-star-fill),#d8d4cc var(--rr-star-fill));
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
  }
}
@media (hover:hover) {
  .hr-map-badges .hr-map-badge:hover { background:var(--rr-rating-background); border-color:#bfc1c4; box-shadow:0 7px 22px #15202038; }
}
@media (max-width:575px) {
  .hr-map-badges { width:calc(100% - 20px); }
  .hr-map-badges .hr-map-badge { grid-template-columns:24px minmax(0,1fr); gap:6px; min-height:80px; padding:8px; }
  .hr-map-badges .hr-map-icon { width:24px; height:24px; font-size:20px; }
  .hr-map-badges .hr-map-icon>svg { width:22px; height:22px; }
  .hr-map-badges .hr-map-arrow { display:none; }
  .hr-map-badges .hr-map-detail strong { font-size:24px; }
  .hr-map-badges .hr-map-stars { font-size:12px; letter-spacing:.8px; }
}
