.kontak-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 14px;
}

.kontak-card {
  border-radius: 14px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  text-align: center;
  cursor: pointer;
  border: 1.5px solid transparent;
  transition: transform .15s;
  text-decoration: none;
}

.kontak-icon { font-size: 30px; }
.kontak-name { font-family: var(--font-display); font-size: 13px; font-weight: 700; }
.kontak-num { font-family: var(--font-mono); font-size: 14px; font-weight: 500; }
.kontak-card:hover { transform: scale(1.02); }

.kontak-card.damkar { background: rgba(229,62,62,.12); border-color: rgba(229,62,62,.3); }
.kontak-card.damkar .kontak-icon, .kontak-card.damkar .kontak-name, .kontak-card.damkar .kontak-num { color: #FC8181; }
.kontak-card.sar { background: rgba(214,158,46,.12); border-color: rgba(214,158,46,.3); }
.kontak-card.sar .kontak-icon, .kontak-card.sar .kontak-name, .kontak-card.sar .kontak-num { color: #F6C353; }
.kontak-card.ambulans { background: rgba(66,153,225,.12); border-color: rgba(66,153,225,.3); }
.kontak-card.ambulans .kontak-icon, .kontak-card.ambulans .kontak-name, .kontak-card.ambulans .kontak-num { color: #63B3ED; }
.kontak-card.polisi { background: rgba(74,85,104,.2); border-color: rgba(74,85,104,.4); }
.kontak-card.polisi .kontak-icon, .kontak-card.polisi .kontak-name, .kontak-card.polisi .kontak-num { color: #A0AEC0; }

.kontak-tambahan { display: flex; flex-direction: column; gap: 7px; }

.kontak-list-item {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 11px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: transform .15s;
  text-decoration: none;
}
.kontak-list-item:hover { transform: scale(1.01); }
.kontak-list-name { font-size: 13px; font-weight: 600; color: var(--text); }
.kontak-list-sub { font-size: 11px; color: var(--muted); }
.kontak-list-num { font-family: var(--font-mono); font-size: 12px; color: var(--accent); }
