/* KMY Route Map (Leaflet/OpenStreetMap)
   Designed to blend with the existing landing theme.
*/

.kmy-route-map{
  --rm-line: rgba(0,0,0,.08);
  --rm-muted: var(--muted, rgba(0,0,0,.65));
}

.kmy-route-map__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}

.kmy-route-map__title{
  margin:0;
  font-size:28px;
  letter-spacing:-.02em;
}

.kmy-route-map__hint{
  font-size:13px;
  color:var(--rm-muted);
  font-weight:700;
}

.kmy-route-map__grid{
  display:grid;
  grid-template-columns: 1.35fr .65fr;
  gap:14px;
  align-items:stretch;
}

.kmy-route-map__map{
  background: var(--card, #fff);
  border:1px solid var(--rm-line);
  border-radius:18px;
  overflow:hidden;
  min-height: 460px;
  box-shadow: var(--shadow, 0 10px 30px rgba(0,0,0,.06));
}

.kmy-route-map__list{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:460px;
  overflow:auto;
  padding:2px;
}

.kmy-route-card{
  display:flex;
  gap:10px;
  align-items:stretch;
  width:100%;
  text-align:left;
  border:1px solid var(--rm-line);
  background: var(--card, #fff);
  border-radius:16px;
  padding:10px;
  cursor:pointer;
  box-shadow: 0 6px 16px rgba(0,0,0,.04);
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.kmy-route-card:hover{
  transform: translateY(-1px);
  border-color: rgba(0,0,0,.16);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

.kmy-route-card.is-active{
  border-color: rgba(0,0,0,.22);
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}

.kmy-route-card__meta{
  flex:1;
  min-width:0;
}

.kmy-route-card__day{
  font-weight:900;
  font-size:12px;
  opacity:.9;
}

.kmy-route-card__place{
  margin-top:3px;
  font-weight:900;
  color: var(--text, #111);
  line-height:1.2;
}

.kmy-route-card__alt{
  margin-top:4px;
  font-size:12px;
  color:var(--rm-muted);
  font-weight:700;
}

.kmy-route-card__img{
  width:92px;
  height:72px;
  border-radius:12px;
  background-size:cover;
  background-position:center;
  border:1px solid var(--rm-line);
  flex:0 0 auto;
}

.kmy-route-card__img--empty{
  background: linear-gradient(135deg, rgba(0,0,0,.04), rgba(0,0,0,.02));
}

.kmy-route-map--empty{
  border:1px dashed rgba(0,0,0,.25);
  border-radius:18px;
  padding:14px;
  background: rgba(0,0,0,.02);
}
.kmy-route-map__empty{
  color: var(--rm-muted);
  font-weight:700;
}

/* Leaflet inside rounded container */
.kmy-route-map .leaflet-container{
  font-family: inherit;
}
.kmy-route-map .leaflet-control-attribution{
  font-size:11px;
}

/* Mobile */
@media (max-width: 920px){
  .kmy-route-map__grid{grid-template-columns:1fr}
  .kmy-route-map__map{min-height:360px}
  .kmy-route-map__list{max-height:none}
  .kmy-route-map__title{font-size:24px}
}
