/* Kereső / térkép oldal */
.page-search .site-footer { margin-top: 32px; }
.filters { position: relative; z-index: 90; background: var(--bp-surface); border-bottom: 1px solid var(--bp-border); padding: 10px 0; }
.filters-row { display: grid; gap: 8px; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "tx type" "loc loc" "d3 more"; align-items: center; }
.f-tx { grid-area: tx; }
.f-type { grid-area: type; min-width: 0; }
.f-loc { grid-area: loc; min-width: 0; }
.f-price { display: none; }
.f-3d { grid-area: d3; min-height: 40px; font-size: 14px; color: var(--bp-3d); }
.f-more-btn { grid-area: more; justify-self: end; height: 40px; }
.f-more-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--bp-action); color: #fff; font-size: 12px; }
.f-more-count[hidden] { display: none; }
.filters .select, .filters .input { height: 40px; }
.filters .locpick-box { min-height: 40px; padding-top: 2px; padding-bottom: 2px; }
.filters .locpick-box > .icon { top: 11px; }
.filters .locpick-input { height: 32px; }
.filters .seg button { height: 34px; padding: 0 14px; }
.filters-more { padding: 16px 0 6px; }
.filters-more[hidden] { display: none; }
.more-grid { display: grid; gap: 16px; grid-template-columns: 1fr; }
.more-grid .input-group > .input-suffix { flex: 1; min-width: 0; }
.more-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
@media (min-width: 640px) { .more-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) {
  .filters { position: sticky; top: var(--header-h); }
  .filters-row { display: flex; flex-wrap: nowrap; }
  .f-type { width: 170px; flex: none; }
  .f-loc { flex: 1 1 260px; }
  .f-price { display: flex; align-items: center; gap: 6px; flex: none; }
  .f-price .input-suffix { width: 118px; }
  .f-price .input { padding-right: 46px; }
  .f-3d { flex: none; white-space: nowrap; }
  .f-more-btn { flex: none; }
  .more-price { display: none; }
  .more-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.results-head { display: grid; gap: 12px; padding-top: 20px; padding-bottom: 12px; grid-template-columns: 1fr; }
.results-title { font-size: 22px; line-height: 28px; letter-spacing: -.015em; }
.results-count { margin-top: 2px; color: var(--bp-text-2); font-size: 14px; font-variant-numeric: tabular-nums; min-height: 20px; }
.results-count b { color: var(--bp-text); }
.results-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.select-sm { height: 40px; width: auto; max-width: 100%; font-size: 14px; }
.view-seg button { height: 34px; padding: 0 12px; }
.active-chips:empty { display: none; }
.active-chips .chip { height: 32px; font-size: 13px; padding: 0 8px 0 12px; }
.active-chips .chip .icon { width: 14px; height: 14px; }
.active-chips .chip-clear { border-color: transparent; background: transparent; text-decoration: underline; text-underline-offset: 3px; padding: 0 8px; }
.only-desktop { display: none !important; }
.view-seg { display: none; }
.results-tools .select-sm { flex: 1; min-width: 0; }
@media (min-width: 640px) { .results-tools .select-sm { flex: none; } }
@media (min-width: 768px) { .results-title { font-size: 26px; line-height: 32px; } }
@media (min-width: 1024px) {
  .results-head { grid-template-columns: 1fr auto; align-items: end; }
  .active-chips { grid-column: 1 / -1; }
  .only-desktop { display: inline-flex !important; }
  .view-seg { display: inline-flex; }
}

/* Nézetek */
.results { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.results-list { min-width: 0; }
.results-map { display: none; position: relative; }
.map { width: 100%; height: 100%; min-height: 320px; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--bp-border); background: #F0F0F2; }
.map-here { position: absolute; top: 14px; left: 50%; transform: translateX(-50%); z-index: 500; box-shadow: var(--e3); }
.map-here[hidden] { display: none; }
.map-msg { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 500; background: var(--bp-surface); color: var(--bp-text); border-radius: var(--r-md); box-shadow: var(--e3); padding: 10px 14px; font-size: 14px; font-weight: 500; max-width: calc(100% - 32px); text-align: center; }
.map-msg[hidden] { display: none; }
.results-list .list-col { display: grid; gap: 14px; grid-template-columns: 1fr; }

/* mobil: lista vagy térkép */
.results[data-view="terkep"] .results-list { display: none; }
.results[data-view="terkep"] .results-map { display: block; height: calc(100dvh - var(--header-h) - 190px); min-height: 380px; }
.mobile-toggle { position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 400; border-radius: var(--r-pill); box-shadow: var(--e3); padding: 0 20px; }
@media (min-width: 1024px) {
  .mobile-toggle { display: none; }
  .results[data-view="osztott"], .results[data-view="terkep"] { max-width: none; display: grid; gap: 20px; align-items: start; padding-right: var(--gutter); }
  .results[data-view="osztott"] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding-left: max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter))); }
  .results[data-view="terkep"] { grid-template-columns: 420px minmax(0, 1fr); }
  .results[data-view="terkep"] .results-list { display: block; }
  .results[data-view="osztott"] .results-map, .results[data-view="terkep"] .results-map { display: block; position: sticky; top: calc(var(--header-h) + 76px); height: calc(100vh - var(--header-h) - 92px); min-height: 420px; }
}
@media (min-width: 1440px) { .results[data-view="osztott"] { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); } }
.results-list .lcard--row .lcard-body { gap: 3px; }
.results-list .lcard--row .lcard-title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.results[data-view="terkep"] .lcard--row .lcard-media { width: 40%; }
@media (min-width: 1024px) {
  .page-search:has(.results[data-view="terkep"]) .results-head,
  .page-search:has(.results[data-view="terkep"]) .filters .container { max-width: none; }
}
