/* Logistics Map – Public v2 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

.lm-public-wrap {
  position: relative;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  font-family: 'Inter', -apple-system, sans-serif;
  background: #0d0f14;
}
.lm-pub-canvas {
  position: relative;
  width: 100%;
  height: 100%;
}
.lm-pub-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #0d0f14;
}
.lm-pub-bg:not([style*="background-image"]) {
  background-image:
    linear-gradient(rgba(255,153,0,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,153,0,.04) 1px,transparent 1px);
  background-size: 38px 38px;
  background-color: #0f1117;
}
.lm-pub-svg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none; overflow: visible;
}
.lm-pub-markers { position: absolute; inset: 0; pointer-events: none; }

/* ── Markers ── */
.lm-pub-marker {
  position: absolute;
  transform: translate(-50%,-50%);
  pointer-events: all;
  cursor: pointer;
  user-select: none;
}
.lm-pub-marker__pin { display:flex; flex-direction:column; align-items:center; }

/* HQ */
.lm-pub-marker--hq .lm-pub-marker__icon {
  width:30px; height:30px;
  background:#ff9900; border-radius:50%;
  border:3px solid #fff;
  box-shadow:0 0 0 3px #ff9900,0 0 22px rgba(255,153,0,.5);
  display:flex; align-items:center; justify-content:center;
  font-size:14px; color:#000; font-weight:700;
  position:relative; z-index:1;
  transition:transform .18s;
}
.lm-pub-marker--hq:hover .lm-pub-marker__icon { transform:scale(1.12); }

/* Branch */
.lm-pub-marker--branch .lm-pub-marker__icon {
  width:18px; height:18px;
  background:#fff; border-radius:50%;
  border:2.5px solid #38bdf8;
  box-shadow:0 0 0 2px rgba(56,189,248,.25),0 0 12px rgba(56,189,248,.4);
  position:relative; z-index:1;
  transition:transform .16s;
}
.lm-pub-marker--branch:hover .lm-pub-marker__icon { transform:scale(1.28); }

/* Pulse */
.lm-pub-pulse {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  border-radius:50%; pointer-events:none;
  animation:lmp 2.7s ease-out infinite;
}
.lm-pub-marker--hq    .lm-pub-pulse { width:36px; height:36px; border:2px solid #ff9900; }
.lm-pub-marker--branch .lm-pub-pulse { width:24px; height:24px; border:1.5px solid #38bdf8; }
.lm-pub-pulse-2 { animation-delay:.9s; opacity:.5; }
@keyframes lmp {
  0%  { transform:translate(-50%,-50%) scale(1);   opacity:.8; }
  100%{ transform:translate(-50%,-50%) scale(2.6); opacity:0; }
}

/* Labels */
.lm-pub-label      { margin-top:7px; text-align:center; pointer-events:none; line-height:1.3; }
.lm-pub-label-main { font-size:12px; font-weight:600; color:#fff; text-shadow:0 1px 5px rgba(0,0,0,.9); white-space:nowrap; }
.lm-pub-label-sub  { font-size:10px; color:rgba(255,255,255,.5); white-space:nowrap; }
.lm-pub-marker--hq .lm-pub-label-main { color:#ff9900; }
.lm-pub-hq-badge {
  display:inline-block; background:#ff9900; color:#000;
  font-size:8px; font-weight:700; letter-spacing:1px;
  padding:2px 7px; border-radius:3px; margin-top:4px;
  text-transform:uppercase;
}

/* ── Tooltip card (rich) ── */
.lm-pub-card {
  position:absolute;
  background:rgba(8,11,18,.97);
  border:1px solid #ff9900;
  border-radius:10px;
  padding:0;
  width:230px;
  pointer-events:none;
  opacity:0;
  transition:opacity .2s, transform .2s;
  transform:translateY(6px);
  z-index:100;
  backdrop-filter:blur(12px);
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.6);
}
.lm-pub-card.visible {
  opacity:1;
  transform:translateY(0);
}
.lm-pub-card__img {
  width:100%; height:110px;
  object-fit:cover; display:block;
}
.lm-pub-card__img-placeholder {
  width:100%; height:80px;
  background:#141820;
  display:flex; align-items:center; justify-content:center;
  color:#2a3550; font-size:32px;
}
.lm-pub-card__body { padding:12px 14px; }
.lm-pub-card__hq {
  display:inline-block; background:#ff9900; color:#000;
  font-size:8px; font-weight:700; letter-spacing:1.2px;
  padding:2px 8px; border-radius:3px; margin-bottom:7px;
  text-transform:uppercase;
}
.lm-pub-card__title { font-size:15px; font-weight:700; color:#ff9900; margin-bottom:3px; }
.lm-pub-card__sub   { font-size:10px; color:#5a6a80; text-transform:uppercase; letter-spacing:.9px; margin-bottom:8px; }
.lm-pub-card__desc  { font-size:12px; color:#a0b0c0; line-height:1.65; }
