.public-contact-section {
  background: linear-gradient(180deg, #fff, #eff9f5);
  border-top: 1px solid var(--line);
}

.public-contact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.public-contact-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(7, 29, 24, .06);
  transition: transform .2s, border-color .2s, box-shadow .2s;
}

.public-contact-card:hover {
  transform: translateY(-4px);
  border-color: #a6d9c7;
  box-shadow: 0 18px 42px rgba(7, 29, 24, .11);
}

.public-contact-card > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #fff;
  background: linear-gradient(135deg, #15ad7c, #087f5b);
  border-radius: 13px;
  font-size: 10px;
  font-weight: 850;
}

.public-contact-card.telegram > span { background: linear-gradient(135deg, #38bdf8, #168acd); }
.public-contact-card.teams > span { background: linear-gradient(135deg, #7c83e8, #4f46a5); }
.public-contact-card.updates > span { background: linear-gradient(135deg, #28d66f, #13944b); }
.public-contact-card.updates { border-color: #bce6d4; background: linear-gradient(145deg, #fff, #effbf6); }
.public-contact-card div { min-width: 0; }
.public-contact-card small, .public-contact-card strong, .public-contact-card p { display: block; }
.public-contact-card small { color: var(--green-2); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.public-contact-card strong { margin-top: 2px; font-size: 14px; }
.public-contact-card p { overflow: hidden; margin: 2px 0 0; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.public-contact-card > b { color: var(--green-2); font-size: 16px; }

@media (max-width: 940px) { .public-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .public-contact-grid { grid-template-columns: 1fr; } .public-contact-card { padding: 17px; } }
