/* samuiroute.ru — interactive map styles */

#map.map-frame{
  background:#e5e7eb;
  position:relative;
  z-index:1;
}

.map-loading{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f3f4f6;
  color:#6b7280;
  font-size:14px;
  border-radius:12px;
  z-index:10;
}

.map-loading.map-err{
  color:#b91c1c;
  background:#fee2e2;
}

/* Fullscreen mode — overlays the viewport */
.map-frame.map-fullscreen{
  position:fixed !important;
  inset:0 !important;
  height:100vh !important;
  width:100vw !important;
  z-index:9999 !important;
  border-radius:0 !important;
  margin:0 !important;
  box-shadow:none !important;
}

body.map-fullscreen-active{
  overflow:hidden;
}

/* Custom toolbar buttons (fullscreen + locate) */
.leaflet-control.fs-btn a{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  background:#fff;
  color:#1a1a1a;
  text-decoration:none;
  line-height:1;
}

.leaflet-control.fs-btn a:hover{
  background:#f3f4f6;
}

/* POI markers (CSS pin) */
.poi-marker{
  background:transparent !important;
  border:none !important;
}

.poi-pin{
  width:32px;
  height:32px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  border:2px solid #fff;
  box-shadow:0 2px 8px rgba(0,0,0,0.4);
  display:flex;
  align-items:center;
  justify-content:center;
}

.poi-pin span{
  transform:rotate(45deg);
  font-size:16px;
  line-height:1;
}

/* POI popup */
.poi-popup{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,sans-serif;
  min-width:220px;
}

.poi-popup .poi-type{
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.5px;
  margin-bottom:4px;
}

.poi-popup h3{
  margin:0 0 6px 0;
  font-size:16px;
  line-height:1.3;
  color:#1a1a1a;
}

.poi-popup p{
  margin:0 0 10px 0;
  font-size:13px;
  line-height:1.5;
  color:#374151;
}

.poi-popup .poi-coords{
  font-size:11px;
  color:#9ca3af;
  font-family:'SF Mono','Menlo',monospace;
  margin-bottom:10px;
}

.poi-popup .poi-actions{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.poi-popup .poi-btn{
  display:block;
  width:100%;
  padding:10px 12px;
  border-radius:7px;
  background:#fff;
  color:#1a1a1a;
  border:1px solid #d1d5db;
  font-size:13px;
  font-weight:500;
  text-decoration:none;
  text-align:center;
  cursor:pointer;
  font-family:inherit;
  transition:all 0.15s;
}

.poi-popup .poi-btn:hover{
  background:#f3f4f6;
  border-color:#9ca3af;
}

.poi-popup .poi-btn-primary{
  background:#2563eb;
  color:#fff;
  border-color:#2563eb;
}

.poi-popup .poi-btn-primary:hover{
  background:#1d4ed8;
  border-color:#1d4ed8;
}

.poi-popup .poi-btn-copy:disabled{
  background:#d1fae5;
  color:#065f46;
  border-color:#a7f3d0;
}

/* Leaflet popup container override — tighter padding */
.leaflet-popup-content-wrapper{
  border-radius:10px;
  padding:2px;
}

.leaflet-popup-content{
  margin:14px 16px;
}

/* Touch-friendly on mobile */
@media (max-width:640px){
  .poi-popup{min-width:200px;}
  .poi-popup .poi-btn{padding:12px 14px;font-size:14px;}
  .leaflet-control.fs-btn a{width:40px;height:40px;font-size:20px;}
}
