.connect{
  margin: 14px 12px 0;
  padding: 16px 18px 18px;
}
.connect .section-label{ margin-bottom: 12px; }

.connect-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 8px;
}
.connect-btn{
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  padding: 14px 8px 12px;
  text-decoration: none;
  color: var(--text);
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.connect-btn:hover, .connect-btn:active{
  background: var(--gold-soft);
  border-color: var(--gold-line);
  transform: translateY(-1px);
}
.connect-icon{
  width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold);
}
.connect-icon svg{ width: 20px; height: 20px; }
.connect-label{
  font-family: var(--f-ui); font-size: 12px; font-weight: 600;
  letter-spacing: 0.02em; text-align: center;
}

/* ===== модалка карты — та же .modal-overlay/.modal база, что у quiz/passport ===== */
.map-modal{ padding-top: 22px; }
.map-modal .modal-close{ position: absolute; top: 16px; right: 16px; }
.map-modal-title{
  font-family: var(--f-ui); font-weight: 700; font-size: 18px; padding-right: 40px;
}
.map-modal-address{
  font-size: 13px; color: var(--text-dim); margin-top: 4px; line-height: 1.4;
}
.map-canvas{
  width: 100%; height: 260px; border-radius: 16px; overflow: hidden;
  margin-top: 16px;
  background: rgba(255,255,255,0.03); /* видно, пока Leaflet ещё грузится */
}
/* Leaflet рисует свой canvas/tiles внутри — переопределяем только popup под тему бренда */
.map-canvas .leaflet-popup-content-wrapper{
  background: var(--bg-elevated); color: var(--text);
  border: 1px solid var(--gold-line); border-radius: 12px;
}
.map-canvas .leaflet-popup-tip{ background: var(--bg-elevated); }
.map-canvas .leaflet-control-attribution{
  background: rgba(10,10,15,0.65); color: var(--text-faint); font-family: var(--f-mono); font-size: 10px;
}
.connect-map-pin span{
  display: block; width: 18px; height: 18px; border-radius: 50%;
  background: var(--gold-gradient);
  box-shadow: 0 0 0 4px rgba(198,169,105,0.25), 0 2px 6px rgba(0,0,0,0.4);
}

.map-route-btn{
  display: block; text-align: center;
  margin-top: 16px; padding: 13px;
  background: var(--gold-gradient-linear);
  color: #17130b; font-family: var(--f-ui); font-weight: 700; font-size: 14px;
  text-decoration: none; border-radius: 14px;
}
