/* Стили для страницы карты ЖК (map.html) */
.map-page{
  padding-top: 16px;
  padding-bottom: 24px;
}

.map-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}
.map-toolbar__status{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:240px;
  flex:1 1 280px;
  color:var(--muted);
  font-weight:700;
  font-size:13px;
}
.map-toolbar__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.map-progress{
  height:6px;
  width:100%;
  max-width:420px;
  background:var(--panel);
  border:1px solid var(--stroke);
  border-radius:999px;
  overflow:hidden;
}
.map-progress__bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, var(--primary), var(--primary2));
  transition:width .25s ease;
}

.map{
  height:calc(100vh - 220px);
  min-height:480px;
  width:100%;
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  box-shadow:var(--shadow);
  overflow:hidden;
  background:var(--panel);
}

/* Кастомные «пины» по цвету рейтинга */
.jk-pin-wrap{ background:transparent; border:0; }
.jk-pin{
  width:20px;
  height:20px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 3px 8px rgba(0,0,0,.4);
  background:var(--muted2);
}
.jk-pin--good{ background:var(--good); }
.jk-pin--warn{ background:var(--warn); }
.jk-pin--bad{ background:var(--bad); }
.jk-pin--none{ background:#8aa0c6; }

/* Попап ЖК */
.leaflet-popup-content{ margin:12px 14px; }
.jk-popup{ font-family:Manrope, system-ui, sans-serif; min-width:200px; max-width:260px; }
.jk-popup__name{ font-size:15px; font-weight:800; margin:0 0 4px; color:#0b1020; }
.jk-popup__addr{ font-size:12px; color:#3a4666; margin:0 0 8px; line-height:1.35; }
.jk-popup__tags{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.jk-popup__tag{
  font-size:11px; font-weight:700; color:#1b2747;
  background:#eef1fb; border:1px solid #dfe4f5;
  border-radius:999px; padding:3px 8px;
}
.jk-popup__btn{
  display:inline-block; width:100%; text-align:center; box-sizing:border-box;
  background:linear-gradient(90deg,#1f9a9a,#35c4c4); color:#fff !important;
  text-decoration:none; font-weight:800; font-size:13px;
  padding:9px 12px; border-radius:12px;
}
.jk-popup__btn:hover{ filter:brightness(1.05); }
.jk-popup__drag{ font-size:11px; color:#6b7392; margin:8px 0 4px; }
.jk-popup__coords{
  background:#f1f5ff; border:1px solid #d6e0ff; border-radius:10px;
  padding:8px 10px; margin:6px 0 8px; display:flex; flex-wrap:wrap;
  align-items:center; gap:6px;
}
.jk-popup__coords-label{ font-size:11px; font-weight:700; color:#3a4666; width:100%; }
.jk-popup__coords-val{
  font-family:ui-monospace, Menlo, Consolas, monospace; font-size:12px;
  color:#0b1020; background:#fff; border:1px solid #d6e0ff;
  border-radius:6px; padding:2px 6px; user-select:all;
}
.jk-popup__copy{
  font-size:11px; font-weight:700; color:#fff; background:#2f6bff;
  border:none; border-radius:6px; padding:4px 10px; cursor:pointer;
}
.jk-popup__copy:hover{ filter:brightness(1.05); }
.jk-popup__hint{ font-size:10.5px; color:#6b7392; width:100%; line-height:1.35; }

/* ====== Статус синхронизации с таблицей ====== */
.jk-popup__sync{ font-size:11px; font-weight:700; width:100%; }
.jk-popup__sync--ok{ color:#0a8a3f; }
.jk-popup__sync--err{ color:#c0392b; }

/* ====== Обёртка карты + полноэкран ====== */
.map-wrap{ position:relative; }
.map-wrap.is-fullscreen,
.map-wrap:fullscreen{ width:100vw; height:100vh; }
.map-wrap.is-fullscreen .map,
.map-wrap:fullscreen .map{ height:100vh; min-height:100vh; border-radius:0; }
.map-wrap:-webkit-full-screen .map{ height:100vh; min-height:100vh; border-radius:0; }

/* ====== Поиск на карте ====== */
.map-search{
  position:absolute; top:12px; left:12px; z-index:1200;
  width:min(340px, calc(100% - 84px));
}
.map-search__input{
  width:100%; box-sizing:border-box; padding:10px 12px;
  border-radius:12px; border:1px solid #d6e0ff; background:#fff;
  font:inherit; font-size:14px; color:#0b1020;
  box-shadow:0 4px 14px rgba(20,30,80,.14); outline:none;
}
.map-search__input:focus{ border-color:#2f6bff; box-shadow:0 4px 16px rgba(47,107,255,.28); }
.map-search__results{
  margin-top:6px; background:#fff; border:1px solid #e2e8ff;
  border-radius:12px; box-shadow:0 10px 28px rgba(20,30,80,.18);
  overflow:hidden; max-height:320px; overflow-y:auto;
}
.map-search__item{ padding:8px 12px; cursor:pointer; border-bottom:1px solid #f0f3ff; }
.map-search__item:last-child{ border-bottom:none; }
.map-search__item:hover, .map-search__item.is-active{ background:#f1f5ff; }
.map-search__item-name{ font-size:13px; font-weight:700; color:#0b1020; }
.map-search__item-addr{ font-size:11.5px; color:#6b7392; margin-top:1px; }
.map-search__empty{ padding:10px 12px; font-size:12.5px; color:#6b7392; }

/* ====== Кнопка полного экрана ====== */
.map-fab{
  position:absolute; top:12px; right:12px; z-index:1200;
  width:40px; height:40px; border-radius:12px;
  border:1px solid #d6e0ff; background:#fff; color:#0b1020;
  font-size:18px; line-height:1; cursor:pointer;
  box-shadow:0 4px 14px rgba(20,30,80,.14);
  display:flex; align-items:center; justify-content:center;
}
.map-fab:hover{ background:#f1f5ff; }

@media (max-width: 980px){
  .map{ height:calc(100vh - 260px); min-height:420px; }
  .map-search{ width:calc(100% - 72px); }
}
