.lmm-wrap{
  clear:both!important;
  float:none!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  --lmm-accent:#e75f8d;
  --lmm-text:#2d2d2d;
  --lmm-muted:#707070;
  --lmm-border:#e3e3e3;
  --lmm-bg:#fff;
  margin:32px 0;
  color:var(--lmm-text);
}
.lmm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.lmm-head h2{margin:0 0 6px;font-size:1.35rem}
.lmm-head p{margin:0;color:var(--lmm-muted);font-size:.93rem}
.lmm-count{white-space:nowrap;background:#fff4f7;border:1px solid #f4cad8;border-radius:999px;padding:8px 12px}
.lmm-count strong{font-size:1.15rem;margin-right:2px}
.lmm-controls{
  display:grid;
  grid-template-columns:minmax(220px,2fr) minmax(130px,1fr) auto;
  gap:8px 12px;
  align-items:end;
  padding:10px 12px;
  border:1px solid var(--lmm-border);
  border-radius:14px;
  background:var(--lmm-bg)
}
.lmm-controls label>span{
  display:block;
  font-size:.78rem;
  font-weight:700;
  margin-bottom:4px;
  line-height:1.2
}
.lmm-controls input[type="search"],.lmm-controls select{
  width:100%;
  box-sizing:border-box;
  border:1px solid #ccc;
  border-radius:9px;
  padding:8px 10px;
  min-height:38px;
  background:#fff;
  font-size:15px
}
.lmm-controls .lmm-check{
  display:flex;
  align-items:center;
  gap:5px;
  min-height:38px;
  margin:0;
  white-space:nowrap;
  font-size:.86rem
}
.lmm-controls .lmm-checks{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:38px;
}
.lmm-controls .lmm-checks .lmm-check>span{
  display:inline;
  margin:0;
  font-size:inherit;
  font-weight:400;
  line-height:1.2;
}
.lmm-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin:8px 2px 10px;
  font-size:.8rem;
  color:var(--lmm-muted)
}
.lmm-legend span{display:inline-flex;align-items:center;gap:5px}
.lmm-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#3b82f6}
.lmm-dot.checking{background:#f59e0b}.lmm-dot.paused{background:#8b5cf6}.lmm-dot.closed,.lmm-dot.former{background:#9ca3af}
.lmm-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:18px;align-items:start}
.lmm-map{height:560px;border-radius:16px;border:1px solid var(--lmm-border);overflow:hidden;background:#f4f5f7}
.lmm-note{font-size:.82rem;color:var(--lmm-muted);margin:7px 2px 0}
.lmm-results{display:grid;gap:8px;max-height:560px;overflow:auto;padding-right:3px}
.lmm-result{width:100%;text-align:left;border:1px solid var(--lmm-border);border-radius:12px;background:#fff;padding:11px 12px;cursor:pointer}
.lmm-result:hover{border-color:#e9a5bb;background:#fff8fa}
.lmm-result-title{display:block;font-weight:700;line-height:1.4}
.lmm-result-meta{display:block;color:var(--lmm-muted);font-size:.8rem;margin-top:4px}
.lmm-result-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.lmm-result-tags em,.lmm-badge{font-style:normal;font-size:.72rem;line-height:1;border-radius:999px;padding:5px 7px;background:#edf5ff;color:#245b95}
.lmm-result-tags em.checking{background:#fff4d6;color:#835b00}
.lmm-result-tags em.paused{background:#f1eaff;color:#6140a5}
.lmm-result-tags em.closed,.lmm-result-tags em.former{background:#f1f1f1;color:#666}
.lmm-pin{display:block;width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#3b82f6;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.lmm-pin.checking{background:#f59e0b}.lmm-pin.paused{background:#8b5cf6}.lmm-pin.closed,.lmm-pin.former{background:#9ca3af}
.lmm-pin.stand{box-shadow:0 0 0 3px #ffb2cb,0 1px 4px rgba(0,0,0,.35)}
.lmm-div-icon{background:transparent;border:0}
.lmm-popup h3{font-size:1rem;margin:8px 0}
.lmm-popup>div{margin:3px 0}
.lmm-popup-tags{display:flex;gap:5px;flex-wrap:wrap}
.lmm-badge.stand{background:#fff0f5;color:#9b365a}
.lmm-badge.muted{background:#f2f2f2;color:#666}
.lmm-popup-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px!important}
.lmm-popup-links a{display:inline-block;text-decoration:none;border:1px solid #ddd;border-radius:8px;padding:7px 9px}
.lmm-empty{padding:24px;border:1px dashed var(--lmm-border);border-radius:12px;color:var(--lmm-muted);text-align:center}
@media (max-width:760px){
  .lmm-head{align-items:center}
  .lmm-controls{
    grid-template-columns:minmax(0,1fr) minmax(0,.75fr);
    gap:8px 10px;
    padding:10px!important
  }
  .lmm-controls .lmm-checks{grid-column:1/-1}
  .lmm-grid{grid-template-columns:1fr}
  .lmm-map{height:470px}
  .lmm-results{max-height:none;overflow:visible}
}
@media (max-width:480px){
  .lmm-map{height:420px}
  .lmm-count{font-size:.82rem}
}




.lmm-map-tools{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 9px;
  margin:0 0 8px;
}
.lmm-map-search-button{
  appearance:none;
  border:0;
  border-radius:9px;
  padding:8px 12px;
  background:var(--lmm-accent);
  color:#fff;
  font-weight:700;
  font-size:.86rem;
  line-height:1.2;
  cursor:pointer;
}
.lmm-map-search-button:hover{filter:brightness(.96)}
.lmm-map-clear-button{
  appearance:none;
  border:1px solid var(--lmm-border);
  border-radius:9px;
  padding:7px 10px;
  background:#fff;
  color:var(--lmm-text);
  font-size:.82rem;
  cursor:pointer;
}
.lmm-map-help{
  color:var(--lmm-muted);
  font-size:.78rem;
  line-height:1.4;
}
.lmm-map-filter{
  display:flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  gap:6px;
  margin:0 0 8px;
  padding:6px 8px 6px 10px;
  border:1px solid #f2bfd0;
  border-radius:999px;
  background:#fff5f8;
  color:#8d3453;
  font-size:.8rem;
  box-sizing:border-box;
}
.lmm-map-filter[hidden]{display:none!important}
.lmm-map-filter button{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  padding:0 3px;
  font-size:1rem;
  line-height:1;
  cursor:pointer;
}
.lmm-map-wrap{position:relative}
.lmm-map-loading{
  position:absolute;
  z-index:500;
  left:50%;
  top:14px;
  transform:translateX(-50%);
  max-width:calc(100% - 30px);
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--lmm-border);
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  font-size:.8rem;
  white-space:nowrap;
  pointer-events:none;
}
.lmm-map-loading[hidden]{display:none!important}
@media (max-width:520px){
  .lmm-map-tools{align-items:stretch}
  .lmm-map-search-button{width:100%}
  .lmm-map-help{width:100%}
}


@media (max-width:520px){
  .lmm-controls{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:9px!important;
    padding:11px!important;
    margin:0!important;
  }

  .lmm-controls > label,
  .lmm-controls > .lmm-checks{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }

  .lmm-controls > label{
    display:block!important;
    line-height:1.2!important;
  }

  .lmm-controls label>span{
    margin:0 0 4px!important;
    padding:0!important;
    min-height:0!important;
    line-height:1.2!important;
  }

  .lmm-controls input[type="search"],
  .lmm-controls select{
    display:block!important;
    width:100%!important;
    min-height:40px!important;
    height:40px!important;
    margin:0!important;
    padding:7px 10px!important;
    line-height:1.2!important;
  }

  .lmm-controls .lmm-checks{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:7px 16px!important;
    margin-top:1px!important;
  }

  .lmm-controls .lmm-check{
    display:flex!important;
    align-items:center!important;
    width:auto!important;
    min-height:24px!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    gap:5px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }

  .lmm-controls .lmm-check input[type="checkbox"]{
    flex:0 0 auto!important;
    width:18px!important;
    height:18px!important;
    margin:0!important;
    padding:0!important;
  }

  .lmm-controls .lmm-check>span{
    display:inline!important;
    margin:0!important;
    padding:0!important;
    font-size:.84rem!important;
    font-weight:400!important;
    line-height:1.2!important;
  }

  .lmm-legend{
    gap:5px 10px!important;
    margin:7px 2px 8px!important;
    line-height:1.2!important;
  }

  .lmm-map-tools{
    margin-top:0!important;
  }
}


/* WordPressテーマ側のfloat/回り込み対策 */
.lmm-wrap::before,
.lmm-wrap::after{
  content:"";
  display:table;
  clear:both;
}
.lmm-head{
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.lmm-head>div{
  float:none!important;
}
.lmm-count{
  float:none!important;
  position:static!important;
  inset:auto!important;
}


@media (max-width:520px){
  .lmm-wrap{
    clear:both!important;
    float:none!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  .lmm-head{
    display:block!important;
    clear:both!important;
    float:none!important;
    width:100%!important;
    margin:0 0 10px!important;
    padding:0!important;
  }

  .lmm-head>div:first-child{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  .lmm-head h2{
    display:block!important;
    width:100%!important;
    margin:0 0 4px!important;
    padding:0!important;
  }

  .lmm-head p{
    display:block!important;
    width:100%!important;
    margin:0 0 7px!important;
    padding:0!important;
  }

  .lmm-count{
    display:inline-block!important;
    position:static!important;
    float:none!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:5px 9px!important;
    border-radius:999px!important;
    line-height:1.2!important;
    vertical-align:top!important;
  }

  .lmm-count strong{
    font-size:1rem!important;
  }
}
