/* assets/css/vets.css - 🏥 동물병원 찾기 (v2.10.0) - 지도·지역 칩·병원 목록 */

.vt-search { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.vt-search select { flex: 1 1 150px; width: auto; min-width: 0; }
.vt-search input[type=search] { flex: 2 1 180px; min-width: 0; }

.vt-mapbox { margin: 0 0 14px; }
.vt-map { position: relative; width: 100%; height: 420px; border: 1px solid var(--pw-border); border-radius: var(--pw-radius); overflow: hidden; background: var(--pw-surface-2); }
.vt-map-loading { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; color: var(--pw-muted); font-size: 14px; }
.vt-mapbar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 8px 0 0; }
.vt-info { padding: 8px 10px; min-width: 180px; max-width: 240px; font-size: 13px; line-height: 1.45; color: #2a2420; }
.vt-info strong { display: block; font-size: 14px; margin-bottom: 2px; }
.vt-info p { margin: 2px 0; overflow-wrap: anywhere; }
.vt-info a { color: #c4652a; }

.vt-near { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.vt-near-btn { display: flex; flex-direction: column; align-items: flex-start; width: 100%; padding: 8px 12px; text-align: left; cursor: pointer;
    border: 1px solid var(--pw-border); border-radius: var(--pw-radius-sm); background: var(--pw-surface); color: var(--pw-text); font: inherit; }
.vt-near-btn small { color: var(--pw-muted); font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.vt-near-btn:hover { border-color: var(--pw-brand); }

.vt-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.vt-chips a { padding: 5px 11px; border: 1px solid var(--pw-border); border-radius: 999px; background: var(--pw-surface); color: var(--pw-text); font-size: 13.5px; text-decoration: none; }
.vt-chips a:hover { border-color: var(--pw-brand); }
.vt-chips small { color: var(--pw-muted); }

.vt-bar { margin: 4px 0 8px; }
.vt-count { margin: 0; font-size: 14px; color: var(--pw-text-2); }

.vt-list { list-style: none; margin: 0 0 16px; padding: 0; border: 1px solid var(--pw-border); border-radius: var(--pw-radius); background: var(--pw-surface); }
.vt-item { display: flex; align-items: center; gap: 8px 14px; padding: 12px 14px; border-top: 1px solid var(--pw-border); }
.vt-item:first-child { border-top: 0; }
.vt-item-main { flex: 1 1 auto; min-width: 0; }
.vt-name { margin: 0 0 2px; font-size: 16px; }
.vt-addr, .vt-since { margin: 0; font-size: 13.5px; color: var(--pw-text-2); overflow-wrap: anywhere; }
.vt-since { color: var(--pw-muted); font-size: 12.5px; }
.vt-item-act { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; flex: 0 0 auto; }

.vt-help ul { margin: 6px 0 0 1.1em; padding: 0; line-height: 1.7; }
.vt-source { margin: 12px 0 0; font-size: 12.5px; color: var(--pw-muted); line-height: 1.6; }

@media (max-width: 600px) {
    .vt-map { height: 340px; }
    .vt-item { flex-direction: column; align-items: stretch; }
    .vt-item-act { justify-content: flex-start; }
    .vt-search select { flex: 1 1 45%; }
}
