/* ═══════════════════════════════════════════════════════════════
   리커버 — 역세권/내주변/지도 검색 전용 (2026-09-01 신규)
   ★새 변수를 만들지 않는다. am.css 가 정의한 --kt-primary 등 팔레트를 그대로 쓴다.
   ★.kt-shop / .kt-shopgrid / .kt-hubgrid / .kt-sectitle / .kt-empty 등은
     kt.css(수정 금지 대상 아님이지만 공유 골격이라 손대지 않음)의 정본 클래스를 그대로 재사용한다.
     이 파일은 이 세 페이지에서만 쓰는 것만 추가한다.
   ═══════════════════════════════════════════════════════════════ */

/* ── 역 검색창 ── */
.kt-msearch-box {
  background: #fff; border: 1px solid var(--kt-line); border-radius: 14px;
  padding: 16px; margin-bottom: 4px;
}
.kt-msearch-form { display: flex; gap: 8px; }
.kt-msearch-form input[type=text] {
  flex: 1; height: 46px; padding: 0 14px; border: 1px solid var(--kt-line);
  border-radius: 10px; font-size: 15px; background: #fff; color: var(--kt-ink);
}
.kt-msearch-form input[type=text]:focus { outline: none; border-color: var(--kt-primary); }
.kt-msearch-form .kt-btn { padding: 0 20px; height: 46px; border-radius: 10px; font-weight: 700; }
.kt-msearch-err { margin-top: 8px; font-size: 13px; color: #c0402f; font-weight: 600; }

/* ── 필터 패널 ── */
.kt-msearch-filter {
  background: #fff; border: 1px solid var(--kt-line); border-radius: 14px; padding: 14px 16px;
}
.kt-mfrow { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.kt-mfrow label {
  display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--kt-mute); font-weight: 600;
}
.kt-mfrow label.kt-mfchk { flex-direction: row; align-items: center; gap: 6px; font-size: 13.5px; padding-bottom: 11px; }
.kt-mfrow select {
  height: 42px; padding: 0 10px; border: 1px solid var(--kt-line); border-radius: 9px;
  font-size: 14px; background: #fff; color: var(--kt-ink); min-width: 108px;
}
.kt-mfrow select:focus { outline: none; border-color: var(--kt-primary); }
.kt-mfrow .kt-btn { height: 42px; padding: 0 20px; border-radius: 9px; font-weight: 700; margin-left: auto; }
.kt-msearch-note {
  margin-top: 10px; font-size: 12.5px; color: var(--kt-mute); line-height: 1.6;
  padding-top: 10px; border-top: 1px dashed var(--kt-line);
}
.kt-msearch-box > .kt-msearch-note:first-child { border-top: 0; padding-top: 0; margin-top: 0; }

/* ── 결과 카드의 거리 배지 (kt_shop_card 썸네일 위에 JS 로 붙인다) ── */
.kt-mdist {
  position: absolute; right: 8px; bottom: 8px; z-index: 2; font-style: normal;
  font-size: 11.5px; font-weight: 800; color: #fff; background: rgba(17,24,39,.72);
  padding: 3px 8px; border-radius: 999px; backdrop-filter: blur(2px);
}

/* ── 노선 → 역 그리드: 매장 없는 역은 옅게 ── */
.kt-mstationgrid a.kt-mst-empty { color: #b7bec7; border-style: dashed; }
.kt-mstationgrid a.kt-mst-empty:hover { color: var(--kt-mute); border-color: var(--kt-line); background: #fff; }

/* ── 지도 검색: 좌 목록 / 우 지도 2단 ── */
.kt-mapkeynote {
  background: var(--kt-soft); border: 1px solid var(--kt-line); border-radius: 12px;
  padding: 10px 14px; font-size: 13px; color: var(--kt-mute); margin-bottom: 4px;
}
.kt-mapgrid { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 16px; align-items: start; }
.kt-mapgrid-view {
  position: sticky; top: 12px; background: #fff; border: 1px solid var(--kt-line);
  border-radius: 14px; padding: 14px;
}
.kt-mapshoplist { display: flex; flex-direction: column; gap: 8px; max-height: 720px; overflow-y: auto; }
.kt-mapshopitem {
  display: block; padding: 11px 13px; border: 1px solid var(--kt-line); border-radius: 11px; background: #fff;
}
.kt-mapshopitem b { display: block; font-size: 14px; font-weight: 800; color: var(--kt-ink); }
.kt-mapshopitem span { display: block; margin-top: 3px; font-size: 12.5px; color: var(--kt-mute); }
.kt-mapshopitem em { display: block; margin-top: 3px; font-style: normal; font-size: 11.5px; color: #b7bec7; }
.kt-mapshopitem:hover, .kt-mapshopitem.on { border-color: var(--kt-primary); background: var(--kt-soft); }
.kt-mapshopitem-noll { opacity: .62; }

@media (max-width: 900px) {
  .kt-mapgrid { grid-template-columns: 1fr; }
  .kt-mapgrid-view { position: static; }
}

/* ── 카카오 지도 컨테이너 (2026-09-01) ── */
.kt-kakaomap { width: 100%; height: 520px; border-radius: 12px; overflow: hidden; background: var(--kt-soft); }
.kt-mapgrid-view .kt-kakaomap { height: 600px; }
@media (max-width: 900px) { .kt-mapgrid-view .kt-kakaomap { height: 380px; } }
.kt-stationmap, .kt-aroundmap { margin-top: 10px; }
.kt-stationmap .kt-kakaomap, .kt-aroundmap .kt-kakaomap { height: 340px; }

/* ── 모바일 카드 2열 고정 ──
   ★kt.css 의 .kt-shopgrid 는 420px 이하에서 1열로 바뀐다(공유 골격 — 이 파일에선 안 고친다).
     이 세 페이지만 420px 이하에서도 2열을 유지한다(사이트 공통 지시: 모바일 카드 가로 2개씩). */
@media (max-width: 420px) {
  .kt-msearch .kt-shopgrid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 9px; }
  .kt-msearch .kt-shop-b h4 { font-size: 13px; }
  .kt-mfrow { gap: 8px; }
  .kt-mfrow label { flex: 1 1 44%; }
  .kt-mfrow .kt-btn { margin-left: 0; width: 100%; }
}
