/* ===== LD Rating Widget — single bureau page ===== */

/* Mobile base: compact, single row with wrap */
.ld-rating-widget {
  display: flex;
  flex-wrap: wrap;
  gap: .5em;
  align-items: center;
  padding: .75em 1em;
  border: 1px solid var(--ld-border, #e5eaf2);
  border-radius: var(--ld-radius-sm, 8px);
  background: #fafafa;
  margin: 1em 0;
  font-size: .95em;
}

@media (min-width: 560px) {
  .ld-rating-widget { gap: .75em 1.5em; }
}

/* Score block */
.ld-rw-score {
  display: flex;
  align-items: center;
  gap: .35em;
}
.ld-rw-stars {
  color: #f5a623;
  font-size: 1.1em;
  letter-spacing: -.05em;
  line-height: 1;
}
.ld-rw-avg {
  font-size: 1.3em;
  font-weight: 700;
  color: #222;
}
.ld-rw-count {
  color: #777;
  font-size: .85em;
}

/* Rank badges */
.ld-rw-ranks {
  display: flex;
  gap: .5em;
}
.ld-rw-rank-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: .3em .7em;
  border-radius: 4px;
  background: #1a73e8;
  color: #fff;
  text-decoration: none;
  line-height: 1.2;
  transition: background .15s;
  min-height: 44px; /* touch target */
  justify-content: center;
}
.ld-rw-rank-badge:hover { background: #1558c0; color: #fff; }
.ld-rw-rank-badge--city { background: #34a853; }
.ld-rw-rank-badge--city:hover { background: #267a3d; }
.ld-rw-rank-num  { font-size: 1.1em; font-weight: 700; }
.ld-rw-rank-label { font-size: .75em; opacity: .9; }

/* Per-source badges: hidden on mobile to save space */
.ld-rw-sources {
  display: none;
}

@media (min-width: 560px) {
  .ld-rw-sources {
    display: flex;
    flex-wrap: wrap;
    gap: .4em;
  }
}

.ld-rw-source {
  display: inline-flex;
  align-items: center;
  gap: .25em;
  padding: .2em .55em;
  border-radius: 3px;
  font-size: .82em;
  background: #f0f0f0;
  color: #444;
}
.ld-rw-source--google { background: #e8f0fe; color: #1a73e8; }
.ld-rw-source--yandex { background: #fff3cd; color: #b45309; }
.ld-rw-source--2gis   { background: #e6f4ea; color: #2e7d32; }
.ld-rw-source strong  { font-weight: 700; }
.ld-rw-source small   { opacity: .75; }
