.data-source {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 16px 0 18px;
  padding: 13px 18px;
  background: #fff;
  border: 1px solid #dfeaf2;
  border-radius: 17px;
  box-shadow: var(--shadow);
}

.data-source-footer { margin-top: 18px; }

.visitor-counter {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 11px;
}

.visitor-counter .visitor-icon {
  color: #22a8df;
  font-size: 8px;
}

.visitor-counter strong {
  color: var(--navy);
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}

.visitor-counter small { font-size: 10px; }

.source-logo {
  display: flex;
  align-items: center;
  padding-right: 18px;
  border-right: 1px solid #e3edf4;
}

.source-logo img {
  display: block;
  width: 120px;
  height: 50px;
  object-fit: contain;
}

.source-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.source-copy span {
  color: var(--blue);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.source-copy strong {
  color: var(--navy);
  font-size: 13px;
}

.source-copy small {
  color: var(--muted);
  font-size: 10px;
}

.source-link {
  margin-left: auto;
  padding: 9px 13px;
  border-radius: 10px;
  background: #edf7fd;
  color: #0870b9;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.source-link:hover { background: #dff1fc; }

.developer {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0 0 18px;
  padding: 13px 18px;
  background: linear-gradient(135deg, #ffffff 0%, #f6fbff 100%);
  border: 1px solid #dfeaf2;
  border-radius: 17px;
  box-shadow: var(--shadow);
}

.developer-logo {
  display: flex;
  align-items: center;
  padding-right: 18px;
  border-right: 1px solid #e3edf4;
}

.developer-logo img {
  display: block;
  width: 76px;
  height: 76px;
  object-fit: contain;
}

.developer-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.developer-copy span {
  color: var(--blue);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.developer-copy strong,
.developer-copy b {
  color: var(--navy);
  font-size: 13px;
}

.developer-copy small {
  color: var(--muted);
  font-size: 11px;
}

.developer-link {
  margin-left: auto;
  padding: 9px 13px;
  border-radius: 10px;
  background: #edf7fd;
  color: #0870b9;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.developer-link:hover { background: #dff1fc; }

@media (max-width: 900px) {
  .data-source { gap: 13px; }
  .source-logo { padding-right: 13px; }
  .source-link { display: none; }
  .developer { gap: 13px; }
  .developer-logo { padding-right: 13px; }
  .developer-link { display: none; }
}

@media (max-width: 520px) {
  .data-source { align-items: flex-start; padding: 12px; }
  .source-logo { padding-right: 0; border-right: 0; }
  .source-logo img { width: 88px; height: 40px; }
  .source-copy strong { font-size: 11px; }
  .source-copy small { font-size: 9px; }
  .developer { align-items: flex-start; padding: 12px; }
  .developer-logo { padding-right: 0; border-right: 0; }
  .developer-logo img { width: 58px; height: 58px; }
  .developer-copy strong, .developer-copy b { font-size: 11px; }
  .developer-copy small { font-size: 9px; }
}
