/* Induló ablak (ingatlanadatok, csomaggal érkezés): közös a főoldalon és az árkalkulátorban */
dialog.onb { width: min(1080px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #4a4235; background: #1b1814; color: #f1ebdd; overflow: auto; clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 26px 100%, 0 calc(100% - 26px)); scrollbar-width: thin; scrollbar-color: #4a4235 transparent; }
dialog.onb::backdrop { background: rgba(10,9,7,.86); backdrop-filter: blur(4px); }
html.onb-lock { overflow: hidden; }
dialog.onb button { min-height: 0; border-radius: 0; box-shadow: none; letter-spacing: normal; text-transform: none; line-height: 1.2; }
dialog.onb input { min-height: 0; height: auto; padding: 0; box-shadow: none; border-radius: 0; }
dialog.onb .onb-in { display: flex; flex-direction: column; gap: 0; }
dialog.onb .onb-head { padding: 28px clamp(20px, 4vw, 48px) 14px; display: flex; flex-direction: column; gap: 10px; }
dialog.onb .onb-label { margin: 0; font: 400 10px/1.3 Michroma, sans-serif; letter-spacing: 2.4px; color: #c9a86b; }
dialog.onb .onb-head h2 { margin: 0; font: 400 clamp(32px, 3.6vw, 54px)/1.05 Newsreader, Georgia, serif; }
dialog.onb .onb-head h2 em { color: #e2c894; }
dialog.onb .onb-head p { margin: 0; color: #a79f8e; font-size: 15px; }
dialog.onb .onb-step { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 0 18px; padding: 18px clamp(20px, 4vw, 48px); border-top: 1px solid #2c2821; }
dialog.onb .onb-num { font: 400 36px/1 Michroma, sans-serif; color: #c9a86b; padding-top: 2px; }
dialog.onb .onb-body { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
dialog.onb .onb-body h3 { margin: 0; font: 400 28px/1.1 Newsreader, Georgia, serif; }
dialog.onb .onb-hint { margin: 0; font-size: 13px; color: #a79f8e; }
dialog.onb .onb-area { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
dialog.onb .onb-step-btn { width: 54px; height: 54px; border: 1px solid #4a4235; background: transparent; color: #e2c894; font-size: 26px; cursor: pointer; }
dialog.onb .onb-step-btn:hover { border-color: #c9a86b; }
dialog.onb .onb-area-in { display: flex; align-items: baseline; gap: 8px; padding: 0 18px; height: 72px; border: 1px solid #c9a86b; background: #15130f; }
dialog.onb .onb-area-in input { width: 3.6ch; background: transparent; border: 0; color: #f6ead0; font: 400 52px/1 Newsreader, Georgia, serif; text-align: right; -moz-appearance: textfield; appearance: textfield; }
dialog.onb .onb-area-in input::-webkit-outer-spin-button, dialog.onb .onb-area-in input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
dialog.onb .onb-area-in input:focus { outline: none; }
dialog.onb .onb-area-in input::placeholder { color: #4a4235; }
dialog.onb .onb-area-in span { font-size: 18px; color: #a79f8e; }
dialog.onb .onb-presets { display: flex; flex-wrap: wrap; gap: 8px; }
dialog.onb .onb-presets button { height: 36px; padding: 0 14px; border: 1px solid #4a4235; background: transparent; color: #d6cfbf; font: 500 14px 'Instrument Sans', sans-serif; cursor: pointer; }
dialog.onb .onb-presets button:hover, dialog.onb .onb-presets button.on { border-color: #c9a86b; color: #1a1712; background: #c9a86b; }
dialog.onb .onb-scope { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
dialog.onb .onb-card { position: relative; height: clamp(150px, 17vw, 210px); padding: 0; border: 1px solid #4a4235; background: #15130f; overflow: hidden; cursor: pointer; text-align: left; color: #f1ebdd; clip-path: polygon(0 0, 100% 0, 100% 100%, 22px 100%, 0 calc(100% - 22px)); }
dialog.onb .onb-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.62); transition: filter .3s, transform .6s; }
dialog.onb .onb-card:hover img { filter: brightness(.8); transform: scale(1.03); }
dialog.onb .onb-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(21,19,15,.9) 0%, rgba(21,19,15,0) 55%); }
dialog.onb .onb-card .onb-cap { position: absolute; z-index: 2; left: 20px; bottom: 16px; display: flex; flex-direction: column; gap: 2px; }
dialog.onb .onb-card .onb-cap b { font: 400 32px/1 Newsreader, Georgia, serif; }
dialog.onb .onb-card .onb-cap small { font-size: 13px; color: #d6cfbf; }
dialog.onb .onb-card .onb-tick { position: absolute; z-index: 2; top: 14px; right: 14px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(241,235,221,.6); color: transparent; background: rgba(21,19,15,.5); transition: all .2s; }
dialog.onb .onb-card[aria-pressed="true"] { border: 2px solid #e2c894; }
dialog.onb .onb-card[aria-pressed="true"] img { filter: brightness(.85); }
dialog.onb .onb-card[aria-pressed="true"] .onb-tick { background: #c9a86b; border-color: #c9a86b; color: #1a1712; }
dialog.onb .onb-source { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
dialog.onb .onb-src { position: relative; display: flex; align-items: center; gap: 16px; padding: 18px 54px 18px 18px; border: 1px solid #4a4235; background: #15130f; color: #f1ebdd; text-align: left; cursor: pointer; }
dialog.onb .onb-src > svg { width: 54px; height: 54px; flex-shrink: 0; color: #c9a86b; }
dialog.onb .onb-src span { display: flex; flex-direction: column; gap: 3px; }
dialog.onb .onb-src b { font: 600 16px 'Instrument Sans', sans-serif; }
dialog.onb .onb-src small { font-size: 13px; color: #a79f8e; }
dialog.onb .onb-src i { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border: 1px solid #4a4235; color: transparent; }
dialog.onb .onb-src:hover { border-color: #c9a86b; }
dialog.onb .onb-src[aria-pressed="true"] { border: 2px solid #e2c894; background: #24201a; }
dialog.onb .onb-src[aria-pressed="true"] i { background: #c9a86b; border-color: #c9a86b; color: #1a1712; }
dialog.onb .onb-src i svg { width: 18px; height: 18px; }
dialog.onb .onb-foot { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 18px clamp(20px, 4vw, 48px); background: #24201a; border-top: 1px solid #c9a86b; }
dialog.onb .onb-sum { margin: 0; display: flex; flex-direction: column; gap: 3px; font-size: 14px; color: #a79f8e; }
dialog.onb .onb-sum b { font: 400 22px/1.15 Newsreader, Georgia, serif; color: #f1ebdd; }
dialog.onb .onb-go { height: 56px; padding: 0 26px; display: inline-flex; align-items: center; gap: 10px; border: 0; background: #c9a86b; color: #1a1712; font: 600 16px 'Instrument Sans', sans-serif; cursor: pointer; clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px); }
dialog.onb .onb-go:hover:not(:disabled) { background: #e2c894; }
dialog.onb .onb-go:disabled { opacity: .35; cursor: not-allowed; }
@media (max-width: 680px) {
  dialog.onb { width: 100vw; max-height: 100dvh; height: 100dvh; max-width: none; margin: 0; clip-path: none; border: 0; }
  dialog.onb .onb-step { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  dialog.onb .onb-num { font-size: 22px; }
  dialog.onb .onb-scope, dialog.onb .onb-source { grid-template-columns: minmax(0, 1fr); }
  dialog.onb .onb-card { height: 150px; }
  dialog.onb .onb-go { width: 100%; justify-content: center; } }
dialog.onb .onb-arearow { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
dialog.onb .onb-arearow .onb-area { margin-top: 0; }
dialog.onb .onb-area-in input, dialog.onb .onb-area-in input:focus { background: transparent !important; border: 0 !important; box-shadow: none !important; outline: none; }
@media (max-height: 820px) and (min-width: 681px) { dialog.onb .onb-card { height: 150px; } dialog.onb .onb-head h2 { font-size: 38px; } }
dialog.onb .onb-area-in { align-items: center; }
dialog.onb .onb-area-in input { line-height: 1.1; padding-top: 4px; }
dialog.onb .onb-types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
dialog.onb .onb-types .onb-card { height: clamp(120px, 12vw, 160px); }
dialog.onb .onb-types .onb-card .onb-cap b { font-size: 26px; }
dialog.onb .onb-types .onb-card .onb-tick { width: 34px; height: 34px; }
dialog.onb .onb-other { margin-top: 2px; padding-top: 12px; padding-bottom: 12px; }
dialog.onb .onb-other > svg { width: 34px; height: 34px; }
dialog.onb .onb-mats { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
dialog.onb .onb-mats .onb-src { padding: 14px 46px 14px 14px; gap: 12px; }
dialog.onb .onb-mats .onb-src > svg { width: 34px; height: 34px; }
dialog.onb .onb-mats .onb-src b { font-size: 15px; }
dialog.onb .onb-mats .onb-src small { font-size: 12px; }
dialog.onb .onb-mats .onb-src i { width: 26px; height: 26px; right: 12px; }
@media (max-width: 680px) { dialog.onb .onb-types { grid-template-columns: repeat(2, minmax(0, 1fr)); } dialog.onb .onb-types .onb-card { height: 120px; } dialog.onb .onb-types .onb-card .onb-cap { left: 12px; bottom: 10px; } dialog.onb .onb-types .onb-card .onb-cap b { font-size: 21px; } dialog.onb .onb-types .onb-card .onb-cap small { display: none; } dialog.onb .onb-mats { grid-template-columns: repeat(2, minmax(0, 1fr)); } dialog.onb .onb-mats .onb-src { padding: 12px 36px 12px 12px; } dialog.onb .onb-mats .onb-src small { display: none; } }
dialog.onb { width: min(1180px, calc(100vw - 32px)); }
dialog.onb .onb-head { padding: 20px clamp(18px, 3vw, 36px) 12px; gap: 6px; }
dialog.onb .onb-head h2 { font-size: clamp(26px, 2.5vw, 40px); }
dialog.onb .onb-head p { font-size: 13px; }
dialog.onb .onb-step { grid-template-columns: 42px minmax(0, 1fr); gap: 0 12px; padding: 14px clamp(18px, 3vw, 36px); }
dialog.onb .onb-num { font-size: 22px; padding-top: 4px; }
dialog.onb .onb-body { gap: 8px; }
dialog.onb .onb-body h3 { font-size: 23px; }
dialog.onb .onb-hint { font-size: 12px; margin-top: -4px; }
dialog.onb .onb-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid #2c2821; }
dialog.onb .onb-row > .onb-step { border-top: 0; }
dialog.onb .onb-row > .onb-step + .onb-step { border-left: 1px solid #2c2821; }
dialog.onb .onb-step-btn { width: 44px; height: 44px; font-size: 22px; }
dialog.onb .onb-area { margin-top: 0; gap: 8px; }
dialog.onb .onb-area-in { height: 54px; padding: 0 14px; }
dialog.onb .onb-area-in input { font-size: 38px; }
dialog.onb .onb-presets { gap: 6px; }
dialog.onb .onb-presets button { height: 30px; padding: 0 11px; font-size: 13px; }
dialog.onb .onb-focus { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
dialog.onb .onb-focus .onb-card, dialog.onb .onb-types .onb-card { height: 104px; clip-path: polygon(0 0, 100% 0, 100% 100%, 14px 100%, 0 calc(100% - 14px)); }
dialog.onb .onb-card .onb-cap { left: 12px; bottom: 9px; }
dialog.onb .onb-focus .onb-card .onb-cap b, dialog.onb .onb-types .onb-card .onb-cap b { font-size: 20px; }
dialog.onb .onb-card .onb-cap small { font-size: 11px; }
dialog.onb .onb-focus .onb-card .onb-tick, dialog.onb .onb-types .onb-card .onb-tick { width: 26px; height: 26px; top: 8px; right: 8px; }
dialog.onb .onb-types { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
dialog.onb .onb-types .onb-card .onb-cap b { font-size: 17px; line-height: 1.05; }
dialog.onb .onb-ico { position: absolute; inset: 0 0 34px; display: flex; align-items: center; justify-content: center; color: #c9a86b; }
dialog.onb .onb-ico svg { width: 38px; height: 38px; }
dialog.onb .onb-mats { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
dialog.onb .onb-mats .onb-src { padding: 10px 34px 10px 10px; gap: 10px; }
dialog.onb .onb-mats .onb-src > svg { width: 26px; height: 26px; }
dialog.onb .onb-mats .onb-src b { font-size: 14px; }
dialog.onb .onb-mats .onb-src small { font-size: 11px; }
dialog.onb .onb-mats .onb-src i { width: 22px; height: 22px; right: 8px; }
dialog.onb .onb-mats .onb-src i svg { width: 14px; height: 14px; }
dialog.onb .onb-foot { padding: 12px clamp(18px, 3vw, 36px); }
dialog.onb .onb-sum b { font-size: 20px; }
dialog.onb .onb-go { height: 48px; }
@media (max-width: 980px) { dialog.onb .onb-types { grid-template-columns: repeat(4, minmax(0, 1fr)); } dialog.onb .onb-mats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 680px) {
  dialog.onb .onb-row { grid-template-columns: minmax(0, 1fr); }
  dialog.onb .onb-row > .onb-step + .onb-step { border-left: 0; border-top: 1px solid #2c2821; }
  dialog.onb .onb-step { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  dialog.onb .onb-types { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  dialog.onb .onb-focus .onb-card, dialog.onb .onb-types .onb-card { height: 84px; }
  dialog.onb .onb-types .onb-card .onb-cap small, dialog.onb .onb-focus .onb-card .onb-cap small { display: none; }
  dialog.onb .onb-types .onb-card .onb-cap b { font-size: 15px; }
  dialog.onb .onb-mats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) {
  dialog.onb { width: 100vw; max-width: 100vw; }
  dialog.onb .onb-step { grid-template-columns: 30px minmax(0, 1fr); gap: 0 8px; padding: 12px 16px; }
  dialog.onb .onb-num { font-size: 16px; padding-top: 6px; }
  dialog.onb .onb-body h3 { font-size: 21px; }
  dialog.onb .onb-hint { display: none; }
  dialog.onb .onb-head { padding: 16px 16px 10px; }
  dialog.onb .onb-head p:not(.onb-label) { display: none; }
  dialog.onb .onb-area-in { height: 48px; } dialog.onb .onb-area-in input { font-size: 32px; } dialog.onb .onb-step-btn { width: 42px; height: 42px; } }
dialog.onb .onb-pack { display: flex; align-items: center; gap: 20px; }
dialog.onb .onb-pack img { width: 132px; height: 88px; object-fit: cover; flex: 0 0 auto; border: 1px solid #c9a86b; clip-path: polygon(0 0, 100% 0, 100% 100%, 14px 100%, 0 calc(100% - 14px)); }
dialog.onb .onb-pack > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
dialog.onb .onb-pack h2 { margin: 0; }
dialog.onb .onb-pack p { margin: 0; color: #a79f8e; font-size: 13px; }
@media (max-width: 680px) { dialog.onb .onb-pack img { width: 84px; height: 64px; } dialog.onb .onb-pack { align-items: flex-start; gap: 12px; } }
/* bezárás gomb (főoldalon az ablak elhagyható) */
dialog.onb .onb-head { position: relative; }
dialog.onb .onb-x { position: absolute; top: 12px; right: 18px; width: 40px; height: 40px; padding: 0; border: 1px solid #4a4235; background: transparent; color: #e2c894; font-size: 24px; line-height: 1; cursor: pointer; }
dialog.onb .onb-x:hover { border-color: #c9a86b; color: #f6ead0; }
dialog.onb .onb-x ~ * { padding-right: 56px; }

/* egyszerűsített ablak: három kérdés, egy-egy sorban; csak a típus kap képes kártyákat */
dialog.onb.onb-simple { width: min(1080px, calc(100vw - 32px)); }
dialog.onb .onb-inline .onb-body { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px 28px; }
dialog.onb .onb-inline .onb-body h3 { flex: 0 0 250px; }
dialog.onb .onb-ctrl { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; min-width: 0; flex: 1 1 auto; }
dialog.onb .onb-city { display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 16px; flex: 1 1 320px; max-width: 460px; border: 1px solid #c9a86b; background: #15130f; cursor: text; }
dialog.onb .onb-city svg { width: 22px; height: 22px; flex: 0 0 auto; color: #c9a86b; }
dialog.onb .onb-city input { flex: 1 1 auto; min-width: 0; height: 100%; padding: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; color: #f6ead0; font: 400 22px Newsreader, Georgia, serif; outline: none; }
dialog.onb .onb-city input::placeholder { color: #6d6453; font-size: 18px; }
dialog.onb .onb-city-note { font-size: 12px; color: #a79f8e; }
@media (max-width: 680px) {
  dialog.onb .onb-inline .onb-body { flex-direction: column; align-items: stretch; gap: 8px; }
  dialog.onb .onb-inline .onb-body h3 { flex: 0 0 auto; }
  dialog.onb .onb-city { max-width: none; flex: 1 1 auto; }
}
dialog.onb .onb-city input::-webkit-calendar-picker-indicator { display: none !important; opacity: 0; }

/* városmező: kiegészítés a szövegben, halványan a kurzor után */
dialog.onb .onb-city-field { position: relative; flex: 1 1 auto; min-width: 0; height: 100%; display: flex; align-items: center; }
dialog.onb .onb-city-field input { width: 100%; }
dialog.onb .onb-ghost { position: absolute; left: 0; top: 50%; transform: translateY(-50%); white-space: pre; pointer-events: none; font: 400 22px Newsreader, Georgia, serif; }
dialog.onb .onb-ghost i { font-style: normal; color: transparent; }
dialog.onb .onb-ghost b { font-weight: 400; color: #7d725e; }
/* pontos cím: Google címkereső javaslatlistája (induló ablak és Ingatlan adatai) */
.vs-addr-host { position: relative; }
.vs-addr-list { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 50; display: flex; flex-direction: column; max-height: 320px; overflow: auto; border: 1px solid #c9a86b; background: #1b1814; box-shadow: 0 16px 36px rgba(0,0,0,.6); }
.vs-addr-list[hidden] { display: none; }
.vs-addr-list button { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; height: auto; min-height: 0; margin: 0; padding: 9px 14px; border: 0; border-bottom: 1px solid #2c2821; border-radius: 0; background: transparent; color: #f1ebdd; text-align: left; font: 500 14px/1.3 'Instrument Sans', sans-serif; cursor: pointer; }
.vs-addr-list button small { font-size: 12px; color: #b8ae9a; }
.vs-addr-list button:hover, .vs-addr-list button.on { background: #2a251d; }
.vs-addr-list .vs-addr-g { margin: 0; padding: 6px 14px; font-size: 11px; color: #8f8572; text-align: right; }
/* az induló ablakban a cím az ablak alján van: a javaslatlista felfelé nyílik, hogy ne vágja le az ablak széle */
.onb .vs-addr-list { top: auto; bottom: calc(100% + 6px); left: -40px; right: -12px; }
