/* ─── Reset / Base ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  height: 100%;
  width: 100%;
  overflow: hidden;
  font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif !important;
  font-optical-sizing: auto;
  background: #f5f6f8;
}

/* ─── Map container ─────────────────────────────────────────────────── */
#map {
  position: absolute;
  inset: 0;
  z-index: 0;
}

/* ─── Custom map pin ─────────────────────────────────────────────────── */
.ge-pin {
  width: 32px;
  height: 32px;
  background: #6022A6;
  border: 3px solid #fff;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 2px 8px rgba(0,0,0,.30);
  cursor: pointer;
  transition: background 0.15s;
}
.ge-pin:hover { background: #451880; }

/* ─── Cluster overrides ──────────────────────────────────────────────── */
.marker-cluster-small,
.marker-cluster-medium,
.marker-cluster-large {
  background-clip: padding-box;
}
.marker-cluster-small  { background-color: rgba(96, 34, 166, 0.20); }
.marker-cluster-medium { background-color: rgba(96, 34, 166, 0.40); }
.marker-cluster-large  { background-color: rgba(96, 34, 166, 0.60); }

.marker-cluster-small  div,
.marker-cluster-medium div,
.marker-cluster-large  div {
  background-color: #6022A6;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
}

/* ─── Partner popup ──────────────────────────────────────────────────── */

/* Strip all default Leaflet popup chrome */
.partner-popup .leaflet-popup-content-wrapper {
  padding: 0;
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(0,0,0,.18);
  overflow: hidden;
  border: none;
}

.partner-popup .leaflet-popup-content {
  margin: 0;
  width: auto !important;
}

/* The tip/arrow — keep it, recolor to white */
.partner-popup .leaflet-popup-tip {
  background: #fff;
}

/* Close button */
.partner-popup .leaflet-popup-close-button {
  top: 8px;
  right: 10px;
  font-size: 18px;
  color: #888;
  z-index: 1;
}
.partner-popup .leaflet-popup-close-button:hover { color: #111; }

/* Card layout */
.pp-card {
  display: flex;
  flex-direction: column;
  width: 260px;
  background: #fff;
  font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
}

/* Logo / initial area */
.pp-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 20px 16px;
  background: #fafafa;
  border-bottom: 1px solid #ececec;
  min-height: 80px;
}

.pp-logo {
  max-width: 140px;
  max-height: 52px;
  object-fit: contain;
}

.pp-initial {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #f0eaf8;
  color: #6022A6;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  user-select: none;
}

/* Text body */
.pp-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pp-name {
  font-size: 1rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.3;
}

.pp-address {
  font-size: 1rem;
  color: #666;
  line-height: 1.5;
  margin: 0 !important;
}

/* CTA button */
.pp-cta {
  display: inline-block;
  margin-top: 4px;
  padding: 8px 16px;
  background: #6022A6;
  color: #fff !important;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 4px;
  text-align: center;
  transition: background 0.15s;
  align-self: flex-start;
}
.pp-cta:hover { background: #451880; }

/* ─── Leaflet attribution tweak ──────────────────────────────────────── */
.leaflet-control-attribution {
  font-size: 10px !important;
  background: rgba(255,255,255,0.75) !important;
}
