.mb-radius-map{--mb-rm-accent:#765d86;--mb-rm-accent-soft:rgba(118,93,134,.14);--mb-rm-border:#e7e1dc;--mb-rm-bg:#fbf9f6;--mb-rm-text:#2d2926;--mb-rm-muted:#6f6862;box-sizing:border-box;color:var(--mb-rm-text);font-family:inherit;max-width:1180px;margin:32px auto}
.mb-radius-map *{box-sizing:border-box}
.mb-radius-map__head{margin-bottom:18px}
.mb-radius-map__title{margin:0 0 8px;font-size:clamp(24px,3vw,34px);line-height:1.3}
.mb-radius-map__lead,.mb-radius-map__note{margin:0;color:var(--mb-rm-muted);line-height:1.8}
.mb-radius-map__layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:18px;align-items:stretch}
.mb-radius-map__controls{padding:20px;border:1px solid var(--mb-rm-border);border-radius:16px;background:var(--mb-rm-bg)}
.mb-radius-map__mode{display:flex;gap:8px;margin-bottom:14px}
.mb-radius-map button,.mb-radius-map input{font:inherit}
.mb-radius-map button{cursor:pointer}
.mb-radius-map button:focus-visible,.mb-radius-map input:focus-visible{outline:3px solid rgba(118,93,134,.28);outline-offset:2px}
.mb-radius-map__point{border:1px solid var(--mb-rm-border);background:#fff;border-radius:999px;padding:8px 14px}
.mb-radius-map__point.is-active{background:var(--mb-rm-accent);border-color:var(--mb-rm-accent);color:#fff}
.mb-radius-map__status{min-height:44px;margin:0 0 16px;padding:11px 12px;border-radius:10px;background:#fff;line-height:1.5;font-size:14px}
.mb-radius-map__fieldset{border:0;padding:0;margin:0}
.mb-radius-map__fieldset legend{font-weight:700;margin-bottom:10px}
.mb-radius-map__presets{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.mb-radius-map__presets button{min-height:42px;border:1px solid var(--mb-rm-border);border-radius:10px;background:#fff}
.mb-radius-map__presets button.is-active{border-color:var(--mb-rm-accent);background:var(--mb-rm-accent-soft);font-weight:700}
.mb-radius-map__custom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
.mb-radius-map__input-wrap{display:flex;align-items:center;gap:6px}
.mb-radius-map__input-wrap input{width:92px;min-height:42px;border:1px solid var(--mb-rm-border);border-radius:10px;padding:8px 10px;background:#fff}
.mb-radius-map__error{min-height:20px;margin:6px 0 0;color:#9d2b2b;font-size:13px;line-height:1.5}
.mb-radius-map__current{margin:12px 0 0}
.mb-radius-map__actions{display:grid;gap:8px;margin-top:16px}
.mb-radius-map__button{min-height:44px;border:1px solid var(--mb-rm-accent);border-radius:10px;background:var(--mb-rm-accent);color:#fff;padding:10px 12px}
.mb-radius-map__button--sub{background:#fff;color:var(--mb-rm-text)}
.mb-radius-map__button--ghost{border-color:transparent;background:transparent;color:var(--mb-rm-muted);text-decoration:underline}
.mb-radius-map__share-message{min-height:20px;margin:8px 0 0;font-size:13px;color:var(--mb-rm-muted)}
.mb-radius-map__map-wrap{min-width:0;border:1px solid var(--mb-rm-border);border-radius:16px;overflow:hidden;background:#eee}
.mb-radius-map__map{width:100%;height:620px;min-height:520px}
.mb-radius-map__note{margin-top:12px;font-size:13px}
.mb-radius-map .leaflet-container{font-family:inherit}
.mb-radius-map .leaflet-control-attribution{font-size:10px}
@media(max-width:767px){
 .mb-radius-map{margin:22px auto}
 .mb-radius-map__layout{grid-template-columns:1fr}
 .mb-radius-map__controls{padding:16px}
 .mb-radius-map__presets{grid-template-columns:repeat(4,1fr);gap:6px}
 .mb-radius-map__presets button{min-width:0;padding:8px 4px;font-size:13px}
 .mb-radius-map__custom{align-items:flex-end}
 .mb-radius-map__map{height:60vh;min-height:420px;max-height:650px}
}
@media(max-width:420px){
 .mb-radius-map__presets{grid-template-columns:repeat(2,1fr)}
}

.mb-radius-map [hidden]{display:none!important}
.mb-radius-map button{
  -webkit-appearance:none;
  appearance:none;
  box-shadow:none;
  text-transform:none;
  letter-spacing:normal;
  max-width:100%;
}
.mb-radius-map input{
  box-shadow:none;
  max-width:100%;
}

/* =========================================================
   Mitsuboshi Radius Map v1.0.3 - Final layout adjustments
   ========================================================= */

/* Keep Leaflet layers below the fixed site header */
.mb-radius-map {
  position: relative;
  z-index: 0;
  isolation: isolate;
}

.mb-radius-map__map-wrap {
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.mb-radius-map__map {
  position: relative;
  z-index: 0;
}

.mb-radius-map .leaflet-pane,
.mb-radius-map .leaflet-control-container {
  z-index: 1;
}

.mb-radius-map [hidden] {
  display: none !important;
}

.mb-radius-map button {
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  max-width: 100%;
}

.mb-radius-map input {
  box-shadow: none;
  max-width: 100%;
}

/* Desktop: left controls / large map / right actions */
@media (min-width: 901px) {
  .mb-radius-map {
    width: min(1380px, calc(100vw - 48px));
    max-width: none;
    margin: 34px 0 22px 50%;
    transform: translateX(-50%);
  }

  .mb-radius-map__layout--three {
    display: grid;
    grid-template-columns:
      minmax(210px, 0.78fr)
      minmax(560px, 1.75fr)
      minmax(190px, 0.62fr);
    gap: 10px;
    align-items: stretch;
  }

  .mb-radius-map__side {
    min-height: 445px;
    padding: 12px;
    border: 1px solid var(--mb-rm-border);
    border-radius: 16px;
    background: var(--mb-rm-bg);
  }

  .mb-radius-map__map-wrap,
  .mb-radius-map__map {
    height: 100%;
    min-height: 445px;
  }

  .mb-radius-map__side--left .mb-radius-map__mode {
    margin-bottom: 10px;
  }

  .mb-radius-map__side--left .mb-radius-map__status {
    min-height: 0;
    margin-bottom: 12px;
    padding: 9px 10px;
  }

  .mb-radius-map__side--left .mb-radius-map__fieldset legend {
    margin-bottom: 8px;
  }

  .mb-radius-map__side--left .mb-radius-map__presets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .mb-radius-map__side--left .mb-radius-map__presets button {
    min-height: 38px;
  }

  .mb-radius-map__side--left .mb-radius-map__custom {
    display: block;
    margin-top: 10px;
  }

  .mb-radius-map__side--left .mb-radius-map__input-wrap {
    margin-top: 8px;
  }

  .mb-radius-map__side--left .mb-radius-map__current {
    margin-top: 10px;
  }

  .mb-radius-map__side--right {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 18px;
  }

  .mb-radius-map__side--right .mb-radius-map__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 0;
  }

  .mb-radius-map__side--right .mb-radius-map__button {
    min-height: 40px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .mb-radius-map__side--right .mb-radius-map__button--ghost {
    grid-column: auto;
    justify-self: stretch;
    min-width: 0;
  }

  .mb-radius-map__note {
    margin-top: 8px;
  }
}

/* Tablet / smartphone: map first, settings second, actions last */
@media (max-width: 900px) {
  .mb-radius-map {
    margin-top: 6px;
    margin-bottom: 16px;
  }

  .mb-radius-map__layout--three {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .mb-radius-map__map-wrap {
    order: 1;
  }

  .mb-radius-map__side--left {
    order: 2;
    padding: 14px 14px 10px;
  }

  .mb-radius-map__side--right {
    order: 3;
    display: block;
    padding: 14px 14px 8px;
  }

  .mb-radius-map__map {
    height: 50vh;
    min-height: 360px;
    max-height: 520px;
    margin-top: 0;
  }

  .mb-radius-map__mode {
    margin-bottom: 10px;
  }

  .mb-radius-map__status {
    min-height: 0;
    margin-bottom: 12px;
    padding: 9px 10px;
  }

  .mb-radius-map__fieldset legend {
    margin-bottom: 8px;
  }

  .mb-radius-map__presets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .mb-radius-map__presets button {
    min-height: 38px;
  }

  .mb-radius-map__custom {
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
  }

  .mb-radius-map__current {
    margin-top: 4px;
    margin-bottom: 0;
  }

  .mb-radius-map__side--right .mb-radius-map__actions {
    grid-template-columns: 1fr;
    gap: 7px;
    margin-bottom: 0;
  }

  .mb-radius-map__button {
    min-height: 40px;
  }

  .mb-radius-map__button--ghost {
    grid-column: auto;
    justify-self: stretch;
    min-width: 0;
  }

  .mb-radius-map__share-message {
    margin-top: 5px;
  }

  .mb-radius-map__note {
    margin-top: 6px;
    line-height: 1.6;
  }

  /* Reduce spacing below featured image on single-post pages */
  body.single-post .post-thumbnail,
  body.single-post .entry-thumbnail,
  body.single-post .wp-post-image {
    margin-bottom: 0 !important;
  }

  body.single-post .entry-content {
    padding-top: 0 !important;
  }

  body.single-post .entry-content > p:first-child {
    margin-top: 0 !important;
  }
}

@media (max-width: 420px) {
  .mb-radius-map__map {
    height: 48vh;
    min-height: 340px;
  }
}
