/* Toe Sjee Ingatlan – frontend stílusok */
:root {
  --tj-ink: #16211f;
  --tj-text: #2a3532;
  --tj-muted: #5f6d69;
  --tj-green: #2d5785;
  --tj-green-2: #3b6a9c;
  --tj-green-3: #e5edf6;
  --tj-gold: #5a809e;
  --tj-gold-2: #46698a;
  --tj-sand: #eef3f7;
  --tj-cream: #f7f9fb;
  --tj-line: #dbe3ea;
  --tj-white: #ffffff;
  --tj-red: #b4402f;
  --tj-radius: 16px;
  --tj-shadow: 0 1px 2px rgba(22,33,31,.06), 0 8px 24px rgba(22,33,31,.08);
  --tj-font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --tj-font-head: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
body { font-family: var(--tj-font); color: var(--tj-text); background: var(--tj-cream); }
.tj-ico { flex: none; }

/* ---------- Gombok, jelvények, értesítések ---------- */
.tj-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 12px; border: 1.5px solid transparent; font: 600 15px/1 var(--tj-font); cursor: pointer; text-decoration: none; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.tj-btn--primary { background: var(--tj-green); color: #fff; }
.tj-btn--primary:hover { background: var(--tj-green-2); color: #fff; }
.tj-btn--ghost { background: transparent; color: var(--tj-green); border-color: var(--tj-line); }
.tj-btn--ghost:hover { border-color: var(--tj-green); color: var(--tj-green); background: var(--tj-green-3); }
.tj-btn--block { width: 100%; }
.tj-btn:focus-visible, .tj-gallery__thumb:focus-visible, .tj-viewtoggle__btn:focus-visible { outline: 3px solid var(--tj-gold); outline-offset: 2px; }
.tj-badges { position: absolute; left: 14px; top: 14px; display: flex; gap: 6px; flex-wrap: wrap; }
.tj-badge { display: inline-block; padding: 6px 11px; border-radius: 999px; font: 700 11.5px/1 var(--tj-font); letter-spacing: .06em; text-transform: uppercase; background: #fff; color: var(--tj-green); }
.tj-badge--elado { background: var(--tj-green); color: #fff; }
.tj-badge--kiado { background: var(--tj-gold); color: #fff; }
.tj-badge--star { background: #fff; color: var(--tj-gold-2); }
.tj-badge--video { background: #d11a2a; color: #fff; }
.tj-badge--cut { background: #e8590c; color: #fff; }
.tj-chip { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--tj-sand); color: var(--tj-green); font: 600 12.5px/1 var(--tj-font); }
.tj-chip--id { background: transparent; border: 1px solid var(--tj-line); color: var(--tj-muted); }
.tj-notice { margin: 0 0 16px; padding: 14px 16px; border-radius: 12px; font-size: 15px; line-height: 1.45; }
.tj-notice--ok { background: #e4f3e8; color: #17532b; border: 1px solid #b6dcc1; }
.tj-notice--err { background: #fbe9e5; color: #8a2b1c; border: 1px solid #efc2b9; }
.tj-empty { padding: 48px 24px; text-align: center; color: var(--tj-muted); background: var(--tj-sand); border-radius: var(--tj-radius); }
.tj-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.tj-ratenote { margin: 24px 0 0; font-size: 13px; color: var(--tj-muted); }

/* ---------- Nyelv- és pénznemváltó ---------- */
.tj-langs, .tj-cur { position: relative; font-family: var(--tj-font); }
.tj-dd { position: relative; display: block; }
.tj-dd__btn { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border-radius: 999px; font: 700 12.5px/1 var(--tj-font); letter-spacing: .04em; cursor: pointer; list-style: none; user-select: none; white-space: nowrap; transition: background .2s, color .2s, box-shadow .2s; }
.tj-dd__btn::-webkit-details-marker { display: none; }
.tj-dd__btn::marker { content: ''; }
.tj-dd__btn:focus-visible { outline: 3px solid var(--tj-gold); outline-offset: 2px; }
.tj-dd__chev { flex: none; transition: transform .2s; }
.tj-dd[open] > .tj-dd__btn .tj-dd__chev { transform: rotate(180deg); }
.tj-dd__label { font-weight: 600; opacity: .85; }
.tj-flag { display: block; flex: none; width: 24px; height: 16px; border-radius: 3px; overflow: hidden; box-shadow: 0 0 0 1px rgba(22,33,31,.2); }
.tj-flag svg { display: block; width: 100%; height: 100%; }
.tj-dd__menu { position: absolute; top: calc(100% + 6px); right: 0; z-index: 950; min-width: 100%; margin: 0; padding: 6px; list-style: none; background: #fff; border: 1px solid var(--tj-line); border-radius: 12px; box-shadow: 0 12px 28px rgba(22,33,31,.18); }
.tj-dd__item { display: flex; align-items: center; gap: 9px; padding: 9px 12px; border-radius: 8px; font: 700 12.5px/1 var(--tj-font); letter-spacing: .04em; color: var(--tj-ink); text-decoration: none; white-space: nowrap; transition: background .15s, color .15s; }
.tj-dd__item:hover, .tj-dd__item:focus-visible { background: var(--tj-green-3); color: var(--tj-green); outline: none; }
/* nyelv + pénznem egymás mellett a felső (kék) sávban */
.ts-slot-cur { display: flex; align-items: center; gap: 10px; }
.tj-langs .tj-dd__btn { color: #fff; background: rgba(255,255,255,.1); }
.tj-langs .tj-dd__btn:hover, .tj-langs .tj-dd[open] > .tj-dd__btn { background: rgba(255,255,255,.2); }
/* pénznem: sötétzöld felső sávban */
.tj-cur .tj-dd__btn { color: #fff; background: rgba(255,255,255,.1); }
.tj-cur .tj-dd__btn:hover, .tj-cur .tj-dd[open] > .tj-dd__btn { background: rgba(255,255,255,.2); }
.tj-cur .tj-dd__btn .tj-dd__code { color: #fff; }

/* ---------- Fejléc (két soros) ---------- */
.ts-header { position: relative; z-index: 1200; background: #fff; box-shadow: 0 1px 0 var(--tj-line); }
.ts-topbar { background: var(--tj-green); color: #fff; font: 500 13px/1.3 var(--tj-font); }
.ts-topbar__in, .ts-navbar__in { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ts-topbar__in { min-height: 42px; }
.ts-topbar__info { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 22px; margin: 0; padding: 0; list-style: none; }
.ts-topbar__item { display: inline-flex; align-items: center; gap: 7px; color: rgba(255,255,255,.92); text-decoration: none; }
.ts-topbar__item:hover { color: #fff; }
.ts-topbar__item svg { width: 15px; height: 15px; color: #e3eef7; }
.ts-topbar__brand { font-weight: 700; color: #fff; }
.ts-navbar__in { min-height: 76px; }
.ts-logo { display: inline-flex; flex-direction: column; line-height: 1; text-decoration: none; color: var(--tj-green); flex: none; }
.ts-logo__name { font: 700 26px/1 var(--tj-font-head); letter-spacing: -.01em; color: var(--tj-green); }
.ts-logo__tag { margin-top: 5px; font: 600 10.5px/1 var(--tj-font); letter-spacing: .24em; text-transform: uppercase; color: var(--tj-gold-2); }
.ts-nav { display: flex; align-items: center; gap: 4px; margin: 0 auto; padding: 0; }
.ts-nav__link { position: relative; padding: 12px 16px; font: 600 15.5px/1 var(--tj-font); color: var(--tj-ink); text-decoration: none; border-radius: 10px; transition: color .2s, background .2s; }
.ts-nav__link:hover { color: var(--tj-green); background: var(--tj-green-3); }
.ts-nav__link.is-active { color: var(--tj-green); }
.ts-nav__link.is-active::after { content: ''; position: absolute; left: 16px; right: 16px; bottom: 4px; height: 2px; background: var(--tj-gold); border-radius: 2px; }
.ts-navbar__right { display: flex; align-items: center; gap: 18px; flex: none; }
.ts-fb { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #1877f2; color: #fff; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.ts-fb:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(24,119,242,.35); color: #fff; }
.ts-fb svg { width: 20px; height: 20px; }
.tj-burger { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--tj-line); border-radius: 12px; background: #fff; color: var(--tj-green); cursor: pointer; }
.tj-burger svg { width: 22px; height: 22px; }
/* Nyitott mobil menü: a hamburger ikon helyén X (bezárás) */
.ts-header.tj-nav-open .tj-burger { position: relative; }
.ts-header.tj-nav-open .tj-burger .ts-ico { display: none; }
.ts-header.tj-nav-open .tj-burger::before, .ts-header.tj-nav-open .tj-burger::after { content: ''; position: absolute; left: 50%; top: 50%; width: 20px; height: 2px; margin: -1px 0 0 -10px; border-radius: 2px; background: currentColor; }
.ts-header.tj-nav-open .tj-burger::before { transform: rotate(45deg); }
.ts-header.tj-nav-open .tj-burger::after { transform: rotate(-45deg); }
/* főmenü: vezérlőpult menüpont és kilépés ikon (csak belépett vezérlőpult-felhasználóknak) */
.ts-nav__link--dash { color: var(--tj-green); background: var(--tj-green-3); }
.ts-nav a.ts-nav__logout { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-left: 4px; padding: 0; color: var(--tj-red); border: 1.5px solid var(--tj-line); border-radius: 10px; }
.ts-nav a.ts-nav__logout:hover { color: var(--tj-red); background: #fbeceb; border-color: var(--tj-red); }
.ts-nav__logout .tj-ico { width: 20px; height: 20px; }
.ts-nav__lbl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 1100px) {
  .ts-navbar__in { min-height: 68px; position: relative; flex-wrap: wrap; }
  .tj-burger { display: inline-flex; order: 3; }
  .ts-navbar__right { margin-left: auto; order: 2; }
  .ts-nav { display: none; order: 4; flex-basis: 100%; flex-direction: column; align-items: stretch; margin: 0; padding: 8px 0 16px; border-top: 1px solid var(--tj-line); }
  .ts-header.tj-nav-open .ts-nav { display: flex; }
  .ts-nav__link { padding: 14px 8px; font-size: 17px; }
  .ts-nav__link.is-active::after { left: 8px; right: auto; width: 28px; bottom: 6px; }
  .ts-nav a.ts-nav__logout { width: auto; height: auto; justify-content: flex-start; gap: 10px; margin-left: 0; padding: 14px 8px; border: 0; border-radius: 10px; }
  .ts-nav__lbl { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; }
}
@media (max-width: 767px) {
  .ts-topbar__in { padding: 8px 16px; flex-direction: column; align-items: flex-start; gap: 8px; }
  .ts-topbar__info { gap: 4px 16px; }
  .ts-topbar__brand { flex-basis: 100%; }
  .ts-navbar__in { padding: 0 16px; }
  .ts-logo__name { font-size: 22px; }
  .ts-navbar__right { gap: 10px; }
  .ts-fb { width: 36px; height: 36px; }
}
@media (max-width: 520px) {
  .ts-logo__tag { display: none; }
  .ts-navbar__right .ts-fb { display: none; }
}
.ts-footer { background: var(--tj-ink); color: rgba(255,255,255,.78); }
.ts-footer a { color: rgba(255,255,255,.86); text-decoration: none; }
.ts-footer a:hover { color: #fff; text-decoration: underline; }
.ts-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }

/* ---------- Keresősáv ---------- */
.tj-search { font-family: var(--tj-font); }
.tj-search__grid { display: grid; gap: 16px; }
.tj-f { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.tj-f__l { font: 700 11.5px/1 var(--tj-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tj-muted); }
.tj-search select, .tj-search input[type=number] { width: 100%; height: 50px; padding: 0 14px; border: 1.5px solid var(--tj-line); border-radius: 12px; background: #fff; color: var(--tj-ink); font: 500 15px/1 var(--tj-font); appearance: none; -webkit-appearance: none; }
.tj-search select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232d5785' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.tj-search select:focus, .tj-search input:focus { outline: none; border-color: var(--tj-green); box-shadow: 0 0 0 3px rgba(45,87,133,.15); }
.tj-f__pair { display: grid; grid-template-columns: minmax(0,1fr) 14px minmax(0,1fr); align-items: center; gap: 6px; }
.tj-f__dash { text-align: center; color: var(--tj-muted); }
.tj-search input[type=number]::-webkit-outer-spin-button, .tj-search input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tj-search input[type=number] { -moz-appearance: textfield; }
.tj-search__actions .tj-btn { width: 100%; height: 50px; }
.tj-search--hero { background: rgba(255,255,255,.97); border-radius: 22px; padding: 26px; box-shadow: 0 24px 60px rgba(8,22,20,.35); text-align: left; }
.tj-search--hero .tj-search__grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.tj-search--hero .tj-search__actions { align-self: end; grid-column: span 2; }
.tj-search--bar { background: #fff; border: 1px solid var(--tj-line); border-radius: 18px; padding: 20px; box-shadow: var(--tj-shadow); }
.tj-search--bar .tj-search__grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); align-items: end; }
/* Sávos kereső (Eladó / Kiadó / Ingatlanok): kiemelt, márkaszínű háttér */
.tj-search--bar { background: #5a809e; border-color: #5a809e; }
.tj-search--bar .tj-f__l { color: #fff; }
.tj-search--bar .tj-f__dash { color: #fff; }
.tj-search--bar .tj-search__actions .tj-btn { background: #d6342f; border-color: #d6342f; color: #fff; }
.tj-search--bar .tj-search__actions .tj-btn:hover { background: #b92a26; border-color: #b92a26; color: #fff; }
.tj-search--bar select:focus, .tj-search--bar input:focus { border-color: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.35); }
.tj-search--bar .tj-btn:focus-visible { outline-color: #fff; }
@media (max-width: 1023px) { .tj-search--hero .tj-search__grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 600px) { .tj-search--hero { padding: 18px; border-radius: 18px; } .tj-search--hero .tj-search__grid { grid-template-columns: minmax(0,1fr); } .tj-search--hero .tj-search__actions { grid-column: auto; } }

/* ---------- Lista, eszköztár ---------- */
.tj-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 28px 0 20px; }
.tj-toolbar__count { margin: 0; font-size: 16px; color: var(--tj-ink); }
.tj-toolbar__right { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.tj-sort { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--tj-muted); }
.tj-sort select { height: 42px; padding: 0 12px; border: 1.5px solid var(--tj-line); border-radius: 10px; background: #fff; font: 500 14px var(--tj-font); color: var(--tj-ink); }
.tj-viewtoggle { display: inline-flex; padding: 3px; border: 1.5px solid var(--tj-line); border-radius: 12px; background: #fff; }
.tj-viewtoggle__btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 36px; border: 0; border-radius: 9px; background: transparent; color: var(--tj-muted); cursor: pointer; }
.tj-viewtoggle__btn.is-active { background: var(--tj-green); color: #fff; }
.tj-listing__filters + .tj-cards { margin-top: 24px; }
.tj-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 310px), 1fr)); gap: 26px; }
.tj-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--tj-line); border-radius: var(--tj-radius); overflow: hidden; transition: transform .25s, box-shadow .25s, border-color .25s; }
.tj-card:hover { transform: translateY(-3px); box-shadow: var(--tj-shadow); border-color: transparent; }
.tj-card__media { position: relative; display: block; flex: none; aspect-ratio: 4 / 3; overflow: hidden; background: var(--tj-sand); }
.tj-card__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.tj-card:hover .tj-card__img { transform: scale(1.05); }
.tj-card__noimg { display: block; width: 100%; height: 100%; min-height: 80px; background: linear-gradient(135deg, var(--tj-sand), #e1e9f0); }
.tj-card__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 20px; }
.tj-card__meta { margin: 0 0 6px; font: 700 11.5px/1.3 var(--tj-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tj-gold-2); }
.tj-card__title { margin: 0 0 8px; font: 600 20px/1.25 var(--tj-font-head); letter-spacing: -.005em; }
.tj-card__title a { color: var(--tj-ink); text-decoration: none; }
.tj-card__title a:hover { color: var(--tj-green); }
.tj-card__addr { display: flex; align-items: center; gap: 6px; margin: 0 0 14px; font-size: 14px; color: var(--tj-muted); }
.tj-card__addr .tj-ico { width: 16px; height: 16px; color: var(--tj-green-2); }
.tj-card__specs { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 18px; padding: 14px 0 0; list-style: none; border-top: 1px dashed var(--tj-line); font-size: 14px; color: var(--tj-text); }
.tj-card__specs li { display: inline-flex; align-items: center; gap: 6px; }
.tj-card__specs .tj-ico { width: 17px; height: 17px; color: var(--tj-green-2); }
.tj-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.tj-price { font: 700 21px/1.1 var(--tj-font-head); color: var(--tj-green); letter-spacing: -.01em; }
.tj-price small { margin-left: 3px; font: 600 13px var(--tj-font); color: var(--tj-muted); }
/* árcsökkenés: a régi ár áthúzva, alatta (adatlapon mellette) az új, csökkentett ár */
.tj-price--cut { display: inline-grid; grid-template-columns: auto auto; align-items: center; justify-items: start; column-gap: 10px; row-gap: 3px; }
.tj-price__old { grid-column: 1 / -1; font: 600 17px/1 var(--tj-font); color: var(--tj-muted); text-decoration: line-through; text-decoration-thickness: 2px; }
.tj-price__now { color: #c2410c; }
.tj-price__pct { padding: 4px 9px; border-radius: 999px; background: #e8590c; color: #fff; font: 700 12px/1 var(--tj-font); font-style: normal; letter-spacing: .03em; }
.tj-single__priceBox .tj-price--cut { display: inline-flex; flex-direction: row; align-items: center; gap: 12px; }
.tj-single__priceBox .tj-price__old { font-size: .8em; }
.tj-card__more { display: inline-flex; align-items: center; gap: 4px; font: 700 14px/1 var(--tj-font); color: var(--tj-green); text-decoration: none; }
.tj-card__more .tj-ico { width: 16px; height: 16px; transition: transform .2s; }
.tj-card__more:hover .tj-ico { transform: translateX(3px); }
.tj-view-list .tj-cards { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.tj-view-list .tj-card { flex-direction: row; }
.tj-view-list .tj-card__media { width: 360px; aspect-ratio: auto; min-height: 250px; align-self: stretch; }
.tj-view-list .tj-card__img { position: absolute; inset: 0; }
.tj-view-list .tj-card__body { padding: 24px 28px; justify-content: center; }
.tj-view-list .tj-card__title { font-size: 24px; }
@media (max-width: 800px) { .tj-view-list .tj-card { flex-direction: column; } .tj-view-list .tj-card__media { width: 100%; aspect-ratio: 4 / 3; min-height: 0; } .tj-view-list .tj-card__body { padding: 20px 22px; } }
.tj-pager ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 36px 0 0; padding: 0; list-style: none; }
.tj-pager__a { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1.5px solid var(--tj-line); border-radius: 10px; background: #fff; color: var(--tj-ink); font: 600 15px var(--tj-font); text-decoration: none; }
.tj-pager__a:hover { border-color: var(--tj-green); color: var(--tj-green); }
.tj-pager__a.is-current { background: var(--tj-green); border-color: var(--tj-green); color: #fff; }

/* ---------- Ingatlan adatlap ---------- */
.tj-single { max-width: 1280px; margin: 0 auto; padding: 28px 24px 80px; }
.tj-single__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-top: 22px; }
.tj-single__headmain { flex: 1 1 0; min-width: 0; }
.tj-single__title { margin: 0 0 6px; font: 600 clamp(18px, 2.1vw, 26px)/1.25 var(--tj-font-head); letter-spacing: -.01em; color: var(--tj-ink); }
.tj-single__addr { display: flex; align-items: center; gap: 9px; margin: 0; font-size: 20px; font-weight: 400; line-height: 1.3; color: var(--tj-text); }
.tj-single__addr .tj-ico { width: 20px; height: 20px; color: var(--tj-green-2); }
.tj-single__priceBox { flex: none; text-align: right; }
.tj-single__priceBox .tj-price { font-size: clamp(18px, 2.1vw, 26px); line-height: 1.25; white-space: nowrap; }
.tj-single__huf { display: block; margin-top: 4px; font-size: 13px; color: var(--tj-muted); }
.tj-single__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 44px; align-items: start; margin-top: 26px; }
.tj-single__main > .tj-keyfacts:first-child { margin-top: 0; }
@media (min-width: 1024px) { .tj-single__gallery .tj-gallery__stage, .tj-single__gallery .tj-gallery--empty { aspect-ratio: 2 / 1; } }
@media (max-width: 1023px) { .tj-single__grid { grid-template-columns: minmax(0, 1fr); } .tj-single__side { position: static; } }
.tj-keyfacts { display: flex; flex-wrap: wrap; gap: 14px; margin: 26px 0 0; padding: 0; list-style: none; }
.tj-keyfacts__item { display: flex; align-items: center; gap: 14px; flex: 1 1 170px; min-width: 0; padding: 16px 18px; border: 1px solid var(--tj-line); border-radius: var(--tj-radius); background: #fff; }
.tj-keyfacts .tj-ico, .tj-sidefacts .tj-ico { flex: none; width: 44px; height: 44px; stroke-width: 1.5; color: var(--tj-green-2); }
.tj-keyfacts__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tj-keyfacts__txt strong { font: 700 24px/1.1 var(--tj-font-head); color: var(--tj-ink); white-space: nowrap; }
.tj-keyfacts__txt span { font: 600 12.5px/1.2 var(--tj-font); letter-spacing: .05em; text-transform: uppercase; color: var(--tj-muted); }
.tj-block { margin-top: 44px; }
.tj-block__title { margin: 0 0 18px; font: 600 26px/1.2 var(--tj-font-head); color: var(--tj-ink); }
.tj-block__sub { margin: 28px 0 12px; font: 700 14px/1 var(--tj-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tj-ink); }
.tj-block__sub--first { margin-top: 0; }
.tj-specgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; align-items: start; }
.tj-specgrid .tj-specs { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 767px) { .tj-specgrid { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
.tj-prose { font-size: 17px; line-height: 1.75; color: var(--tj-text); }
.tj-prose p { margin: 0 0 1em; }
.tj-specs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 40px; margin: 0; padding: 0; }
.tj-spec { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--tj-line); }
.tj-spec dt { margin: 0; font-size: 14.5px; color: var(--tj-muted); }
.tj-spec dd { margin: 0; font: 600 15.5px/1.3 var(--tj-font); color: var(--tj-ink); text-align: right; }
.tj-energy { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; }
.tj-energy__i { min-width: 52px; padding: 11px 8px; text-align: center; font: 700 13px/1 var(--tj-font); color: #fff; background: var(--c); border-radius: 6px; opacity: .55; }
.tj-energy__i.is-active { opacity: 1; transform: translateY(-4px) scale(1.12); box-shadow: 0 8px 18px rgba(22,33,31,.25); outline: 2px solid #fff; outline-offset: -3px; }
.tj-embed { position: relative; overflow: hidden; border-radius: var(--tj-radius); background: var(--tj-sand); }
.tj-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.tj-embed--video { aspect-ratio: 16 / 9; }
.tj-embed--map { aspect-ratio: 16 / 9; max-width: 100%; }
.tj-tabs { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 14px; background: var(--tj-sand); border-radius: 12px; }
.tj-tabs__btn { padding: 10px 18px; border: 0; border-radius: 9px; background: transparent; font: 600 14.5px var(--tj-font); color: var(--tj-muted); cursor: pointer; }
.tj-tabs__btn.is-active { background: #fff; color: var(--tj-green); box-shadow: 0 1px 4px rgba(22,33,31,.12); }
.tj-tabpane { display: none; }
.tj-tabpane.is-active { display: block; }
.tj-maps__link { margin: 16px 0 0; }
.tj-maps__note { display: flex; align-items: center; gap: 8px; margin: -6px 0 16px; font-size: 15px; line-height: 1.4; color: var(--tj-muted); }
.tj-maps__note .tj-ico { width: 18px; height: 18px; color: var(--tj-green-2); }
.tj-similar .tj-cards { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }

/* ---------- Galéria ---------- */
.tj-gallery__stage { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 20px; background: var(--tj-sand); }
.tj-gallery__slides, .tj-gallery__slide { position: absolute; inset: 0; margin: 0; }
.tj-gallery__slide { opacity: 0; transition: opacity .45s ease; cursor: zoom-in; }
.tj-gallery__slide.is-active { opacity: 1; z-index: 1; }
.tj-gallery__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tj-gallery__nav { position: absolute; top: 50%; z-index: 3; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--tj-green); cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,.2); transition: background .2s, transform .2s; }
.tj-gallery__nav:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.tj-gallery__prev { left: 16px; }
.tj-gallery__next { right: 16px; }
.tj-gallery__count { position: absolute; right: 16px; bottom: 16px; z-index: 3; padding: 7px 12px; border-radius: 999px; background: rgba(15,30,28,.72); color: #fff; font: 600 13px var(--tj-font); }
.tj-gallery__thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.tj-gallery__thumb { flex: none; width: 104px; height: 74px; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; background: var(--tj-sand); opacity: .65; cursor: pointer; transition: opacity .2s, border-color .2s; }
.tj-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tj-gallery__thumb:hover { opacity: 1; }
.tj-gallery__thumb.is-active { opacity: 1; border-color: var(--tj-gold); }
.tj-gallery--empty { aspect-ratio: 16 / 10; border-radius: 20px; overflow: hidden; }
@media (max-width: 600px) { .tj-gallery__stage { aspect-ratio: 4 / 3; border-radius: 14px; } .tj-gallery__nav { width: 40px; height: 40px; } .tj-gallery__thumb { width: 84px; height: 60px; } }
.tj-lb { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: rgba(8,14,12,.95); }
.tj-lb__img { max-width: 92vw; max-height: 86vh; border-radius: 6px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.tj-lb__btn { position: absolute; display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; cursor: pointer; }
.tj-lb__btn:hover { background: rgba(255,255,255,.28); }
.tj-lb__btn .tj-ico { width: 26px; height: 26px; }
.tj-lb__close { top: 20px; right: 20px; }
.tj-lb__prev { left: 20px; top: 50%; transform: translateY(-50%); }
.tj-lb__next { right: 20px; top: 50%; transform: translateY(-50%); }
.tj-lb__count { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.8); font: 600 14px var(--tj-font); }

/* ---------- Ügynök + űrlap ---------- */
.tj-agent { --tj-agent-ph: 190px; display: grid; gap: 20px; }
/* a fotó fele a kártya fölé lóg; az oldalsáv ennyivel lejjebb indul, így a fotó teteje az ikonos sorral egy vonalban van */
.tj-agent--photo { margin-top: calc(var(--tj-agent-ph) / 2); }
.tj-agent__card { text-align: center; background: #fff; border: 1px solid var(--tj-line); border-radius: 20px; box-shadow: var(--tj-shadow); }
.tj-agent__photo { display: block; box-sizing: border-box; width: var(--tj-agent-ph); height: var(--tj-agent-ph); margin: calc(var(--tj-agent-ph) / -2) auto 0; border: 4px solid #fff; border-radius: 20px; box-shadow: var(--tj-shadow); object-fit: cover; object-position: center 22%; }
.tj-agent__name { margin: 20px 24px 2px; font: 600 24px/1.2 var(--tj-font-head); color: var(--tj-ink); }
.tj-agent__role { margin: 0 24px 14px; font: 700 12px/1 var(--tj-font); letter-spacing: .1em; text-transform: uppercase; color: var(--tj-gold-2); }
.tj-agent__contact { margin: 0 24px 16px; padding: 0; list-style: none; display: grid; justify-items: center; gap: 8px; }
.tj-agent__contact a { display: inline-flex; align-items: center; gap: 10px; color: var(--tj-green); font: 600 15.5px var(--tj-font); text-decoration: none; word-break: break-all; }
.tj-agent__contact a:hover { color: var(--tj-gold-2); }
.tj-agent__contact .tj-ico { width: 18px; height: 18px; color: var(--tj-gold-2); }
.tj-agent__company { display: grid; gap: 3px; margin: 0; padding: 16px 24px 22px; border-top: 1px dashed var(--tj-line); font: normal 13.5px/1.45 var(--tj-font); color: var(--tj-muted); }
.tj-agent__company strong { color: var(--tj-ink); font-weight: 700; }
.tj-form { background: #fff; border: 1px solid var(--tj-line); border-radius: 20px; padding: 24px; box-shadow: var(--tj-shadow); display: grid; gap: 14px; }
.tj-form__title { margin: 0 0 4px; font: 600 21px/1.25 var(--tj-font-head); color: var(--tj-ink); }
.tj-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.tj-field > span { font: 600 13px/1.2 var(--tj-font); color: var(--tj-muted); }
.tj-field input[type=text], .tj-field input[type=email], .tj-field input[type=tel], .tj-field input[type=number], .tj-field input[type=url], .tj-field input[type=search], .tj-field input[type=date], .tj-field select, .tj-field textarea { width: 100%; padding: 13px 14px; border: 1.5px solid var(--tj-line); border-radius: 12px; background: #fff; color: var(--tj-ink); font: 500 15.5px/1.4 var(--tj-font); box-sizing: border-box; }
.tj-field textarea { resize: vertical; min-height: 110px; }
.tj-field input:focus, .tj-field select:focus, .tj-field textarea:focus { outline: none; border-color: var(--tj-green); box-shadow: 0 0 0 3px rgba(45,87,133,.15); }
.tj-form__note { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--tj-muted); }
.tj-contactform .tj-form { max-width: 640px; }

/* ---------- Vezérlőpult ---------- */
.tj-dash { max-width: 1280px; margin: 0 auto; padding: 36px 24px 80px; }
.tj-dash h1 { margin: 0; font: 600 34px/1.15 var(--tj-font-head); color: var(--tj-ink); }
.tj-dash h2 { margin: 0 0 22px; font: 600 24px/1.2 var(--tj-font-head); color: var(--tj-ink); }
.tj-dash__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.tj-dash__head p { margin: 0; padding-top: 20px; color: var(--tj-muted); font-size: 22px; font-weight: 600; }
.tj-dash__headlinks .tj-ico { width: 18px; height: 18px; }
.tj-dash__headlinks { display: flex; gap: 10px; flex-wrap: wrap; }
.tj-dash__tabs { display: flex; gap: 6px; flex-wrap: wrap; padding: 5px; margin-bottom: 26px; background: var(--tj-sand); border-radius: 14px; }
.tj-dash__tabs a { padding: 12px 20px; border-radius: 10px; font: 600 15px var(--tj-font); color: var(--tj-muted); text-decoration: none; }
.tj-dash__tabs a:hover { color: var(--tj-green); }
.tj-dash__tabs a.is-active { background: #fff; color: var(--tj-green); box-shadow: 0 1px 4px rgba(22,33,31,.12); }
.tj-dash__body { background: #fff; border: 1px solid var(--tj-line); border-radius: 20px; padding: 28px; }
.tj-dash__bar { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 20px; }
.tj-dash__search { display: flex; gap: 8px; }
.tj-dash__search input { height: 48px; padding: 0 14px; min-width: 240px; border: 1.5px solid var(--tj-line); border-radius: 12px; font: 500 15px var(--tj-font); }
.tj-tablewrap { overflow-x: auto; }
.tj-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.tj-table th { padding: 12px 14px; text-align: left; font: 700 11.5px/1 var(--tj-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tj-muted); border-bottom: 2px solid var(--tj-line); white-space: nowrap; }
.tj-table td { padding: 14px; border-bottom: 1px solid var(--tj-line); vertical-align: middle; }
.tj-table__img img, .tj-table__img .tj-card__noimg { display: block; width: 76px; height: 56px; object-fit: cover; border-radius: 8px; }
.tj-table__act { white-space: nowrap; }
.tj-table__act a, .tj-msg__del { display: inline-block; margin-right: 12px; font-weight: 600; color: var(--tj-green); text-decoration: none; }
.tj-table__act a:hover { text-decoration: underline; }
.tj-table__act a.is-danger, .tj-msg__del { color: var(--tj-red); }
/* vezérlőpult: lista szűrő (keresés + település/típus/ügylet/állapot + rendezés) */
.tj-dash__filters { display: grid; grid-template-columns: 245px 195px repeat(3, minmax(120px, 1fr)) minmax(175px, 1.4fr) auto; gap: 10px; align-items: end; flex: 1 1 100%; min-width: 0; }
.tj-dash__filters input, .tj-dash__filters select { width: 100%; min-width: 0; height: 48px; padding: 0 12px; border: 1.5px solid var(--tj-line); border-radius: 12px; background: #fff; color: var(--tj-ink); font: 500 15px var(--tj-font); }
.tj-dash__filters input:focus, .tj-dash__filters select:focus { outline: 2px solid var(--tj-gold); outline-offset: 1px; }
.tj-dash__reset { color: var(--tj-green); font: 600 14px var(--tj-font); white-space: nowrap; text-decoration: underline; }
.tj-dash__count { margin: -6px 0 14px; color: var(--tj-muted); font: 600 14px var(--tj-font); }
.tj-th { color: inherit; text-decoration: none; }
.tj-th:hover, .tj-th.is-sorted { color: var(--tj-green); }
.tj-th__ar { margin-left: 3px; font-size: 11px; color: var(--tj-muted); opacity: .55; }
.tj-th.is-sorted .tj-th__ar { color: var(--tj-green); opacity: 1; }
.tj-th:hover .tj-th__ar { opacity: 1; }
@media (max-width: 1320px) { .tj-dash__filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } .tj-dash__f--search { grid-column: 1 / -1; } }
@media (max-width: 600px) { .tj-dash__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tj-dash__bar > .tj-btn { width: 100%; } }
.tj-state { display: inline-block; padding: 5px 10px; border-radius: 999px; font: 700 12px/1 var(--tj-font); }
.tj-state--publish { background: #e4f3e8; color: #17532b; }
.tj-state--draft, .tj-state--pending, .tj-state--private { background: #e9eef3; color: #4f6477; }
@media (max-width: 960px) {
  .tj-table thead { display: none; }
  .tj-table, .tj-table tbody, .tj-table tr, .tj-table td { display: block; width: 100%; }
  .tj-table tr { margin-bottom: 16px; border: 1px solid var(--tj-line); border-radius: 14px; padding: 6px 4px; }
  .tj-table td { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 12px; border: 0; text-align: right; }
  .tj-table td::before { content: attr(data-l); font: 700 11px/1 var(--tj-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tj-muted); text-align: left; }
  .tj-table__act { flex-wrap: wrap; justify-content: flex-start; white-space: normal; }
  .tj-table__act::before { flex-basis: 100%; }
  .tj-dash__body { padding: 18px; }
}
.tj-dform { display: grid; gap: 22px; }
.tj-dform__sec { margin: 0; padding: 22px; border: 1px solid var(--tj-line); border-radius: 16px; background: var(--tj-cream); }
.tj-dform__sec legend { padding: 0 8px; font: 700 15px var(--tj-font); color: var(--tj-green); }
.tj-dform__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tj-dform__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tj-dform__grid + .tj-dform__grid { margin-top: 16px; }
/* vezérlőpult: tulajdonos adatai (belső, nem nyilvános) */
.tj-dform__sec--private { border-color: #e3c06b; background: #fffaf0; }
.tj-dform__sec--private legend { color: #8a5a00; }
.tj-dform__note { margin: 0 0 14px; color: var(--tj-muted); font: 500 13px var(--tj-font); }
.tj-dform__links { grid-column: 1 / -1; display: flex; gap: 10px; flex-wrap: wrap; }
.tj-field--wide { grid-column: 1 / -1; }
.tj-field--wide label { display: flex; flex-direction: column; gap: 6px; }
.tj-field--wide label > span { font: 600 13px/1.2 var(--tj-font); color: var(--tj-muted); }
.tj-field--wide input { width: 100%; padding: 13px 14px; border: 1.5px solid var(--tj-line); border-radius: 12px; font: 500 15.5px var(--tj-font); box-sizing: border-box; }
.tj-seg { display: inline-flex; padding: 4px; background: #fff; border: 1.5px solid var(--tj-line); border-radius: 12px; }
.tj-seg label { position: relative; }
.tj-seg input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.tj-seg span { display: block; padding: 9px 22px; border-radius: 8px; font: 600 14.5px var(--tj-font); color: var(--tj-muted); }
.tj-seg input:checked + span { background: var(--tj-green); color: #fff; }
.tj-seg input:focus-visible + span { outline: 3px solid var(--tj-gold); }
.tj-checks { display: flex; flex-wrap: wrap; gap: 8px 26px; align-items: center; padding-top: 4px; }
.tj-check { display: inline-flex; align-items: center; gap: 10px; font: 500 15px var(--tj-font); color: var(--tj-ink); cursor: pointer; }
.tj-check input { width: 20px; height: 20px; accent-color: var(--tj-green); }
.tj-hint { margin: 0 0 14px; font-size: 14px; line-height: 1.5; color: var(--tj-muted); }
.tj-details > summary { cursor: pointer; font: 700 15px var(--tj-font); color: var(--tj-green); }
.tj-details[open] > summary { margin-bottom: 16px; }
.tj-dform__actions { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 960px) { .tj-dform__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .tj-dform__grid, .tj-dform__grid--4 { grid-template-columns: minmax(0, 1fr); } .tj-dform__sec { padding: 16px; } .tj-dash { padding: 24px 16px 60px; } }
.tj-login { max-width: 440px; margin: 40px auto; padding: 36px; background: #fff; border: 1px solid var(--tj-line); border-radius: 20px; box-shadow: var(--tj-shadow); }
.tj-login h1 { font-size: 30px; }
.tj-login p { color: var(--tj-muted); }
.tj-login form { display: grid; gap: 14px; }
.tj-login label { display: grid; gap: 6px; font: 600 13px var(--tj-font); color: var(--tj-muted); }
.tj-login input[type=text], .tj-login input[type=password] { width: 100%; padding: 13px 14px; border: 1.5px solid var(--tj-line); border-radius: 12px; font: 500 15.5px var(--tj-font); box-sizing: border-box; }
.tj-login input[type=submit] { min-height: 48px; border: 0; border-radius: 12px; background: var(--tj-green); color: #fff; font: 700 15px var(--tj-font); cursor: pointer; }
.tj-login .login-remember label { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.tj-msgs { display: grid; gap: 14px; }
.tj-msg { position: relative; padding: 18px 20px; border: 1px solid var(--tj-line); border-radius: 14px; background: var(--tj-cream); }
.tj-msg header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.tj-msg time { font-size: 13px; color: var(--tj-muted); }
.tj-msg__meta { margin: 0 0 10px; font-size: 14px; color: var(--tj-muted); }
/* üzenetek: olvasatlan jelzés (piros szám a fülön, „Új” címke és piros szegély az üzeneten) */
.tj-dash__tabs .tj-badge { display: inline-block; min-width: 20px; margin-left: 6px; padding: 1px 6px; border-radius: 999px; background: var(--tj-red); color: #fff; font: 700 12px/18px var(--tj-font); text-align: center; vertical-align: 1px; }
.tj-msg--new { background: #fff; border-color: var(--tj-red); box-shadow: inset 4px 0 0 var(--tj-red); }
.tj-msg__new { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 999px; background: var(--tj-red); color: #fff; font: 700 11px/18px var(--tj-font); letter-spacing: .03em; text-transform: uppercase; vertical-align: 2px; }
.tj-msg__act { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; }
.tj-msg__act a { margin: 0; font-weight: 600; text-decoration: none; }
.tj-msg__read { color: var(--tj-green); }
.tj-msgs__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 14px; font: 600 15px var(--tj-font); color: var(--tj-ink); }
.tj-msg__body p { margin: 0 0 .6em; }

/* ---------- Képválasztó (galéria / ügynök fotó) ---------- */
.tj-mp { margin-top: 6px; }
.tj-mp__list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 12px; padding: 0; list-style: none; }
.tj-mp__item { position: relative; width: 112px; height: 84px; border-radius: 10px; overflow: hidden; background: #dfe7ee; cursor: grab; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.tj-mp__item img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.tj-mp__rm { position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: rgba(15,30,28,.8); color: #fff; font-size: 16px; line-height: 24px; cursor: pointer; }
.tj-mp__rm:hover { background: var(--tj-red); }
.tj-mp__cover { position: absolute; left: 4px; bottom: 4px; padding: 3px 7px; border-radius: 999px; background: var(--tj-gold); color: #fff; font: 700 10px/1 sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.tj-mp__item.ui-sortable-helper { cursor: grabbing; box-shadow: 0 8px 20px rgba(0,0,0,.3); }
.tj-mp__ph { width: 112px; height: 84px; border: 2px dashed #b7c7d5; border-radius: 10px; background: rgba(90,128,158,.08); }
.tj-mp__bar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.tj-mp__add, .tj-mp__clear { display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px; border-radius: 10px; font: 600 14.5px sans-serif; cursor: pointer; }
.tj-mp__add { border: 0; background: var(--tj-green); color: #fff; }
.tj-mp__clear { border: 1.5px solid #dbe3ea; background: #fff; color: var(--tj-red); }
.tj-mp__count { font-size: 13.5px; color: #5f6d69; }

/* ---------- Oldal-szekciók közös elemei ---------- */
.tj-section-wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; }

/* ---------- SVG ikonok a Breakdance elemeiben (a svg egy szülő div-be kerül) ---------- */
.ts-ico { display: inline-flex; flex: none; width: 1em; height: 1em; }
.ts-topbar__item .ts-ico { width: 15px; height: 15px; color: #e3eef7; }
.ts-fb .ts-ico { width: 20px; height: 20px; color: #fff; }
.tj-burger .ts-ico { width: 22px; height: 22px; }
.ts-footer .ts-fb { margin-top: 18px; }
.tj-embed--company { aspect-ratio: 16 / 10; max-width: 100%; }

/* biztonsági: a lista nézet képe ne tudja megnyújtani a kártyát mobilon */
@media (max-width: 800px) { .tj-view-list .tj-card__img { position: static; } }
html, body { overflow-x: clip; }

/* bejelentkező kártya finomítás */
.tj-login h1 { margin: 0 0 8px; }
.tj-login > p { margin: 0 0 22px; line-height: 1.5; }
.tj-login form { margin: 0; }
.tj-login form p { margin: 0; display: grid; gap: 6px; }
.tj-login input[type=submit] { width: 100%; padding: 0 24px; }
.tj-login .login-remember { margin: 2px 0; }
/* vezérlőpult belépő: a főoldal hero képe a belépő doboz mögött (csak kilépett állapotban jelenik meg) */
.tj-dash--login { max-width: none; width: 100%; box-sizing: border-box; min-height: 560px; padding: 80px 24px; display: flex; align-items: center; justify-content: center; background-color: #0e2a26; background-image: linear-gradient(180deg, rgba(57, 86, 72, 0.25) 0%, rgba(89, 97, 104, 0.46) 32%, rgba(9, 28, 25, 0.74) 100%), url(/wp-content/uploads/2026/10/ingatlan-foto-56.jpg); background-size: auto, cover; background-position: 0 0, 50% 50%; background-repeat: repeat, no-repeat; }
.tj-dash--login .tj-login { width: 100%; margin: 0; }
@media (max-width: 640px) { .tj-dash--login { min-height: 0; padding: 48px 16px; } .tj-login { padding: 26px 22px; } }

/* vezérlőpult: táblázat és jelölőnégyzetek */
.tj-table td, .tj-table th { padding-left: 10px; padding-right: 10px; }
.tj-table td[data-l="Ár"], .tj-table td[data-l="ID"], .tj-table td[data-l="Meghirdetve"] { white-space: nowrap; }
.tj-table td[data-l="Műveletek"] { white-space: nowrap; min-width: 212px; }
.tj-table__act a { margin-right: 10px; }
/* vezérlőpult: művelet ikongombok (40x40) és törlés-megerősítő ablak */
.tj-table__act a.tj-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0 6px 0 0; border: 1.5px solid var(--tj-line); border-radius: 10px; background: #fff; color: var(--tj-green); text-decoration: none; transition: background .15s, border-color .15s, color .15s; }
.tj-table__act a.tj-iconbtn:last-child { margin-right: 0; }
.tj-table__act a.tj-iconbtn .tj-ico { width: 20px; height: 20px; }
.tj-table__act a.tj-iconbtn:hover { background: var(--tj-green-3); border-color: var(--tj-green); text-decoration: none; }
.tj-table__act a.tj-iconbtn.is-off { background: #fff4e0; border-color: #e3c06b; color: #8a5a00; }
.tj-table__act a.tj-iconbtn.is-danger { color: var(--tj-red); }
.tj-table__act a.tj-iconbtn.is-danger:hover { background: #fbeceb; border-color: var(--tj-red); }
.tj-table__act a.tj-iconbtn:focus-visible { outline: 2px solid var(--tj-gold); outline-offset: 2px; }
.tj-modal { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(8,14,12,.55); }
.tj-modal__box { width: 100%; max-width: 460px; padding: 28px; border-radius: 18px; background: #fff; box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.tj-modal__ico { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 14px; border-radius: 50%; background: #fbeceb; color: var(--tj-red); }
.tj-modal__ico .tj-ico { width: 24px; height: 24px; }
.tj-modal__title { margin: 0 0 8px; font: 700 20px/1.25 var(--tj-font); color: var(--tj-ink); }
.tj-modal__name { margin: 0 0 8px; font: 600 14px/1.4 var(--tj-font); color: var(--tj-muted); }
.tj-modal__text { margin: 0 0 22px; font: 500 15px/1.5 var(--tj-font); color: var(--tj-ink); }
.tj-modal__btns { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.tj-btn--danger { background: var(--tj-red); border-color: var(--tj-red); color: #fff; }
.tj-btn--danger:hover { background: #983425; border-color: #983425; color: #fff; }
@media (max-width: 480px) { .tj-modal__btns .tj-btn { flex: 1 1 100%; } }
.tj-table td[data-l="Megnevezés"] { min-width: 200px; }
.tj-checks { flex-direction: row; }
.tj-field--wide .tj-check { flex-direction: row; align-items: center; }
.tj-field--wide .tj-check > span { font: 500 15px/1.3 var(--tj-font); color: var(--tj-ink); }
@media (max-width: 960px) { .tj-table td[data-l="Műveletek"] { min-width: 0; } .tj-table td[data-l="Megnevezés"] { min-width: 0; } }

/* ügynök kártya: beszélt nyelvek + felhívás */
.tj-agent__langs { margin: -4px 24px 4px; font-size: 14px; line-height: 1.5; color: var(--tj-muted); }
.tj-agent__cta { margin: 0 24px 12px; padding-top: 20px; font: 600 17px/1.3 var(--tj-font-head); color: var(--tj-green); }
.tj-agent__call { display: flex; margin: 0 24px 20px; min-height: 54px; font-size: 18px; font-weight: 700; letter-spacing: .01em; background: var(--tj-gold); color: #fff; box-shadow: 0 6px 16px rgba(90,128,158,.35); }
.tj-agent__call:hover, .tj-agent__call:focus-visible { filter: brightness(.94); color: #fff; transform: translateY(-1px); }
.tj-agent__call .tj-ico { width: 20px; height: 20px; }

/* GDPR hozzájárulás az űrlapokon */
.tj-consent { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font: 400 13.5px/1.5 var(--tj-font); color: var(--tj-muted); }
.tj-consent input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--tj-green); cursor: pointer; }
.tj-consent a { color: var(--tj-green); font-weight: 600; text-decoration: underline; }
.tj-consent a:hover { color: var(--tj-gold-2); }
.tj-consent input:focus-visible { outline: 3px solid var(--tj-gold); outline-offset: 2px; }

/* Adatkezelési tájékoztató oldal */
.tj-legal { max-width: 860px; font: 400 17px/1.75 var(--tj-font); color: var(--tj-text); }
.tj-legal h2 { margin: 36px 0 12px; font: 600 26px/1.25 var(--tj-font-head); color: var(--tj-ink); }
.tj-legal p { margin: 0 0 14px; }
.tj-legal ul { margin: 0 0 14px; padding-left: 22px; list-style: disc; }
.tj-legal li { margin: 0 0 6px; }
.tj-legal__note { margin: 0 0 8px; padding: 12px 16px; border: 1px dashed #b7c7d5; border-radius: 12px; background: var(--tj-sand); font-size: 15px; line-height: 1.5; color: var(--tj-muted); }
.tj-legal__date { margin-top: 28px; font-size: 15px; color: var(--tj-muted); }
.tj-legal__dl { display: grid; grid-template-columns: minmax(130px, 220px) minmax(0, 1fr); gap: 0 28px; margin: 0 0 8px; padding: 0; border-top: 1px solid var(--tj-line); }
.tj-legal__dl dt, .tj-legal__dl dd { margin: 0; padding: 13px 0; border-bottom: 1px solid var(--tj-line); }
.tj-legal__dl dt { font-weight: 700; font-size: 14.5px; letter-spacing: .02em; color: var(--tj-muted); }
.tj-legal__dl dd { font-weight: 600; color: var(--tj-ink); overflow-wrap: anywhere; }
.tj-legal a { color: var(--tj-green); text-decoration: none; }
.tj-legal a:hover { color: var(--tj-gold-2); text-decoration: underline; }

/* mobil alsó sáv az ingatlan adatlapon (Üzenet / Felhívom); csak mobilon látszik */
.tj-mobbar { display: none; }

/* mobil: a beágyazott térképek ne lógjanak ki (min-height + aspect-ratio a szélességet is megnyújtotta) */
@media (max-width: 767px) {
  .tj-single { padding: 20px 12px 96px; }
  #tj-enquiry { scroll-margin-top: 16px; }
  .tj-mobbar { display: flex; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 800; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid var(--tj-line); box-shadow: 0 -6px 18px rgba(22,33,31,.12); }
  .tj-mobbar .tj-btn { flex: 1 1 0; min-width: 0; }
  .tj-mobbar__map { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1.5px solid var(--tj-line); border-radius: 12px; background: #fff; color: var(--tj-green); }
  .tj-mobbar__map .tj-ico { width: 24px; height: 24px; }
  .tj-mobbar__map:active { background: var(--tj-green-3); }
  #tj-map { scroll-margin-top: 16px; }
  html:has(.tj-single) { scroll-behavior: smooth; }
  .tj-agent { --tj-agent-ph: 150px; }
  .tj-single__head { flex-direction: column; gap: 4px; }
  .tj-single__title { font-size: 20px; }
  .tj-single__priceBox { align-self: flex-end; text-align: right; margin-top: 6px; }
  .tj-single__priceBox .tj-price { font-size: 24px; }
  .tj-single__addr { gap: 7px; font-size: 17px; font-weight: 400; }
  .tj-single__addr .tj-ico { width: 17px; height: 17px; }
  .tj-maps__link .tj-btn { display: flex; width: 100%; }
  .tj-keyfacts { flex-wrap: nowrap; gap: 10px; }
  .tj-keyfacts__item { flex: 1 1 0; flex-direction: column; justify-content: center; gap: 8px; padding: 14px 6px; text-align: center; }
  .tj-keyfacts .tj-ico { width: 40px; height: 40px; }
  .tj-keyfacts__txt { align-items: center; }
  .tj-keyfacts__txt strong { font-size: 20px; }
  .tj-keyfacts__txt span { font-size: 11px; letter-spacing: .03em; overflow-wrap: anywhere; }
  .tj-legal { font-size: 16px; }
  .tj-legal h2 { margin-top: 28px; font-size: 22px; }
  .tj-legal__dl { grid-template-columns: minmax(0, 1fr); }
  .tj-legal__dl dt { padding: 12px 0 0; border-bottom: 0; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
  .tj-legal__dl dd { padding: 4px 0 12px; }
  .tj-embed--map { aspect-ratio: auto; height: 300px; }
  .tj-embed--company { aspect-ratio: auto; height: 320px; min-height: 0; }
}

/* ---------- Térkép oldal ([tj_map]) ---------- */
.tj-map { font-family: var(--tj-font); }
.tj-map__h1 { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.tj-map__top { position: relative; z-index: 1100; background: #5a809e; }
.tj-map__bar { display: flex; align-items: center; gap: 10px 14px; max-width: 1680px; margin: 0 auto; padding: 10px 24px; }
.tj-map__fbtn { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px 0 14px; border: 1.5px solid var(--tj-line); border-radius: 999px; background: #fff; color: var(--tj-ink); font: 600 15px/1 var(--tj-font); cursor: pointer; }
.tj-map__fbtn:hover, .tj-map__fbtn[aria-expanded="true"] { border-color: var(--tj-green); color: var(--tj-green); }
.tj-map__fbtn[aria-expanded="true"] { background: var(--tj-green-3); }
.tj-map__fbtn b { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--tj-green); color: #fff; font: 700 12px/1 var(--tj-font); }
.tj-map__fbtn > .tj-ico:last-child { width: 14px; height: 14px; transform: rotate(90deg); transition: transform .2s; }
.tj-map__fbtn[aria-expanded="true"] > .tj-ico:last-child { transform: rotate(-90deg); }
.tj-map__chips { display: flex; align-items: center; gap: 8px; flex: 1 1 0; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.tj-map__chips::-webkit-scrollbar { display: none; }
.tj-map__fchip { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px 0 14px; border-radius: 999px; background: var(--tj-green-3); color: var(--tj-green); font: 600 14px/1 var(--tj-font); text-decoration: none; white-space: nowrap; }
.tj-map__fchip:hover { background: var(--tj-green); color: #fff; }
.tj-map__fchip .tj-ico { width: 14px; height: 14px; }
.tj-map__fclear { flex: none; padding: 0 6px; font: 600 14px/1 var(--tj-font); color: rgba(255, 255, 255, .92); text-decoration: underline; white-space: nowrap; }
.tj-map__fclear:hover { color: #fff; }
.tj-map__panel { padding: 0 16px 14px; }
.tj-map__panel[hidden] { display: none; }
.tj-map__split { display: grid; grid-template-columns: minmax(380px, 46%) minmax(0, 1fr); height: max(560px, calc(100vh - 210px)); border-top: 1px solid var(--tj-line); }
@media (min-width: 1024px) {
  .tj-map__panel { position: absolute; top: 100%; left: 24px; right: 24px; max-width: 1280px; padding: 0; }
  .tj-map__panel .tj-search--bar { border-radius: 0 0 18px 18px; box-shadow: none; }
}
.tj-maplist { overflow-y: auto; overscroll-behavior: contain; padding: 18px 20px 28px; background: var(--tj-cream); }
.tj-maplist__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-bottom: 16px; }
.tj-maplist .tj-cards { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 16px; }
.tj-maplist__item { display: flex; border-radius: var(--tj-radius); }
.tj-maplist__item[hidden] { display: none; }
.tj-maplist__item > .tj-card { flex: 1; min-width: 0; }
.tj-maplist .tj-card__title { font-size: 17px; line-height: 1.3; }
.tj-maplist.tj-view-list .tj-cards { grid-template-columns: minmax(0, 1fr); gap: 12px; }
.tj-maplist.tj-view-list .tj-card__media { width: 190px; min-height: 160px; }
.tj-maplist.tj-view-list .tj-card__body { padding: 14px 16px; }
.tj-maplist__item.is-hover > .tj-card { border-color: var(--tj-green); box-shadow: 0 0 0 2px var(--tj-green); }
.tj-map__chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px 8px 14px; border: 0; border-radius: 999px; background: var(--tj-green-3); color: var(--tj-green); font: 600 14px/1 var(--tj-font); cursor: pointer; }
.tj-map__chip[hidden] { display: none; }
.tj-map__chip:hover { background: var(--tj-green); color: #fff; }
.tj-mapwrap { position: relative; min-width: 0; }
.tj-map__canvas { position: absolute; inset: 0; background: #dfe6ea; }
.tj-map .leaflet-container { font-family: var(--tj-font); }
.tj-mk { width: 0; height: 0; background: none; border: 0; }
.tj-mkt { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 8px; padding: 4px 5px 4px 12px; border: 2px solid #fff; border-radius: 999px; background: var(--tj-green); color: #fff; box-shadow: 0 2px 8px rgba(8, 22, 40, .35); cursor: pointer; transition: background .15s, transform .15s; }
.tj-mkt i { font: 700 13px/1 var(--tj-font); font-style: normal; white-space: nowrap; }
.tj-mkt b { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #fff; color: var(--tj-green); font: 800 13px/1 var(--tj-font); }
.tj-mk:hover .tj-mkt, .tj-mk.is-hover .tj-mkt { background: var(--tj-green-2); transform: translate(-50%, -50%) scale(1.06); }
.tj-mk.is-compact .tj-mkt { gap: 0; padding: 3px; }
.tj-mk.is-compact .tj-mkt i { display: none; }
.tj-mk.is-compact:hover .tj-mkt, .tj-mk.is-compact.is-hover .tj-mkt, .tj-mk.is-compact.is-active .tj-mkt { gap: 8px; padding: 4px 5px 4px 12px; }
.tj-mk.is-compact:hover .tj-mkt i, .tj-mk.is-compact.is-hover .tj-mkt i, .tj-mk.is-compact.is-active .tj-mkt i { display: inline; }
.tj-mk.is-active .tj-mkt { background: #5a809e; box-shadow: 0 0 0 3px rgba(90, 128, 158, .4), 0 2px 8px rgba(8, 22, 40, .35); }
.tj-mkp { position: absolute; left: 0; top: 0; transform: translate(-50%, calc(-100% - 8px)); padding: 6px 10px; border: 2px solid var(--tj-green); border-radius: 10px; background: #fff; color: var(--tj-green); font: 800 13px/1 var(--tj-font); white-space: nowrap; box-shadow: 0 2px 8px rgba(8, 22, 40, .3); cursor: pointer; transition: background .15s, color .15s; }
.tj-mkp::after { content: ''; position: absolute; left: 50%; top: 100%; width: 10px; height: 10px; margin: -6px 0 0 -5px; background: inherit; border: solid var(--tj-green); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.tj-mk:hover .tj-mkp, .tj-mk.is-hover .tj-mkp { background: var(--tj-green); color: #fff; }
.leaflet-tooltip.tj-tip { width: 300px; max-width: 80vw; padding: 0; border: 0; border-radius: 14px; font-family: var(--tj-font); white-space: normal; box-shadow: 0 8px 28px rgba(8, 22, 40, .35); }
.tj-tipc { overflow: hidden; border-radius: 14px; }
.tj-tipc__media { position: relative; aspect-ratio: 16 / 10; background: var(--tj-sand); }
.tj-tipc__media img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.tj-tipc__body { display: flex; flex-direction: column; gap: 4px; padding: 12px 16px 14px; }
.tj-tipc__body strong { font: 600 16px/1.3 var(--tj-font-head); color: var(--tj-ink); }
.tj-tipc__body span { font: 800 17px/1.2 var(--tj-font); color: var(--tj-green); }
@media (max-width: 1023px) {
  .tj-map__bar { padding: 8px 16px; }
  .tj-map__split { display: flex; flex-direction: column; height: auto; }
  .tj-mapwrap { order: -1; flex: none; height: 56vh; min-height: 340px; max-height: 560px; }
  .tj-maplist { overflow: visible; padding: 14px 16px 28px; }
}

/* Lista-oldalak (Eladó / Kiadó / Ingatlanok): mobilon vékony, összecsukott szűrősáv, mint a Térkép oldalon */
@media (min-width: 1024px) { .tj-lf__bar { display: none; } }
@media (max-width: 1023px) {
  .tj-lf { background: #fff; border-radius: 18px; }
  .tj-lf.is-open { background: #5a809e; }
  .tj-lf__bar { display: flex; align-items: center; gap: 10px 14px; padding: 0; }
  .tj-lf.is-open .tj-lf__bar { padding: 8px 12px; }
  .tj-lf:not(.is-open) .tj-map__fclear { color: var(--tj-muted); }
  .tj-lf__panel { display: none; padding: 0 12px 12px; }
  .tj-lf.is-open .tj-lf__panel { display: block; }
  .tj-lf .tj-search--bar { padding: 6px 4px 4px; border: 0; border-radius: 0; box-shadow: none; }
  .tj-lf + .tj-toolbar { margin-top: 18px; }
  .tj-toolbar > .tj-toolbar__right { margin-left: auto; justify-content: flex-end; }
  .tj-lf .tj-map__fbtn { height: 42px; border-radius: 10px; }
  .tj-lf .tj-search select, .tj-lf .tj-search input[type=number] { border-radius: 10px; }
}

/* Vezérlőpult: térképes helykijelölő */
.tj-geopick__bar { display: flex; flex-wrap: wrap; gap: 10px; }
.tj-geopick__bar .tj-btn[hidden] { display: none; }
.tj-geopick__map { height: 400px; margin-top: 12px; border: 1.5px solid var(--tj-line); border-radius: 12px; overflow: hidden; background: #dfe6ea; }
.tj-geopick__map[hidden] { display: none; }
.tj-geopick .tj-hint { margin: 12px 0 0; }
.tj-pickpin { width: 0; height: 0; background: none; border: 0; }
.tj-pickpin svg { display: block; filter: drop-shadow(0 2px 3px rgba(8, 22, 40, .4)); }

/* Látogatottság-statisztika (vezérlőpult) */
.tj-subtabs { display: flex; gap: 8px; margin: 0 0 22px; border-bottom: 1px solid var(--tj-line); }
.tj-subtabs a { margin-bottom: -1px; padding: 10px 16px; border-bottom: 2px solid transparent; font: 600 15px var(--tj-font); color: var(--tj-muted); text-decoration: none; }
.tj-subtabs a:hover { color: var(--tj-green); }
.tj-subtabs a.is-active { color: var(--tj-green); border-bottom-color: var(--tj-green); }
.tj-views { display: inline-flex; align-items: center; gap: 7px; color: var(--tj-ink); text-decoration: none; white-space: nowrap; }
.tj-views .tj-ico { width: 17px; height: 17px; color: var(--tj-green-2); }
.tj-views strong { font-weight: 700; }
.tj-views small { color: var(--tj-muted); font-size: 12px; }
.tj-views:hover strong { color: var(--tj-green); }
.tj-stat__range { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.tj-stat__range .tj-chip { text-decoration: none; padding: 9px 14px; border: 1.5px solid transparent; }
.tj-stat__range .tj-chip.is-on { background: var(--tj-green); color: #fff; }
.tj-stat__kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin-bottom: 30px; }
.tj-stat__kpi { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border: 1px solid var(--tj-line); border-radius: var(--tj-radius); background: #fff; }
.tj-stat__kpi span { font: 700 11.5px/1 var(--tj-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tj-muted); }
.tj-stat__kpi strong { font: 700 32px/1.2 var(--tj-font-head); color: var(--tj-ink); }
.tj-stat__kpi small { color: var(--tj-muted); font-size: 13px; }
.tj-stat__h { margin: 28px 0 14px; font: 600 18px/1.3 var(--tj-font-head); color: var(--tj-ink); }
.tj-stat__chart { position: relative; padding: 22px 18px 12px 44px; border: 1px solid var(--tj-line); border-radius: var(--tj-radius); background: #fff; }
.tj-stat__max { position: absolute; top: 18px; left: 12px; font-size: 12px; color: var(--tj-muted); }
.tj-stat__bars { display: flex; align-items: flex-end; gap: 2px; height: 180px; border-bottom: 1px solid var(--tj-line); }
.tj-stat__bar { flex: 1 1 0; min-width: 1px; background: var(--tj-green); border-radius: 3px 3px 0 0; opacity: .85; }
.tj-stat__bar:hover { opacity: 1; background: #d6342f; }
.tj-stat__axis { display: flex; justify-content: space-between; margin-top: 8px; font-size: 12.5px; color: var(--tj-muted); }
.tj-stat__share { min-width: 170px; }
.tj-stat__meter { display: inline-block; width: 90px; height: 8px; margin-right: 8px; border-radius: 99px; background: var(--tj-sand); vertical-align: middle; overflow: hidden; }
.tj-stat__meter i { display: block; height: 100%; border-radius: 99px; background: var(--tj-green); }
.tj-stat .tj-hint { margin-top: 20px; }
@media (max-width: 767px) {
  .tj-stat__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .tj-stat__kpi { padding: 14px; }
  .tj-stat__kpi strong { font-size: 26px; }
  .tj-stat__chart { padding: 20px 12px 10px 36px; }
  .tj-stat__bars { height: 140px; }
  .tj-stat__share { min-width: 0; }
}

/* vezérlőpult: ingatlan lista, 2 soros sáv (fő adatok + második sorban állapot, megtekintés, meghirdetve) */
.tj-table--props .tj-table__img { width: 136px; padding-right: 8px; vertical-align: top; }
.tj-table--props .tj-table__img img, .tj-table--props .tj-table__img .tj-card__noimg { width: 120px; height: 90px; border-radius: 10px; }
/* ingatlanok lista: a kép és a megnevezés is az ingatlan oldalára visz (új lapon) */
.tj-dash__results { transition: opacity .15s; }
.tj-dash__results.is-loading { opacity: .55; }
.tj-prop__lnk { color: inherit; text-decoration: none; }
.tj-table__img .tj-prop__lnk { display: block; }
.tj-prop__lnk:hover strong { color: var(--tj-green); text-decoration: underline; }
.tj-table__img .tj-prop__lnk:hover img { opacity: .88; }
.tj-table--props .tj-prop__main td { border-bottom: 0; padding-bottom: 6px; }
.tj-table--props .tj-prop__main td.tj-table__img { border-bottom: 1px solid var(--tj-line); }
.tj-table--props .tj-prop__meta td { padding-top: 0; padding-bottom: 14px; }
.tj-prop__metain { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 24px; font-size: 13.5px; color: var(--tj-muted); }
.tj-prop__metain .tj-views { color: var(--tj-ink); }
.tj-prop__metain .tj-views small { margin-left: 2px; }
@media (max-width: 960px) {
  .tj-table--props tbody.tj-prop { margin-bottom: 16px; border: 1px solid var(--tj-line); border-radius: 14px; padding: 6px 4px; }
  .tj-table--props tbody.tj-prop tr { margin: 0; padding: 0; border: 0; }
  .tj-table--props .tj-table__img { width: 100%; padding: 9px 12px; }
  .tj-table--props .tj-table__img::before, .tj-table--props .tj-prop__metacell::before { display: none; }
  .tj-table--props .tj-table__img img, .tj-table--props .tj-table__img .tj-card__noimg { width: 100%; height: 170px; }
  .tj-table--props .tj-prop__main td.tj-table__img { border-bottom: 0; }
  .tj-table--props .tj-prop__meta td { padding: 4px 12px 12px; text-align: left; }
}

/* vezérlőpult: ár oszlop árcsökkenéssel (eredeti ár áthúzva, alatta az új ár narancsosan) */
.tj-pr { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.tj-pr__old { color: var(--tj-muted); font-size: 13px; }
.tj-pr__cut { color: #d9680c; font-weight: 700; }
@media (max-width: 960px) { .tj-pr { align-items: flex-end; } }

/* vezérlőpult: Ingatlanok cím + „Új ingatlan” gomb egy sorban, a Szűrés gomb piros */
.tj-dash__titlerow { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 60px; }
.tj-dash__titlerow h2 { margin: 0; }
.tj-dash__filters .tj-btn { background: #d6342f; border-color: #d6342f; color: #fff; }
.tj-dash__filters .tj-btn:hover { background: #b92a26; border-color: #b92a26; color: #fff; }

/* vezérlőpult: szűrők feliratai és az aktív szűrők jelvényei */
.tj-dash__f { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.tj-dash__f > span { font: 700 11.5px/1 var(--tj-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tj-muted); }
.tj-dash__f--btn > span { visibility: hidden; }
.tj-dash__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; }
.tj-dash__chips-l { margin-right: 2px; font: 600 14px var(--tj-font); color: var(--tj-muted); }
.tj-dash__chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px 7px 14px; border-radius: 999px; background: var(--tj-green-3); color: var(--tj-green); font: 600 14px/1 var(--tj-font); text-decoration: none; }
.tj-dash__chip span { font-weight: 500; opacity: .85; }
.tj-dash__chip b { margin-left: 2px; font-size: 18px; font-weight: 600; line-height: 1; }
.tj-dash__chip:hover { background: var(--tj-green); color: #fff; }

/* adatlap: az Adatok, Leírás, Videó és Térkép blokkok kártyaként (fehér háttér, kerekített keret), mint az oldalsáv widgetjei */
.tj-single__main > .tj-block { margin-top: 26px; padding: 30px; background: #fff; border: 1px solid var(--tj-line); border-radius: 20px; box-shadow: var(--tj-shadow); }
@media (max-width: 767px) { .tj-single__main > .tj-block { padding: 20px 16px; border-radius: 16px; } }

/* adatlap: PDF és megosztás ikonok a kártya jobb felső sarkában, alattuk halvány elválasztó vonal */
.tj-tools { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.tj-tools__btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1.5px solid var(--tj-line); border-radius: 10px; background: #fff; color: var(--tj-green); cursor: pointer; text-decoration: none; transition: background .15s, border-color .15s; }
.tj-tools__btn:hover, .tj-tools__btn[aria-expanded="true"] { background: var(--tj-green-3); border-color: var(--tj-green); }
.tj-tools__btn .tj-ico { width: 20px; height: 20px; }
/* belépett adminnak / ingatlankezelőnek: feltűnő „Ingatlan szerkesztése” gomb az adatlapon */
.tj-tools .tj-tools__edit { min-height: 40px; padding: 0 16px; border-radius: 10px; background: #1f8f4c; border-color: #1f8f4c; color: #fff; font-size: 14px; white-space: nowrap; }
.tj-tools .tj-tools__edit:hover { background: #177a3f; border-color: #177a3f; color: #fff; }
.tj-tools__edit .tj-ico { width: 18px; height: 18px; }
.tj-block__divider { height: 0; margin: 16px 0 22px; border: 0; border-top: 1px solid var(--tj-line); opacity: .8; }
.tj-share { position: relative; }
.tj-share__pop { position: absolute; top: calc(100% + 8px); right: 0; z-index: 60; min-width: 260px; padding: 6px; background: #fff; border: 1px solid var(--tj-line); border-radius: 14px; box-shadow: 0 12px 28px rgba(22,33,31,.18); }
.tj-share__pop[hidden] { display: none; }
.tj-share__item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 12px; border: 0; border-radius: 9px; background: none; color: var(--tj-ink); font: 600 15px/1.2 var(--tj-font); text-align: left; text-decoration: none; cursor: pointer; white-space: nowrap; }
.tj-share__item:hover, .tj-share__item:focus-visible { background: var(--tj-green-3); color: var(--tj-green); outline: none; }
.tj-share__item .tj-ico { width: 18px; height: 18px; flex: none; color: var(--tj-green); }
.tj-block__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tj-block__head .tj-block__title { margin: 0; min-width: 0; }
@media (max-width: 767px) { .tj-block__head .tj-block__title { font-size: 22px; } }

/* adatlap: képmozaik (nagy főkép + 2 kisebb kép) és alatta a miniatűr-sor */
.tj-mosaic { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 20px; aspect-ratio: 16 / 9; }
@media (min-width: 1024px) { .tj-mosaic { aspect-ratio: 2 / 1; } }
.tj-mosaic__item { position: relative; display: block; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 16px; overflow: hidden; background: var(--tj-sand); cursor: zoom-in; }
.tj-mosaic__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.tj-mosaic__item:hover img { transform: scale(1.03); }
.tj-mosaic__item:focus-visible { outline: 3px solid var(--tj-gold); outline-offset: 2px; }
.tj-mosaic__item--0 { grid-column: 1; grid-row: 1 / span 2; }
.tj-mosaic__item--1 { grid-column: 2; grid-row: 1; }
.tj-mosaic__item--2 { grid-column: 2; grid-row: 2; }
.tj-mosaic--1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.tj-mosaic--1 .tj-mosaic__item--0 { grid-row: 1; }
.tj-mosaic--2 .tj-mosaic__item--1 { grid-row: 1 / span 2; }
.tj-mosaic__more { position: absolute; right: 12px; bottom: 12px; padding: 7px 12px; border-radius: 999px; background: rgba(15,30,28,.78); color: #fff; font: 700 13px/1 var(--tj-font); }
@media (max-width: 767px) {
  .tj-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; aspect-ratio: auto; gap: 12px; }
  .tj-mosaic__item { aspect-ratio: 4 / 3; border-radius: 12px; }
  .tj-mosaic__item--0 { grid-column: 1 / -1; grid-row: 1; }
  .tj-mosaic__item--1 { grid-column: 1; grid-row: 2; }
  .tj-mosaic__item--2 { grid-column: 2; grid-row: 2; }
  .tj-mosaic--1 { grid-template-columns: 1fr; }
  .tj-mosaic--2 .tj-mosaic__item--1 { grid-column: 1 / -1; grid-row: 2; aspect-ratio: 16 / 9; }
}

/* adatlap: a képek és alattuk a főcím/település/ár egyetlen kártyában, mint a többi tartalom */
.tj-single__top { padding: 30px; background: #fff; border: 1px solid var(--tj-line); border-radius: 20px; box-shadow: var(--tj-shadow); }
@media (max-width: 767px) {
  .tj-single__top { padding: 12px 14px 18px; border-radius: 16px; }
  .tj-single__top .tj-single__head { margin-top: 16px; }
}

/* adatlap: a tartalom-kártyákon nincs árnyék */
.tj-single__top, .tj-single__main > .tj-block, .tj-single .tj-agent__card, .tj-single .tj-form, .tj-single .tj-keyfacts__item { box-shadow: none; }

/* adatlap, asztali/tablet nézet: a főcím, a település/cím és az ár a képek fölött van (mobilon alattuk marad) */
@media (min-width: 768px) {
  .tj-single__topmain { display: flex; flex-direction: column; }
  .tj-single__top .tj-single__head { order: -1; margin: 0 0 22px; }
}

/* adatlap: a rács a képek-kártyával kezdődik; laptopon mellette az Ár + 3 alapadat doboz (a jobb 1/3 oszlopban) */
.tj-single__grid { margin-top: 0; gap: 26px 44px; }
.tj-sidefacts { display: none; }
.tj-sidefacts__huf { font: 500 13px/1.2 var(--tj-font); color: var(--tj-muted); }
.tj-sidefacts__oldrow { display: flex; align-items: center; gap: 10px; }
.tj-sidefacts__old { font: 600 17px/1.2 var(--tj-font); color: var(--tj-muted); text-decoration: line-through; text-decoration-thickness: 2px; }
.tj-sidefacts .tj-price__pct { padding: 4px 12px; font-size: 17px; }
.tj-sidefacts strong.is-cut { color: #d9680c; }
@media (min-width: 1024px) {
  .tj-sidefacts { display: flex; flex-direction: column; gap: 14px; align-self: stretch; margin: 0; padding: 0; list-style: none; }
  .tj-sidefacts .tj-keyfacts__item { flex: 1 1 0; }
  .tj-single__main > .tj-keyfacts { display: none; }
  .tj-single__priceBox { display: none; }
  .tj-single__main > .tj-keyfacts + .tj-block, .tj-single__main > .tj-block:first-child { margin-top: 0; }
}
@media (max-width: 1023px) { .tj-single__side { margin-top: 18px; } }

/* adatlap, laptop/asztal (≥1024px): a képek és a 4 adat egyetlen széles kártya; a 4 sort vékony vonal választja el */
@media (min-width: 1024px) {
  .tj-single__top { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) 402px; padding: 0; }
  .tj-single__topmain { min-width: 0; padding: 30px; }
  .tj-sidefacts { gap: 0; }
  .tj-sidefacts .tj-keyfacts__item { margin: 0 30px 0 0; padding: 12px 0; border: 0; border-bottom: 1px solid var(--tj-line); border-radius: 0; background: transparent; }
  .tj-sidefacts .tj-keyfacts__item:last-child { border-bottom: 0; }
}

/* adatlap: a Leírás összecsukható (400 px, halványodó alj, „Bővebben az ingatlanról” gomb) */
.tj-collapse__body { position: relative; overflow: hidden; transition: max-height .4s ease; }
.tj-collapse.is-collapsible:not(.is-open) .tj-collapse__body::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 150px; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 88%); pointer-events: none; }
.tj-collapse__btn { display: flex; align-items: center; gap: 8px; width: max-content; margin: 14px auto 0; padding: 10px 20px; border: 1.5px solid var(--tj-green); border-radius: 10px; background: #fff; color: var(--tj-green); font: 600 15px/1 var(--tj-font); cursor: pointer; transition: background .15s; }
.tj-collapse__btn[hidden] { display: none; }
.tj-collapse__btn:hover { background: var(--tj-green-3); }
.tj-collapse__btn .tj-ico { width: 18px; height: 18px; transition: transform .25s; }
.tj-collapse.is-open .tj-collapse__btn .tj-ico { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .tj-collapse__body, .tj-collapse__btn .tj-ico { transition: none; } }

/* adatlap: a görgetési pozíció nem ugrik, amikor a Leírás lenyílik (a böngésző görgetés-rögzítése kikapcsolva) */
html:has(.tj-collapse), .tj-single { overflow-anchor: none; }

/* vezérlőpult: a típus szerint elrejtett mezők (telek esetén) */
.tj-field[hidden], .tj-dform__grid[hidden] { display: none; }

/* Jogi dokumentumok (vezérlőpult) + a szerkesztővel készült szöveg stílusai */
.tj-notice--warn { background: #fff6e0; color: #6b4a00; border: 1px solid #ecd28a; }
.tj-switch { position: relative; display: inline-flex; align-items: center; gap: 12px; margin: 0 0 8px; cursor: pointer; font: 600 15px var(--tj-font); color: var(--tj-ink); }
.tj-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tj-switch__ui { position: relative; flex: none; width: 46px; height: 26px; border-radius: 999px; background: #c5ccd3; transition: background .2s; }
.tj-switch__ui::after { content: ''; position: absolute; left: 3px; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .3); transition: transform .2s; }
.tj-switch input:checked + .tj-switch__ui { background: var(--tj-green); }
.tj-switch input:checked + .tj-switch__ui::after { transform: translateX(20px); }
.tj-switch input:focus-visible + .tj-switch__ui { outline: 2px solid var(--tj-green); outline-offset: 2px; }
.tj-ltabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.tj-ltab { padding: 9px 16px; border: 1.5px solid var(--tj-line); border-radius: 10px; background: #fff; font: 700 14px var(--tj-font); color: var(--tj-muted); cursor: pointer; }
.tj-ltab:hover { color: var(--tj-green); border-color: var(--tj-green); }
.tj-ltab.is-active { background: var(--tj-green); border-color: var(--tj-green); color: #fff; }
.tj-ltab i { display: inline-block; width: 8px; height: 8px; margin-left: 7px; border-radius: 50%; background: #e0a100; }
.tj-lpanel[hidden] { display: none; }
.tj-lpanel .tj-dform__grid { margin-bottom: 16px; }
.tj-field__lbl { font: 600 13px/1.2 var(--tj-font); color: var(--tj-muted); }
.tj-hint--inline { margin: 0; align-self: center; }
.tj-legal h3 { margin: 26px 0 10px; font: 600 20px/1.3 var(--tj-font-head); color: var(--tj-ink); }
.tj-legal ol { margin: 0 0 14px; padding-left: 24px; list-style: decimal; }
/* Lábléc: a [tj_legal_links] shortcode burkolója ne nyúljon végig a sávon (a linkek jobbra maradjanak) */
.ts-footer__bar > .bde-shortcode { flex: none; width: auto; max-width: 100%; }

/* Kapcsolat oldal: az űrlapnak nincs árnyéka; a cím/e-mail/telefon sorok keret nélkül, fehér ikonnal, halvány elválasztóval */
.tj-contactform .tj-form { box-shadow: none; }
.ts-contact__info .ts-infocard { padding: 20px 0; background-color: transparent; border: 0; border-radius: 0; }
.ts-contact__info .ts-infocard + .ts-infocard { border-top: 1px solid var(--tj-line); }
.ts-contact__info .ts-infocard__ico { color: #fff; }
