/* Főoldal */
.hero { position: relative; padding: 28px 0 8px; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: -40% -10% auto auto; width: 70vw; height: 70vw; max-width: 900px; max-height: 900px; background: radial-gradient(closest-side, rgb(25 199 149 / .11), rgb(25 199 149 / 0)); pointer-events: none; }
.hero-grid { position: relative; display: grid; gap: 32px; align-items: center; }
.hero-copy { min-width: 0; }
.hero-title { margin: 14px 0 12px; font-size: 40px; line-height: 44px; font-weight: 740; letter-spacing: -.015em; }
.hero-lead { font-size: 17px; line-height: 26px; color: var(--bp-text-2); max-width: 540px; }
@media (min-width: 768px) {
  .hero { padding: 56px 0 24px; }
  .hero-title { font-size: 54px; line-height: 58px; letter-spacing: -.02em; }
  .hero-lead { font-size: 19px; line-height: 29px; }
}
@media (min-width: 1100px) {
  .hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; }
  .hero-title { font-size: 60px; line-height: 64px; }
}

.search-card { margin-top: 28px; background: var(--bp-surface); border: 1px solid var(--bp-border); border-radius: var(--r-xl); box-shadow: var(--e3); padding: 16px; display: grid; gap: 14px; }
.search-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.search-top .switch { min-height: 36px; font-size: 14px; color: var(--bp-3d); }
.search-fields { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; align-items: end; }
.search-fields .f-loc { grid-column: 1 / -1; order: 1; }
.search-fields .f-type { order: 2; } .search-fields .f-price { order: 3; }
.search-fields .f-submit { grid-column: 1 / -1; order: 4; }
@media (min-width: 768px) {
  .search-card { padding: 20px; }
  .search-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
  .search-fields .f-loc { grid-column: 1 / -1; order: 1; }
  .search-fields .f-type { order: 2; } .search-fields .f-price { order: 3; } .search-fields .f-submit { order: 4; grid-column: auto; min-width: 140px; }
}
.search-fields .btn-lg { height: 46px; }
.search-fields .locpick-box { min-height: 46px; }

.hero-stats { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; }
@media (min-width: 480px) { .hero-stats { display: flex; flex-wrap: wrap; gap: 12px 28px; } }
.hero-stats li { display: grid; gap: 0; }
.hero-stats strong { font-family: var(--font-display); font-stretch: 112%; font-size: 24px; line-height: 30px; font-weight: 740; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.hero-stats span { font-size: 13px; color: var(--bp-text-2); }
.hero-stats li.is-3d strong { color: var(--bp-3d); }

/* Kiemelt 3D-hirdetés a hero jobb oldalán */
.hero-visual { min-width: 0; }
.hv-frame { position: relative; display: block; aspect-ratio: 4 / 5; max-height: 560px; width: 100%; border-radius: var(--r-xl); overflow: hidden; background: linear-gradient(160deg, #27272A, #09090B 70%); box-shadow: var(--e4); color: #fff; text-decoration: none; isolation: isolate; }
@media (max-width: 1099px) { .hv-frame { aspect-ratio: 4 / 3; } }
.hv-frame .img-fallback { place-items: start end; align-content: start; justify-content: end; padding: 64px 28px 0 0; }
.hv-frame .img-fallback span { display: none; }
@media (min-width: 1100px) { .hv-frame .img-fallback { place-items: center; align-content: center; justify-content: center; padding: 0 0 120px; } }
.hv-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.hv-frame:hover img { transform: scale(1.04); }
.hv-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(9 9 11 / .15) 0%, rgb(9 9 11 / 0) 35%, rgb(9 9 11 / .78) 100%); z-index: 1; }
.hv-top { position: absolute; left: 18px; top: 18px; right: 18px; display: flex; justify-content: space-between; gap: 8px; z-index: 2; }
.hv-bottom { position: absolute; left: 20px; right: 20px; bottom: 20px; z-index: 2; display: grid; gap: 12px; }
.hv-price { font-family: var(--font-display); font-stretch: 112%; font-size: 28px; line-height: 32px; font-weight: 740; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.hv-meta { font-size: 14px; color: rgb(255 255 255 / .82); }
.hv-cta { justify-self: start; }
.hv-empty { display: grid; place-items: center; }
.hv-empty::after { display: none; }
.hv-glow { position: absolute; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgb(25 199 149 / .35), rgb(25 199 149 / 0)); filter: blur(10px); }
.hv-mark { position: relative; width: 38%; color: #E8F7F0; }
.hv-mark svg { width: 100%; height: auto; }

/* 3D-sor */
.section-3d { padding-top: 32px; }
.section-3d .section-head h2::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 2px; background: var(--bp-3d-bright); margin-right: 10px; vertical-align: 3px; box-shadow: 0 0 0 4px var(--bp-3d-soft); }

/* Hogyan működik */
.how { background: var(--bp-surface); border-top: 1px solid var(--bp-border); border-bottom: 1px solid var(--bp-border); }
.how .steps { list-style: none; margin: 0; padding: 0; }
.how .step { background: var(--bp-canvas); }

/* Népszerű helyek */
.pop-group + .pop-group { margin-top: 20px; }
.pop-title { font-size: 13px; font-weight: 600; color: var(--bp-text-2); margin-bottom: 10px; }

/* App-sáv */
.app-band { display: grid; gap: 24px; padding: 32px 24px; }
.app-band h2 { font-size: 28px; line-height: 34px; letter-spacing: -.02em; margin: 10px 0 12px; }
.app-band p { max-width: 520px; font-size: 16px; line-height: 24px; }
.app-band .row { margin-top: 24px; gap: 12px; }
.kicker-light { color: var(--bp-3d-bright); }
.app-band-art { position: relative; min-height: 180px; display: grid; place-items: center; }
.app-band-art svg { width: 160px; height: auto; color: #E8F7F0; filter: drop-shadow(0 0 40px rgb(25 199 149 / .35)); }
@media (min-width: 900px) {
  .app-band { grid-template-columns: 1.4fr 1fr; padding: 56px; align-items: center; }
  .app-band h2 { font-size: 36px; line-height: 42px; }
  .app-band-art svg { width: 210px; }
}
