/* ==========================================================================
   NOZA AGENT – Noza téma (2026)
   A Gemini-terv (gemi_noza_agent.html) átültetése, a Drupal valódi adataival.
   ========================================================================== */

:root {
  --nz-gold: #D4AF37;          /* arany – sötét háttéren, gombokon */
  --nz-gold-hover: #C29F2F;
  --nz-gold-text: #8A6A12;     /* arany szöveg világos háttéren (olvashatóság) */
  --nz-gold-icon: #B8962A;
  --nz-black: #0a0a0a;
  --nz-charcoal: #1a1a1a;
  --nz-bg: #f9f9f9;
  --nz-white: #fff;
  --nz-text: #374151;
  --nz-muted: #4b5563;
  --nz-subtle: #6B7280;
  --nz-line: #E5E7EB;
  --nz-line-soft: #F3F4F6;
  --nz-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --nz-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --nz-radius: 18px;
  --nz-radius-sm: 12px;
  --nz-shadow: 0 10px 24px -14px rgba(0, 0, 0, .18);
  --nz-shadow-lg: 0 30px 60px -28px rgba(0, 0, 0, .28);
  --nz-container: 1200px;
  --nz-gutter: 24px;
  --nz-header-h: 96px;
  --nz-ico-camera: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3Ccircle cx='12' cy='13.5' r='3.5'/%3E%3C/svg%3E");
  --nz-ico-drone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5h6M16 5h6M5 5v2M19 5v2M7 8l3 3M17 8l-3 3'/%3E%3Crect x='9' y='10' width='6' height='5' rx='1.5'/%3E%3Cpath d='M10 15l-1 3M14 15l1 3'/%3E%3C/svg%3E");
  --nz-ico-video: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='13' height='12' rx='2'/%3E%3Cpath d='M16 10l5-3v10l-5-3'/%3E%3C/svg%3E");
  --nz-ico-share: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='2.5'/%3E%3Ccircle cx='6' cy='12' r='2.5'/%3E%3Ccircle cx='18' cy='19' r='2.5'/%3E%3Cpath d='M8.2 10.8l7.6-4.4M8.2 13.2l7.6 4.4'/%3E%3C/svg%3E");
  --nz-ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --nz-ico-money: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='20' height='12' rx='2'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M6 10v4M18 10v4'/%3E%3C/svg%3E");
  --nz-ico-house: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5L12 3l9 7.5'/%3E%3Cpath d='M5 9.5V20h14V9.5'/%3E%3Cpath d='M10 20v-6h4v6'/%3E%3C/svg%3E");
  --nz-ico-key: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='M11 12l9-9M16 7l3 3M14 9l2 2'/%3E%3C/svg%3E");
  --nz-ico-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V4h8l10 10-8 8z'/%3E%3Ccircle cx='7.5' cy='8.5' r='1.5'/%3E%3C/svg%3E");
  --nz-ico-scale: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M7 21h10M5 7h14'/%3E%3Cpath d='M5 7l-3 7a3 3 0 0 0 6 0z'/%3E%3Cpath d='M19 7l-3 7a3 3 0 0 0 6 0z'/%3E%3C/svg%3E");
  --nz-ico-bolt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E");
  --nz-ico-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* ---------- Alap ---------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
  -webkit-text-size-adjust: 100%;
}

body.nz {
  margin: 0;
  background: var(--nz-bg);
  color: var(--nz-charcoal);
  font-family: var(--nz-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

body.nz img {
  max-width: 100%;
  height: auto;
}

body.nz a {
  color: var(--nz-gold-text);
  text-decoration: none;
  transition: color .2s;
}

body.nz a:hover {
  color: #6B520D;
}

body.nz h1,
body.nz h2,
body.nz h3,
body.nz h4 {
  font-family: var(--nz-serif);
  color: var(--nz-charcoal);
  line-height: 1.2;
  margin: 0 0 .5em;
}

::selection {
  background: var(--nz-gold);
  color: var(--nz-black);
}

:focus-visible {
  outline: 2px solid var(--nz-gold);
  outline-offset: 3px;
}

.nz-serif {
  font-family: var(--nz-serif);
}

.visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
  word-wrap: normal;
}

.visually-hidden.focusable:focus {
  position: fixed !important;
  clip: auto;
  height: auto;
  width: auto;
  z-index: 1000;
  top: 8px;
  left: 8px;
  background: #fff;
  padding: 8px 14px;
  border-radius: 8px;
}

.ico {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  vertical-align: middle;
}

.nz-container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
}

@media (min-width: 768px) {
  .nz-container {
    padding: 0 48px;
  }
}

@media (min-width: 1024px) {
  .nz-container {
    padding: 0 96px;
  }
}

@media (min-width: 1280px) {
  .nz-container {
    padding: 0 1rem;
  }
}

.nz-header .nz-container {
  padding-left: 24px;
  padding-right: 24px;
}

@media (min-width: 768px) {
  .nz-header .nz-container {
    padding-left: 48px;
    padding-right: 48px;
  }
}

@media (min-width: 1024px) {
  .nz-header .nz-container {
    padding-left: 96px;
    padding-right: 96px;
  }
}

.nz-container--narrow > * {
  max-width: 896px;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- Gombok, címkék ---------- */
.nz-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 30px;
  border: 0;
  border-radius: var(--nz-radius-sm);
  font: 700 14px/1 var(--nz-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .25s, transform .25s;
  white-space: nowrap;
}

.nz-btn .ico {
  width: 17px;
  height: 17px;
}

body.nz .nz-btn--gold {
  background: var(--nz-gold);
  color: var(--nz-black);
  box-shadow: 0 6px 16px -6px rgba(212, 175, 55, .6);
}

body.nz .nz-btn--gold:hover {
  background: var(--nz-gold-hover);
  color: var(--nz-black);
}

body.nz .nz-btn--dark {
  background: var(--nz-charcoal);
  color: #fff;
}

body.nz .nz-btn--dark:hover {
  background: #333;
  color: #fff;
}

.nz-pill {
  display: inline-block;
  font: 600 11px/1 var(--nz-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 8px 12px 6px calc(12px + .12em);
}

.nz-pill--dark {
  background: rgba(10, 10, 10, .8);
  color: var(--nz-gold);
  border: 1px solid rgba(212, 175, 55, .3);
  backdrop-filter: blur(8px);
}

.nz-pill--light {
background: var(--nz-gold);
    color: var(--nz-charcoal);
    border: 1px solid rgb(255 255 255 / 30%);
    backdrop-filter: blur(8px);
}

/* ---------- Fejléc ---------- */
.nz-header {
  position: relative;
  z-index: 50;
  width: 100%;
  transition: background .3s, box-shadow .3s, padding .3s;
}

.nz-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--nz-header-h);
}

body.nz .nz-header__logo img {
  display: block;
  height: 58px;
  width: auto;
}

.nz-header--overlay {
  position: fixed;
  top: 0;
  left: 0;
  background: transparent;
}

.nz-header--overlay.is-scrolled,
.nz-header--solid {
  background: rgba(10, 10, 10, .92);
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 30px -12px rgba(0, 0, 0, .5);
  border-bottom: 1px solid rgba(255, 255, 255, .05);
}

.nz-header--solid {
  position: sticky;
  top: 0;
}

.nz-header.is-scrolled {
  --nz-header-h: 76px;
}

body.nz .nz-header.is-scrolled .nz-header__logo img {
  height: 48px;
}

.user-logged-in .nz-header--overlay {
  top: var(--drupal-displace-offset-top, 0px);
}

.nz-nav {
  display: flex;
  align-items: center;
  gap: 40px;
}

body.nz .nz-nav a {
  position: relative;
  color: #fff;
  font: 500 14px/1 var(--nz-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 10px 0;
}

body.nz .nz-nav a:hover {
  color: #D1D5DB;
}

body.nz .nz-nav a.is-active {
  color: var(--nz-gold);
  font-weight: 600;
}

.nz-nav a.is-active::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--nz-gold);
}

body.nz .nz-nav .nz-nav__phone {
  display: none;
}

.nz-header__toggle {
  display: none;
  background: none;
  border: 0;
  color: #fff;
  padding: 8px;
  cursor: pointer;
}

.nz-header__toggle .ico {
  width: 30px;
  height: 30px;
}

.nz-header__toggle .nz-i-close,
.nz-header.is-open .nz-header__toggle .nz-i-open {
  display: none;
}

.nz-header.is-open .nz-header__toggle .nz-i-close {
  display: inline;
}

/* ---------- Hero ---------- */
.nz-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: calc(var(--nz-header-h) + 40px) 0 80px;
  background: var(--nz-black);
  overflow: hidden;
}

.nz-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

/* Sötétítés – a tervnél világosabb (finomítható: --nz-hero-shade) */
.nz-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 10, 10, .5) 0%, rgba(10, 10, 10, .3) 50%, rgba(10, 10, 10, .75) 100%);
}

.nz-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

body.nz .nz-hero__title {
  font: 700 clamp(40px, 6vw, 78px)/1.1 var(--nz-serif);
  color: #fff;
  margin: 0 0 24px;
  max-width: 900px;
  text-shadow: 0 6px 30px rgba(0, 0, 0, .35);
}

.nz-hero__title em {
  color: var(--nz-gold);
  font-weight: 500;
}

.nz-hero__lead {
  font-size: clamp(17px, 1.6vw, 21px);
  font-weight: 300;
  color: #F3F4F6;
  max-width: 680px;
  margin: 0 0 48px;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .4);
}

.nz-search {
  width: 100%;
  max-width: 984px;
  display: flex;
  gap: 16px;
  padding: 22px;
  margin-bottom: 64px;
  border-radius: var(--nz-radius);
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .22);
  backdrop-filter: blur(18px);
  box-shadow: 0 24px 48px -12px rgba(0, 0, 0, .45);
}

.nz-search__field {
  flex: 1;
  position: relative;
}

.nz-search__field .ico {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, .6);
  pointer-events: none;
}

.nz-search select {
  width: 100%;
  height: 52px;
  padding: 0 40px 0 48px;
  border-radius: var(--nz-radius-sm);
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(0, 0, 0, .42) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff99' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 18px;
  color: #fff;
  font: 400 16px var(--nz-sans);
  appearance: none;
  cursor: pointer;
}

.nz-search select:focus {
  outline: none;
  border-color: var(--nz-gold);
  background-color: rgba(0, 0, 0, .6);
}

.nz-search select option {
  background: var(--nz-charcoal);
  color: #fff;
}

.nz-cats {
  width: 100%;
  max-width: 1152px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

body.nz .nz-cat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 34px 26px;
  border-radius: var(--nz-radius);
  background: rgba(26, 26, 26, .55);
  border: 1px solid rgba(255, 255, 255, .12);
  backdrop-filter: blur(12px);
  color: #fff;
  transition: border-color .4s, transform .4s, box-shadow .4s;
}

body.nz .nz-cat:hover {
  color: #fff;
  border-color: rgba(212, 175, 55, .8);
  transform: translateY(-4px);
  box-shadow: 0 0 34px rgba(212, 175, 55, .16);
}

.nz-cat__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  background: rgba(0, 0, 0, .5);
  border: 1px solid rgba(255, 255, 255, .12);
  color: var(--nz-gold);
  transition: transform .4s;
}

.nz-cat:hover .nz-cat__icon {
  transform: scale(1.1);
  border-color: rgba(212, 175, 55, .5);
}

.nz-cat__icon .ico {
  width: 30px;
  height: 30px;
}

.nz-cat__title {
  font: 700 26px/1.2 var(--nz-serif);
  margin-bottom: 10px;
}

.nz-cat__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 300;
  color: #D1D5DB;
}

.nz-cat__more .ico {
  width: 16px;
  height: 16px;
  transition: transform .3s;
}

.nz-cat:hover .nz-cat__more .ico {
  transform: translateX(4px);
}

/* ---------- Szekciók ---------- */
.nz-section {
  padding: 110px 0;
}

.nz-section--white {
  background: #fff;
  border-top: 1px solid var(--nz-line-soft);
  border-bottom: 1px solid var(--nz-line-soft);
}

.nz-section--tight {
  padding-top: 0;
}

.nz-section--white + .nz-section--tight,
.nz-section + .nz-section--tight {
  padding-top: 0;
}

.nz-head {
  margin-bottom: 52px;
}

.nz-head--center {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.nz-head--split {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
}

.nz-eyebrow {
  font: 600 13px/1.4 var(--nz-sans);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--nz-gold-text);
  margin: 0 0 12px;
}

.nz-eyebrow--gold {
  color: var(--nz-gold);
}

body.nz .nz-h2 {
  font: 700 clamp(32px, 3.6vw, 50px)/1.15 var(--nz-serif);
  margin: 0;
}

body.nz .nz-h2--light {
  color: #fff;
}

.nz-lead {
  font-size: 17px;
  line-height: 1.65;
  color: var(--nz-muted);
  max-width: 680px;
  margin: 18px 0 0;
}

body.nz .nz-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--nz-muted);
  font-weight: 500;
  white-space: nowrap;
}

body.nz .nz-more:hover {
  color: var(--nz-gold-text);
}

.nz-grid {
  display: grid;
  gap: 30px;
}

.nz-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nz-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

@media (max-width: 1279px) {
  .nz-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ---------- Ingatlan kártya ---------- */
body.nz .nz-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  overflow: hidden;
  color: var(--nz-charcoal);
  box-shadow: var(--nz-shadow);
  transition: border-color .4s, box-shadow .4s, transform .4s;
}

body.nz .nz-card:hover {
  color: var(--nz-charcoal);
  border-color: rgba(212, 175, 55, .6);
  box-shadow: 0 26px 48px -22px rgba(0, 0, 0, .3);
  transform: translateY(-4px);
}

.nz-card__media {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--nz-line);
}

.nz-card__media img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
  transition: transform .7s;
}

.nz-card:hover .nz-card__media img {
  transform: scale(1.06);
}

.nz-card__media::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 35%;
  background: linear-gradient(0deg, rgba(0, 0, 0, .4), transparent);
  pointer-events: none;
}

.nz-card__badges {
  position: absolute;
  top: 16px;
  left: 16px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  z-index: 1;
}

/* Belső adat a kártya képén (eladó, pontos cím) – csak bejelentkezve kerül a HTML-be. */
.nz-card__internal {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px 10px 7px 12px;
  border-left: 3px solid var(--nz-gold);
  border-radius: 8px;
  background: rgba(10, 10, 10, .78);
  color: #fff;
  font: 400 12px/1.3 var(--nz-sans);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.nz-card__internal::before {
  content: "Belső adat";
  font: 600 10px var(--nz-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nz-gold);
}

.nz-card__internal-name {
  font-weight: 600;
}

.nz-card__internal-addr {
  color: #E5E7EB;
}

.nz-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px 24px 24px;
  flex-grow: 1;
}

.nz-card__loc {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--nz-gold-text);
}

.nz-card__loc .ico {
  width: 16px;
  height: 16px;
}

body.nz .nz-card__title {
  font: 700 21px/1.3 var(--nz-serif);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}

.nz-card__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: auto 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--nz-line-soft);
}

.nz-card__stats > div {
  display: flex;
  flex-direction: column-reverse;
  gap: 3px;
  min-width: 0;
}

.nz-card__stats > div + div {
  border-left: 1px solid var(--nz-line-soft);
  padding-left: 12px;
}

.nz-card__stats dd {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}

.nz-card__stats dd .ico {
  width: 16px;
  height: 16px;
  color: var(--nz-gold-icon);
}

.nz-card__stats dt {
  font-size: 12px;
  color: var(--nz-subtle);
  padding-left: 22px;
}

.nz-card__price {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 4px 0 0;
}

.nz-card__price strong {
  font: 700 25px/1.2 var(--nz-serif);
  color: var(--nz-black);
}

.nz-card__price span {
  font-size: 13px;
  color: var(--nz-subtle);
}

/* ---------- Szolgáltatások ---------- */
body.nz .nz-svc {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 34px 30px;
  background: var(--nz-bg);
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  color: var(--nz-charcoal);
  transition: border-color .3s, box-shadow .3s, transform .3s;
}

body.nz .nz-svc:hover {
  color: var(--nz-charcoal);
  border-color: rgba(212, 175, 55, .5);
  box-shadow: 0 18px 36px -20px rgba(0, 0, 0, .22);
  transform: translateY(-3px);
}

.nz-svc p {
  margin: 0;
  flex-grow: 1;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 300;
  color: var(--nz-muted);
}

body.nz .nz-svc__title {
  font: 700 23px/1.25 var(--nz-serif);
  margin: 4px 0 0;
}

.nz-svc__icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--nz-line-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nz-gold-icon);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

.nz-svc__icon .ico {
  width: 30px;
  height: 30px;
}

.nz-svc__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 15px;
  color: var(--nz-gold-text);
}

.nz-svc__more .ico {
  width: 16px;
  height: 16px;
}

body.nz .nz-svc--dark {
  background: var(--nz-black);
  border-color: var(--nz-black);
  color: #fff;
}

body.nz .nz-svc--dark:hover {
  color: #fff;
}

body.nz .nz-svc--dark .nz-svc__title {
  color: #fff;
}

.nz-svc--dark p {
  color: #D1D5DB;
}

.nz-svc--dark .nz-svc__icon {
  background: var(--nz-charcoal);
  border-color: rgba(212, 175, 55, .4);
  color: var(--nz-gold);
}

.nz-svc--dark .nz-svc__more {
  color: var(--nz-gold);
}

/* ---------- Térkép előnézet ---------- */
.geofield-google-map {
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid black;
}
.nz-mapteaser {
  display: grid;
  grid-template-columns: 420px 1fr;
  min-height: 480px;
  background: var(--nz-black);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--nz-shadow-lg);
}

.nz-mapteaser__text {
  padding: 56px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
}

.nz-mapteaser__text p {
  margin: 0;
  color: #D1D5DB;
  font-weight: 300;
}

.nz-mapteaser__text .nz-eyebrow {
  margin: 0;
}

.nz-mapteaser__text .nz-btn {
  align-self: flex-start;
  margin-top: 8px;
}

.nz-mapteaser__map {
  position: relative;
  overflow: hidden;
  background: #161616;
}

.nz-mapteaser__map svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .7;
}

.nz-pin {
  position: absolute;
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 50%;
  background: var(--nz-gold);
  box-shadow: 0 0 0 6px rgba(212, 175, 55, .18);
}

/* ---------- Folyamat ---------- */
.nz-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
}

.nz-steps::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, .5), transparent);
}

.nz-steps li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 36px 32px;
  background: var(--nz-bg);
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  transition: border-color .3s, box-shadow .3s;
}

.nz-steps li:hover {
  border-color: rgba(212, 175, 55, .5);
  box-shadow: var(--nz-shadow);
}

.nz-steps__n {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  background: #fff;
  border: 1px solid rgba(212, 175, 55, .5);
  box-shadow: 0 0 15px rgba(212, 175, 55, .15);
  font: 700 20px var(--nz-serif);
  color: var(--nz-gold-icon);
}

body.nz .nz-steps h3 {
  font-size: 21px;
  margin-bottom: 10px;
}

.nz-steps p {
  margin: 0;
  font-size: 15px;
  color: var(--nz-muted);
}

/* ---------- Rólunk ---------- */
.nz-about {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 80px;
  align-items: center;
}

.nz-about__photo {
  position: relative;
  margin: 0;
}

.nz-about__photo img {
  width: 100%;
  aspect-ratio: 7 / 8;
  object-fit: cover;
  object-position: top;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--nz-shadow-lg);
  display: block;
}

.nz-about__photo figcaption {
  position: absolute;
  right: -28px;
  bottom: 32px;
  background: var(--nz-black);
  border-radius: 16px;
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.nz-about__photo figcaption strong {
  font: 700 22px var(--nz-serif);
  color: #fff;
}

.nz-about__photo figcaption span {
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--nz-gold);
}

.nz-about__text .nz-h2 {
  margin-bottom: 22px;
}

.nz-prose {
  font-size: 17px;
  line-height: 1.75;
  font-weight: 300;
  color: var(--nz-text);
}

.nz-prose p {
  margin: 0 0 16px;
}

.nz-chips {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.nz-chips li {
  background: #fff;
  border: 1px solid var(--nz-line);
  border-radius: 999px;
  padding: 9px 16px;
  font-size: 14px;
  font-weight: 500;
}

/* ---------- Vélemények ---------- */
.nz-reviews {
  position: relative;
  overflow: hidden;
}

.nz-reviews::before {
  content: '';
  position: absolute;
  right: -160px;
  top: 80px;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: rgba(212, 175, 55, .12);
  filter: blur(90px);
  pointer-events: none;
}

.nz-reviews__nav {
  display: flex;
  gap: 10px;
}

.nz-reviews__nav button {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid var(--nz-line);
  background: #fff;
  color: var(--nz-charcoal);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color .2s, background .2s;
}

.nz-reviews__nav button:hover {
  border-color: var(--nz-gold);
  background: var(--nz-bg);
}

.nz-reviews__track {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 60px) / 3);
  gap: 30px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 4px;
  align-items: start; /* a kinyitott kártya ne húzza magával a többit */
}

.nz-reviews__track::-webkit-scrollbar {
  display: none;
}

.nz-review {
  scroll-snap-align: start;
  margin: 0;
  background: var(--nz-bg);
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  padding: 34px 30px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  /* Fix magasság: a szöveg legfeljebb 7 sor, a rövidebbnél is ennyi helyet foglal,
     így a nevek egy vonalban vannak. „Tovább” → a kártya kinyílik. */
  --nz-rev-lines: 6;
}

.nz-review__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.nz-review__avatar {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--nz-gold);
}

.nz-review__avatar--initials {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nz-black);
  color: var(--nz-gold);
  font: 700 20px/1 var(--nz-serif);
  letter-spacing: .02em;
}

.nz-review__q {
  font: 700 64px/.6 var(--nz-serif);
  height: 26px;
  margin-top: 14px;
  color: var(--nz-gold);
}

.nz-review p {
  margin: 0;
  flex-grow: 1;
  font-size: 16px;
  line-height: 1.7;
  font-style: italic;
  font-weight: 300;
  color: var(--nz-text);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--nz-rev-lines);
  line-clamp: var(--nz-rev-lines);
  overflow: hidden;
  min-height: calc(1.7em * var(--nz-rev-lines));
}

.nz-review.is-open p {
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: none;
  overflow: visible;
}

.nz-review__more {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 22px;
  margin-top: -6px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--nz-gold-text);
  font: 600 13px/1.2 var(--nz-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}

.nz-review__more::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s ease;
}

.nz-review.is-open .nz-review__more::after {
  transform: translateY(2px) rotate(-135deg);
}

.nz-review__more:hover {
  color: var(--nz-black);
}

/* Gomb nélküli kártyán ugyanennyi hely marad, így a nevek egy vonalban vannak. */
.nz-review:not(:has(.nz-review__more)) footer {
  margin-top: 34px;
}

.nz-review footer {
  font: 700 18px var(--nz-serif);
}

/* ---------- GYIK ---------- */
.nz-faq {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.nz-faq details {
  background: #fff;
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  transition: box-shadow .3s;
}

.nz-faq details:hover {
  box-shadow: var(--nz-shadow);
}

.nz-faq summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 22px 26px;
  font: 700 20px/1.35 var(--nz-serif);
}

.nz-faq summary::-webkit-details-marker {
  display: none;
}

.nz-faq summary .ico {
  color: var(--nz-gold-icon);
  transition: transform .3s;
}

.nz-faq details[open] summary .ico {
  transform: rotate(180deg);
}

.nz-faq details p {
  margin: 0;
  padding: 0 26px 24px;
  font-weight: 300;
  color: var(--nz-muted);
}

/* ---------- Kapcsolat ---------- */
.nz-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

.nz-contact__info .nz-lead {
  margin: 0 0 36px;
  font-size: 18px;
  font-weight: 300;
}

.nz-contact__info ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.nz-contact__info li {
  display: flex;
  gap: 22px;
  align-items: flex-start;
}

.nz-contact__info small {
  display: block;
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--nz-subtle);
  margin-bottom: 4px;
}

.nz-contact__info strong {
  display: block;
  font-size: 24px;
}

.nz-contact__info em {
  font-style: normal;
  font-size: 14px;
  color: var(--nz-gold-text);
}

body.nz .nz-contact__info a,
.nz-contact__info span:not(.nz-ci) {
  font-size: 20px;
  font-weight: 300;
  color: var(--nz-charcoal);
  line-height: 1.4;
}

body.nz .nz-contact__info a:hover {
  color: var(--nz-gold-text);
}

.nz-ci {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--nz-line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nz-gold-icon);
  flex-shrink: 0;
}

.nz-ci .ico {
  width: 24px;
  height: 24px;
}

.nz-contact__form {
  background: #fff;
  border: 1px solid var(--nz-line);
  border-radius: 26px;
  padding: 44px;
  box-shadow: var(--nz-shadow-lg);
}

/* ---------- Űrlapok (webform, Drupal) ---------- */
body.nz .form-item {
  margin: 0 0 20px;
}

body.nz label,
body.nz .fieldset-legend {
  display: block;
  font-size: 14px;
  color: var(--nz-muted);
  margin-bottom: 8px;
  font-weight: 500;
}

body.nz input[type="text"],
body.nz input[type="email"],
body.nz input[type="tel"],
body.nz input[type="number"],
body.nz input[type="search"],
body.nz input[type="date"],
body.nz input[type="password"],
body.nz textarea,
body.nz select {
  width: 100%;
  max-width: 100%;
  background: var(--nz-bg);
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius-sm);
  padding: 14px 16px;
  font: 400 16px var(--nz-sans);
  color: var(--nz-charcoal);
  transition: border-color .2s, background .2s;
}

body.nz input:focus,
body.nz textarea:focus,
body.nz select:focus {
  outline: none;
  border-color: var(--nz-gold);
  background: #fff;
}

body.nz .nz-search select {
  background-color: rgba(0, 0, 0, .42);
  border-color: rgba(255, 255, 255, .14);
  color: #fff;
  padding: 0 40px 0 48px;
}

body.nz .form-type-checkbox label,
body.nz .form-type-radio label {
  display: inline;
  font-weight: 400;
}

body.nz input[type="checkbox"],
body.nz input[type="radio"] {
  accent-color: var(--nz-charcoal);
  width: 18px;
  height: 18px;
  vertical-align: middle;
  margin-right: 8px;
}

body.nz .form-submit,
body.nz .webform-button--submit,
body.nz button.button,
body.nz input.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  width: 100%;
  padding: 0 28px;
  border: 0;
  border-radius: var(--nz-radius-sm);
  background: var(--nz-charcoal);
  color: #fff;
  font: 700 14px var(--nz-sans);
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s;
}

body.nz .form-submit:hover,
body.nz .webform-button--submit:hover {
  background: #333;
}

body.nz .description,
body.nz .form-item__description {
  font-size: 13px;
  color: var(--nz-subtle);
  margin-top: 6px;
}

body.nz .form-required::after {
  content: ' *';
  color: #B42318;
}

/* ---------- Üzenetek, fülek ---------- */
.nz-messages {
  padding-top: 24px;
}

body.nz .messages {
  border-radius: var(--nz-radius-sm);
  padding: 16px 20px;
  margin: 16px 0;
  border: 1px solid var(--nz-line);
  background: #fff;
}

body.nz .messages--status {
  border-color: #A6D8B8;
  background: #F0FAF4;
}

body.nz .messages--error {
  border-color: #F2B8B5;
  background: #FEF3F2;
}

body.nz .tabs,
body.nz ul.tabs {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  flex-wrap: wrap;
}

body.nz .tabs a {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--nz-line);
  background: #fff;
  font-size: 14px;
}

body.nz .tabs a.is-active {
  background: var(--nz-charcoal);
  color: #fff;
  border-color: var(--nz-charcoal);
}

/* ---------- Belső oldalak ---------- */
.nz-pagehead {
  background: var(--nz-black);
  color: #D1D5DB;
  padding: 14px 0;
  font-size: 14px;
}

body.nz .nz-pagehead a {
  color: #D1D5DB;
}

body.nz .nz-pagehead a:hover {
  color: var(--nz-gold);
}

.nz-pagehead ol,
.nz-pagehead ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nz-pagehead li + li::before {
  content: '/';
  margin-right: 8px;
  color: #6B7280;
}

.nz-main {
  padding: 56px 0 100px;
  min-height: 50vh;
}

body.nz .nz-main h1,
body.nz .page-title {
  font: 700 clamp(30px, 3.4vw, 46px)/1.15 var(--nz-serif);
  margin: 0 0 28px;
}

.nz-layout--sidebar,
.nz-layout--filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 48px;
  align-items: start;
}

.nz-layout--filters {
  grid-template-columns: 300px minmax(0, 1fr);
}

.nz-filters {
  position: sticky;
  top: 100px;
  background: #fff;
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
}

.nz-filters h2,
.nz-filters .block-title {
  font: 600 12px var(--nz-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  margin: 18px 0 8px;
  color: var(--nz-charcoal);
}

.nz-filters .block:first-child h2 {
  margin-top: 0;
}

/* Meglévő lista-nézet (indexelt_kereses, ingatlanok_front) kártyaként – átmeneti,
   a 2. fázisban saját sablont kap. */
body.nz .views-view-grid,
body.nz .view-content {
  gap: 24px;
}

body.nz .ingatlan-box {
  background: #fff;
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  overflow: hidden;
  box-shadow: var(--nz-shadow);
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
}

body.nz .ingatlan-box .kep img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  display: block;
}

body.nz .ingatlan-box .varosresz {
  padding: 18px 22px 0;
  color: var(--nz-gold-text);
  font-weight: 500;
  font-size: 14px;
}

body.nz .ingatlan-box .cim {
  padding: 6px 22px 0;
  font: 700 20px/1.3 var(--nz-serif);
}

body.nz .ingatlan-box .alapinfo {
  padding: 12px 22px 0;
  color: var(--nz-muted);
  font-size: 14px;
}

body.nz .ingatlan-box .ar {
  padding: 10px 22px 22px;
  font: 700 23px var(--nz-serif);
}

body.nz .ingatlan-box .privat-info-container {
  display: none;
}

/* Pager */
body.nz .pager__items {
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 40px 0 0;
}

body.nz .pager__item a,
body.nz .pager__item.is-active {
  display: inline-flex;
  min-width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid var(--nz-line);
  background: #fff;
  color: var(--nz-charcoal);
  padding: 0 12px;
}

body.nz .pager__item.is-active {
  color: #fff;
  border-color: var(--nz-charcoal);
}

/* ---------- Lábléc ---------- */
.nz-footer {
  background: var(--nz-black);
  color: #9CA3AF;
  padding: 72px 0 32px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  font-size: 14px;
}

.nz-footer__grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1.2fr 1fr;
  gap: 40px;
}

body.nz .nz-footer__brand img {
  height: 64px;
  width: auto;
  display: block;
  margin-bottom: 20px;
}

body.nz .nz-footer__title {
  font: 600 12px/1.4 var(--nz-sans);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--nz-gold);
  margin: 0 0 16px;
}

.nz-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.nz-footer__social {
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 18px !important;
}

body.nz .nz-footer a {
  color: #9CA3AF;
}

body.nz .nz-footer a:hover {
  color: var(--nz-gold);
}

.nz-footer p {
  margin: 0;
  line-height: 1.7;
}

.nz-footer__docs .block,
.nz-footer__docs .views-element-container {
  margin: 0 0 10px;
}

.nz-footer__docs h2:not(.nz-footer__title) {
  display: none;
}

.nz-footer__docs .views-field-field-relevancia {
  display: none;
}

.nz-footer .field__label {
  display: none;
}

.nz-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #6B7280;
}

.nz-footer__word {
  font: 700 18px var(--nz-serif);
  color: #fff;
  letter-spacing: .08em;
  text-transform: none;
}

.nz-footer__word small {
  font: 400 9px var(--nz-sans);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--nz-gold);
  margin-left: 6px;
}

/* ==========================================================================
   Reszponzív
   ========================================================================== */
@media (max-width: 1100px) {
  .nz-about {
    grid-template-columns: 360px 1fr;
    gap: 56px;
  }

  .nz-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .nz-nav {
    gap: 24px;
  }
}

@media (max-width: 1023px) {
  :root {
    --nz-header-h: 76px;
  }

  body.nz .nz-header__logo img {
    height: 46px;
  }

  .nz-header__toggle {
    display: inline-flex;
  }

  .nz-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 12px var(--nz-gutter) 24px;
    background: rgba(10, 10, 10, .97);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
  }

  .nz-header.is-open .nz-nav {
    display: flex;
  }

  .nz-header.is-open {
    background: rgba(10, 10, 10, .97);
  }

  body.nz .nz-nav a {
    width: 100%;
    padding: 16px 0;
    font-size: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
  }

  .nz-nav a.is-active::after {
    display: none;
  }

  body.nz .nz-nav .nz-nav__phone {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--nz-gold);
    border-bottom: 0;
    letter-spacing: .06em;
  }

  .nz-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nz-steps {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .nz-steps::before {
    display: none;
  }

  .nz-mapteaser {
    grid-template-columns: 1fr;
  }

  .nz-mapteaser__map {
    min-height: 280px;
  }

  .nz-about {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .nz-about__photo {
    max-width: 420px;
  }

  .nz-contact {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .nz-reviews__track {
    grid-auto-columns: calc((100% - 30px) / 2);
  }

  .nz-layout--sidebar,
  .nz-layout--filters {
    grid-template-columns: 1fr;
  }

  .nz-filters {
    position: static;
  }
}

@media (max-width: 700px) {
  :root {
    --nz-gutter: 18px;
  }

  .nz-section {
    padding: 72px 0;
  }

  .nz-hero {
    padding: calc(var(--nz-header-h) + 40px) 0 56px;
  }

  .nz-search {
    flex-direction: column;
    padding: 16px;
    gap: 12px;
    margin-bottom: 40px;
  }

  .nz-search .nz-btn {
    width: 100%;
  }

  .nz-cats {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.nz .nz-cat {
    flex-direction: row;
    text-align: left;
    padding: 18px 20px;
    gap: 16px;
  }

  .nz-cat__icon {
    width: 52px;
    height: 52px;
    margin: 0;
    flex-shrink: 0;
  }

  .nz-cat__icon .ico {
    width: 24px;
    height: 24px;
  }

  .nz-cat__title {
    font-size: 21px;
    margin: 0;
    flex-grow: 1;
  }

  .nz-cat__more {
    font-size: 0;
  }

  .nz-cat__more .ico {
    width: 20px;
    height: 20px;
  }

  .nz-grid--3,
  .nz-grid--4 {
    grid-template-columns: 1fr;
  }

  .nz-head--split {
    flex-direction: column;
    align-items: flex-start;
  }

  .nz-head {
    margin-bottom: 36px;
  }

  .nz-mapteaser__text {
    padding: 36px 26px;
  }

  .nz-about__photo figcaption {
    right: 12px;
    bottom: 12px;
  }

  .nz-reviews__track {
    grid-auto-columns: 86%;
    gap: 16px;
  }

  .nz-contact__form {
    padding: 26px 20px;
  }

  .nz-footer__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* ==========================================================================
   Noza téma – kiegészítések
   ========================================================================== */
/* Térkép előnézet kártya (az első kiemelt ingatlan) */
body.nz .nz-mapcard {
  position: absolute;
  left: 30%;
  top: 25%;
  width: 210px;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 20px 40px -16px rgba(0, 0, 0, .8);
  display: flex;
  flex-direction: column;
  color: var(--nz-black);
}

.nz-mapcard img {
  width: 100%;
  height: 110px !important;
  object-fit: cover;
  display: block;
}

.nz-mapcard__loc {
  padding: 12px 12px 0;
  font-size: 12px;
  font-weight: 500;
  color: var(--nz-gold-text);
}

.nz-mapcard strong {
  padding: 2px 12px 14px;
  font: 700 19px var(--nz-serif);
}

@media (max-width: 767px) {
  .nz-mapcard {
    display: none !important;
  }
}

/* Mobil hero */
@media (max-width: 1023px) {
  .nz-hero {
    min-height: 100svh;
  }
}

/* Vélemények: 3 kártya egy sorban, lapozó csak 3-nál több véleménynél */
.nz-reviews .nz-reviews__nav {
  justify-content: center;
  margin: -24px 0 28px;
}

/* Szűrők (kereső oldal) */
.nz-filters__title {
  font: 700 22px var(--nz-serif);
}

.nz-filters select {
  margin-bottom: 4px;
}

.nz-filters .facets-widget-dropdown,
.nz-filters .js-facets-dropdown-links {
  width: 100%;
}

.nz-filters form .form-actions {
  margin-top: 12px;
}

/* Ingatlan listák (views) kártyarácsban */
body.nz .view-indexelt-kereses .view-content,
body.nz .view-ingatlanok-front .view-content,
body.nz .view-hasonlo-ingatlanok .view-content {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.nz-layout--filters .view-indexelt-kereses .view-content {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.nz .view-indexelt-kereses .view-content > .views-row,
body.nz .view-hasonlo-ingatlanok .view-content > .views-row,
body.nz .view-ingatlanok-front .view-content > .views-row {
  display: flex;
}

body.nz .view-content > .views-row > .nz-card {
  width: 100%;
}

@media (min-width: 1500px) {
  .nz-layout--filters .view-indexelt-kereses .view-content {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1023px) {

  body.nz .view-indexelt-kereses .view-content,
  body.nz .view-ingatlanok-front .view-content,
  body.nz .view-hasonlo-ingatlanok .view-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {

  body.nz .view-indexelt-kereses .view-content,
  body.nz .view-ingatlanok-front .view-content,
  body.nz .view-hasonlo-ingatlanok .view-content,
  .nz-layout--filters .view-indexelt-kereses .view-content {
    grid-template-columns: 1fr;
  }
}

/* Webform (kapcsolat) a terv szerint */
.nz-contact__form .webform-flexbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 0;
}

.nz-contact__form .webform-flex {
  margin: 0;
}

.nz-contact__form textarea {
  min-height: 128px;
  resize: vertical;
}

.nz-contact__form .form-item {
  margin-bottom: 20px;
}

.nz-contact__form .form-type-checkbox {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.nz-contact__form .form-type-checkbox input {
  margin: 2px 0 0;
  flex-shrink: 0;
}

@media (max-width: 700px) {
  .nz-contact__form .webform-flexbox {
    grid-template-columns: 1fr;
  }
}

/* Adatlap (node) – alap tipográfia, amíg saját sablont nem kap */
body.nz .node--type-ingatlanok .field__label {
  font-weight: 600;
  color: var(--nz-muted);
}

body.nz .node--type-ingatlanok .field {
  margin-bottom: 10px;
}

body.nz .nz-main img {
  border-radius: var(--nz-radius-sm);
}

/* Belső oldalak: tartalmi szöveg */
body.nz .nz-layout__main > * + * {
  margin-top: 0;
}

body.nz .nz-main p,
body.nz .nz-main li {
  color: var(--nz-text);
}

/* Főoldal – „Kiemelt” régió: a view sorai 3 oszlopban (formázatlan lista) */
body.nz .nz-featured .view-content {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

body.nz .nz-featured .views-row {
  display: flex;
  min-width: 0;
}

body.nz .nz-featured .views-row > .nz-card {
  width: 100%;
}

body.nz .nz-featured .block,
body.nz .nz-featured .views-element-container {
  margin: 0;
}

@media (max-width: 1023px) {
  body.nz .nz-featured .view-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  body.nz .nz-featured .view-content {
    grid-template-columns: 1fr;
  }
}

/* A Views „egyéni szöveg” mezőben szerkesztett kártya (.nz-card) kitöltse a cellát:
   .views-row > .views-field-nothing > .field-content > a.nz-card */
body.nz .nz-featured .views-row > .views-field,
body.nz .nz-featured .views-row .field-content {
  display: flex;
  width: 100%;
}

body.nz .nz-featured .views-row .field-content > .nz-card {
  width: 100%;
}

/* ==========================================================================
   CSS-ikonok a Views „egyéni szöveg” mezőkhöz.
   A Views biztonsági szűrője kiveszi az <svg> elemeket, ezért ott ezt használd:
     <i class="nz-i nz-i--area"></i>
   Elérhető: pin, area, bed, plot, arrow, phone, mail, house, building, key
   ========================================================================== */
.nz-i {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  vertical-align: middle;
  background-color: currentColor;
  -webkit-mask: var(--nz-i) center / contain no-repeat;
  mask: var(--nz-i) center / contain no-repeat;
}

.nz-card__stats dd .nz-i {
  color: var(--nz-gold-icon);
}

.nz-card__loc .nz-i {
  color: var(--nz-gold-text);
}

.nz-i--pin {
  --nz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
}

.nz-i--area {
  --nz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E");
}

.nz-i--bed {
  --nz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18v-6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6M3 18h18M3 21v-3M21 21v-3M6 10V7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3'/%3E%3C/svg%3E");
}

.nz-i--plot {
  --nz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7l6-3 6 3 6-3v13l-6 3-6-3-6 3z'/%3E%3Cpath d='M9 4v13M15 7v13'/%3E%3C/svg%3E");
}

.nz-i--arrow {
  --nz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

.nz-i--phone {
  --nz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
}

.nz-i--mail {
  --nz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
}

.nz-i--house {
  --nz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5L12 3l9 7.5'/%3E%3Cpath d='M5 9.5V20h14V9.5'/%3E%3Cpath d='M10 20v-6h4v6'/%3E%3C/svg%3E");
}

.nz-i--building {
  --nz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='1.5'/%3E%3Cpath d='M9 7h.01M12 7h.01M15 7h.01M9 10.5h.01M12 10.5h.01M15 10.5h.01M9 14h.01M12 14h.01M15 14h.01M10 21v-3h4v3'/%3E%3C/svg%3E");
}

.nz-i--key {
  --nz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='M11 12l9-9M16 7l3 3M14 9l2 2'/%3E%3C/svg%3E");
}

/* A mezők „ m<sup>2</sup>” utótagja a flex elrendezésben ne csússzon szét */
.nz-card__stats dd sup {
  margin-left: -5px;
  font-size: .62em;
  align-self: flex-start;
  line-height: 1;
  position: relative;
  top: 1px;
}

/* ==========================================================================
   INGATLAN ADATLAP (node: ingatlanok, Layout Builder szekciók)
   ========================================================================== */
.page-type-ingatlanok .nz-main {
  padding-top: 40px;
}

.page-type-ingatlanok .nz-layout__main article > div > .layout {
  margin-bottom: 40px;
}

.page-type-ingatlanok .layout--twocol-section {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: flex-start;
}

.page-type-ingatlanok .layout--twocol-section > .layout__region {
  min-width: 0;
}

.page-type-ingatlanok .layout--twocol-section--67-33 > .layout__region--first {
  flex: 1 1 calc(67% - 32px);
}

.page-type-ingatlanok .layout--twocol-section--67-33 > .layout__region--second {
  flex: 1 1 calc(33% - 32px);
  position: sticky;
  top: 100px;
}

.page-type-ingatlanok .layout--twocol-section--50-50 > .layout__region {
  flex: 1 1 calc(50% - 32px);
}

.nz-block-title {
  font: 700 26px/1.2 var(--nz-serif);
  margin: 0 0 18px;
}

/* Cím + ár */
.cim-ar .sor {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px 48px;
  padding-bottom: 8px;
  flex-wrap: nowrap;
}

body.nz .cim-ar h1.cim {
  font: 700 clamp(28px, 3.2vw, 44px)/1.15 var(--nz-serif);
  margin: 0;
  flex: 1 1 auto;
  max-width: 860px;
}

.cim-ar .ar {
  font: 700 clamp(28px, 3vw, 42px)/1 var(--nz-serif);
  color: var(--nz-black);
  white-space: nowrap;
}

.cim-ar .ar::before {
  content: 'Irányár';
  display: block;
  font: 600 12px var(--nz-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--nz-subtle);
  margin-bottom: 8px;
  text-align: right;
}

/* Galéria (Colorbox) */
.nz-gallery {
  position: relative;
}

.nz-gallery .view-content {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 170px;
  gap: 10px;
}

.nz-gallery .views-row {
  overflow: hidden;
  border-radius: 12px;
  background: var(--nz-line);
}

.nz-gallery .views-row:first-child {
  grid-column: span 2;
  grid-row: span 2;
}

.nz-gallery .views-row:nth-child(n+6) {
  display: none;
}

.nz-gallery .views-row:not(:has(img)) {
  display: none;
}

.nz-gallery .views-row a,
.nz-gallery .field-content,
.nz-gallery .views-field {
  display: block;
  height: 100%;
}

body.nz .nz-gallery img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
  border-radius: 0;
  transition: transform .6s;
}

.nz-gallery .views-row:hover img {
  transform: scale(1.04);
}

.nz-gallery--single .view-content {
  grid-template-columns: 1fr;
  grid-auto-rows: auto;
}

.nz-gallery--single .views-row:first-child {
  grid-column: auto;
  grid-row: auto;
  aspect-ratio: 3 / 2;
}

.nz-gallery__all {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .95);
  color: var(--nz-black);
  font: 700 14px var(--nz-sans);
  cursor: pointer;
  box-shadow: 0 8px 20px -8px rgba(0, 0, 0, .4);
}

.nz-gallery__all:hover {
  background: var(--nz-gold);
}

/* Alapadatok kártya (jobb oldal) */
.ingatlan-alapadatok .view {
  background: #fff;
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  padding: 26px 24px;
  box-shadow: var(--nz-shadow);
}

.ingatlan-alapadatok .views-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  border: 1px solid var(--nz-line-soft);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.ingatlan-alapadatok .views-field {
  background: #fff;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ingatlan-alapadatok .views-label {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--nz-subtle);
}

.ingatlan-alapadatok .field-content {
  font: 700 17px/1.3 var(--nz-serif);
  color: var(--nz-charcoal);
}

.ingatlan-alapadatok .views-field-field-futes {
  grid-column: span 2;
}

/* Kapcsolat doboz az alapadatok alatt */
.nz-agent {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px 14px;
  align-items: center;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--nz-line);
}

.nz-agent__photo {
  width: 64px;
  height: 64px !important;
  border-radius: 50% !important;
  object-fit: cover;
  object-position: top;
  background: var(--nz-bg);
}

.nz-agent__name strong {
  display: block;
  font: 700 20px var(--nz-serif);
}

.nz-agent__name span {
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nz-gold-text);
}

.nz-agent .nz-btn {
  grid-column: span 2;
  width: 100%;
  min-height: 50px;
  font-size: 13px;
}

.nz-agent .nz-btn .nz-i {
  width: 18px;
  height: 18px;
}

body.nz .nz-agent__loan {
  grid-column: span 2;
  font-size: 14px;
  font-weight: 600;
  color: var(--nz-gold-text);
  text-align: center;
}

/* Műszaki adatok – elegáns adat-rács: címke felül (kis kapitális), érték alatta (serif) */
.ingatlan-muszaki-adatok {
  background: #fff;
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  padding: 34px 34px 30px;
  box-shadow: var(--nz-shadow);
}

body.nz .ingatlan-muszaki-adatok .view-content > .views-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--nz-line-soft);
}

.ingatlan-muszaki-adatok .views-field {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px 20px 0;
  border-bottom: 1px solid var(--nz-line-soft);
  min-width: 0;
}

.ingatlan-muszaki-adatok .views-field + .views-field {}

.ingatlan-muszaki-adatok .views-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font: 600 11px/1.3 var(--nz-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nz-subtle);
}

.ingatlan-muszaki-adatok .views-label::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--nz-gold);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, .18);
  flex-shrink: 0;
}

.ingatlan-muszaki-adatok .field-content {
  padding-left: 14px;
  font: 700 18px/1.35 var(--nz-serif);
  color: var(--nz-charcoal);
  overflow-wrap: anywhere;
}

.ingatlan-muszaki-adatok .field-content sup {
  font-size: .6em;
}

/* hosszabb, felsorolásos értékek (pl. fűtés) két oszlopot kapnak */
.ingatlan-muszaki-adatok .views-field-field-futes {
  grid-column: span 2;
}

/* igen/van értékek arany pipával (a JS jelöli: .nz-yes) */
.ingatlan-muszaki-adatok .field-content.nz-yes::before {
  content: '✓';
  display: inline-block;
  margin-right: 8px;
  color: var(--nz-gold-icon);
  font-family: var(--nz-sans);
  font-weight: 700;
}

/* Leírás + térkép */
.ingatlan-leirasa {
  background: #fff;
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  padding: 30px;
  font-size: 16px;
  line-height: 1.75;
  color: var(--nz-text);
}

.ingatlan-leirasa::before {
  content: 'Az ingatlanról';
  display: block;
  font: 700 26px/1.2 var(--nz-serif);
  color: var(--nz-charcoal);
  margin-bottom: 14px;
}

.ingatlan-leirasa p {
  margin: 0 0 14px;
}

.leiras-terkep .layout__region--second > * {
  border-radius: var(--nz-radius);
  overflow: hidden;
  border: 1px solid var(--nz-line);
}

.leiras-terkep .field__label,
.leiras-terkep .visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
}

/* Videó, megosztás */
.page-type-ingatlanok .youtube {
  border-radius: var(--nz-radius);
  overflow: hidden;
}

.page-type-ingatlanok .youtube .field__label {
  font: 700 26px var(--nz-serif);
  margin-bottom: 14px;
}

.page-type-ingatlanok .youtube iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: var(--nz-radius);
  display: block;
}

/* A YouTube modul <figure> konténerének böngésző-alapértelmezett margója
   (1em 40px) mobilon összenyomta a videót; a reszponzív konténerben az
   iframe a modul padding-bottom arányát töltse ki. */
.page-type-ingatlanok .youtube figure.youtube-container {
  margin: 0;
}

.page-type-ingatlanok .youtube .youtube-container--responsive iframe {
  height: 100% !important;
  aspect-ratio: auto;
}

.page-type-ingatlanok .megsztas {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 18px 24px;
  background: #fff;
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  font-weight: 600;
}

/* Hasonló ingatlanok (tartalom alatti view blokk) */
.page-type-ingatlanok .view-indexelt-kereses {
  margin-top: 70px;
  padding-top: 60px;
  border-top: 1px solid var(--nz-line);
}

.page-type-ingatlanok .nz-main h2:not(.nz-block-title):not(.nz-card__title) {
  font: 700 clamp(26px, 2.6vw, 36px) var(--nz-serif);
  margin: 0 0 28px;
}

@media (max-width: 1023px) {
  .page-type-ingatlanok .layout--twocol-section > .layout__region {
    flex-basis: 100% !important;
    position: static !important;
  }

  body.nz .ingatlan-muszaki-adatok .view-content > .views-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .nz-gallery .view-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 120px;
  }

  .ingatlan-muszaki-adatok {
    padding: 24px 20px;
  }

  body.nz .ingatlan-muszaki-adatok .view-content > .views-row {
    grid-template-columns: 1fr 1fr;
  }

  .ingatlan-muszaki-adatok .views-field {
    padding-right: 12px;
  }

  .cim-ar .ar::before {
    text-align: left;
  }
}

/* Adatlap finomítások */
.cim-ar .ar {
  flex: 0 0 auto;
  text-align: right;
}

.ingatlan-alapadatok .view:not(:has(.views-row)),
.page-type-ingatlanok .nz-main .view:not(:has(.views-row)):not(:has(.view-empty)):not(:has(.item-list)) {
  display: none;
}

/* Egyetlen (első) kép esetén teljes szélesség – a Colorbox „csak az első kép” beállításához is */
.nz-gallery .view-content:not(:has(.views-row:nth-child(2) img)) {
  grid-template-columns: 1fr;
  grid-auto-rows: auto;
}

.nz-gallery .view-content:not(:has(.views-row:nth-child(2) img)) .views-row:first-child {
  grid-column: auto;
  grid-row: auto;
  aspect-ratio: 3 / 2;
}

.adatlap-kep .view:not(.nz-gallery) .views-row:not(:has(img)) {
  display: none;
}

.adatlap-kep .view:not(.nz-gallery) img {
  width: 100%;
  height: auto !important;
  border-radius: var(--nz-radius);
}

@media (max-width: 900px) {
  .cim-ar .sor {
    flex-wrap: wrap;
  }

  .cim-ar .ar {
    text-align: left;
  }
}

/* ==========================================================================
   Adatlap elrendezés: a műszaki adatok közvetlenül a galéria alá kerülnek,
   a jobb oldali sáv (alapadatok + kapcsolat) mellettük végig kitart.
   A Layout Builder szekciói testvér-elemek, ezért a képes szekciót
   „display: contents”-szel feloldjuk, és a közös szülő lesz a rács.
   ========================================================================== */
@media (min-width: 1024px) {
  .page-type-ingatlanok article > div:has(> .kep_alapadatok) {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
    column-gap: 32px;
    row-gap: 32px;
    align-items: start;
  }

  .page-type-ingatlanok article > div:has(> .kep_alapadatok) > * {
    grid-column: 1 / -1;
    margin: 0 !important;
  }

  .page-type-ingatlanok article > div:has(> .kep_alapadatok) > .kep_alapadatok {
    display: contents;
  }

  .page-type-ingatlanok .kep_alapadatok > .layout__region--first {
    grid-column: 1;
    grid-row: 2;
  }

  .page-type-ingatlanok .kep_alapadatok > .layout__region--second {
    grid-column: 2;
    grid-row: 2 / span 2;
    align-self: start;
    position: sticky;
    top: 100px;
  }

  .page-type-ingatlanok article > div:has(> .kep_alapadatok) > .layout:has(.ingatlan-muszaki-adatok) {
    grid-column: 1;
    grid-row: 3;
  }

  /* a keskenyebb oszlopban 3 oszlopos műszaki rács */
  body.nz .ingatlan-muszaki-adatok .view-content > .views-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ingatlan-muszaki-adatok {
    padding: 28px 28px 24px;
  }
}

.page-type-ingatlanok .kep_alapadatok > .layout__region--first,
.page-type-ingatlanok .kep_alapadatok > .layout__region--second {
  flex-basis: auto;
}

/* Csak bejelentkezett szerkesztőknek látszó privát adatok (eladó, pontos cím) */
.view-publikus-adat-megjelnitese {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px dashed #D6B25E;
  border-radius: 12px;
  background: #FFFBEF;
  font-size: 14px;
  color: var(--nz-text);
}

.view-publikus-adat-megjelnitese::before {
  content: 'Belső adat – csak szerkesztőknek';
  display: block;
  margin-bottom: 6px;
  font: 600 11px var(--nz-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--nz-gold-text);
}

/* A jobb oldali sáv ne legyen „ragadós”: a rács miatt a lenti szekciók fölé csúszott. */
.page-type-ingatlanok .kep_alapadatok > .layout__region--second {
  position: static !important;
}

/* ==========================================================================
   Adminisztrációs elemek (csak bejelentkezve látszanak)
   ========================================================================== */
/* A [hidden] elemeket semmilyen témaszabály ne jelenítse meg
   (pl. a ceruza ikon mögötti „Blokk beállítása…” menük). */
[hidden] {
  display: none !important;
}

/* Szerkesztő fülek (Megtekintés / Szerkesztés / Törlés …) – pirulák egy sorban */
#block-noza-local-tasks {
  margin: 0 0 28px;
}

#block-noza-local-tasks > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#block-noza-local-tasks > ul > li {
  margin: 0;
}

body.nz #block-noza-local-tasks > ul a {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid var(--nz-line);
  background: #fff;
  color: var(--nz-muted);
  font: 500 14px var(--nz-sans);
  transition: border-color .2s, color .2s, background .2s;
}

body.nz #block-noza-local-tasks > ul a:hover {
  border-color: var(--nz-gold);
  color: var(--nz-charcoal);
}

body.nz #block-noza-local-tasks > ul a.is-active {
  background: var(--nz-charcoal);
  border-color: var(--nz-charcoal);
  color: #fff;
}

#block-noza-local-actions ul {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}

/* Lábléc: a blokkok saját címsorai helyett a lábléc oszlopcímei látszanak */
.nz-footer__grid > div h2:not(.nz-footer__title),
.nz-footer__grid > div h3 {
  display: none;
}

.nz-footer .view-header {
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6B7280;
  margin: 0 0 8px;
}

.nz-footer__docs .view + .view,
.nz-footer__docs .views-element-container + .views-element-container {
  margin-top: 18px;
}

.nz-footer .item-list ul {
  gap: 8px;
}

.nz-footer p strong {
  color: #D1D5DB;
  font-weight: 600;
}

/* Lapozó: az aktív elem ne kapjon dupla keretet */
body.nz .pager__item.is-active {
  padding: 0;
  border: 0;
  background: none;
  min-width: 0;
}

body.nz .pager__item.is-active a {
  background: var(--nz-charcoal);
  color: #fff;
  border-color: var(--nz-charcoal);
}

/* Megosztás a kapcsolat-doboz alján – sötét körök, arany ikon */
.nz-agent .nz-share {
  grid-column: span 2;
  display: block;
  margin: 4px 0 0;
  padding: 16px 0 0;
  border: 0;
  border-top: 1px solid var(--nz-line);
  border-radius: 0;
  background: none;
  box-shadow: none;
}

.nz-share .addtoany_list {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  line-height: 1 !important;
}

.nz-share .szoveg {
  font: 600 11px var(--nz-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--nz-subtle);
}

.nz-share .ikonok {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.nz-share .ikonok a {
  display: inline-flex;
  padding: 0 !important;
  line-height: 1;
}

.nz-share .a2a_svg {
  width: 38px !important;
  height: 38px !important;
  line-height: 38px !important;
  border-radius: 50% !important;
  background: var(--nz-charcoal) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: background .2s, transform .2s;
}

.nz-share .a2a_svg svg {
  width: 22px;
  height: 22px;
}

.nz-share .a2a_svg svg path,
.nz-share .a2a_svg svg g {
  fill: var(--nz-gold) !important;
}

.nz-share .ikonok a:hover .a2a_svg {
  background: var(--nz-gold) !important;
  transform: translateY(-2px);
}

.nz-share .ikonok a:hover .a2a_svg svg path {
  fill: var(--nz-black) !important;
}

.nz-share .a2a_label {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  width: 1px;
  height: 1px;
}

.nz-share .ikonok a:focus-visible {
  outline: 2px solid var(--nz-gold);
  outline-offset: 3px;
  border-radius: 50%;
}

/* ==========================================================================
   KERESŐ OLDAL – SZŰRŐ SÁV (Views felfedett űrlap + Facets)
   ========================================================================== */
/* A sáv magasabb, mint a képernyő, ezért nem „ragad” – így az alja is elérhető. */
.nz-filters {
  /*position: static;*/
  padding: 26px 24px 28px;
  box-shadow: var(--nz-shadow);
}

.nz-filters__title {
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--nz-line-soft);
}

/* Közös: a blokkok közti térköz, felsoroláspontok nélkül */
.nz-filters .facet-block,
.nz-filters .views-exposed-form {
  margin: 0 0 14px;
}

.nz-filters ul,
.nz-filters li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Irányár: keret nélküli csoport, a két mező egymás mellett */
.nz-filters fieldset {
  border: 0;
  margin: 0 0 16px;
  padding: 0;
  min-width: 0;
}

.nz-filters legend,
.nz-filters .fieldset-legend {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  font: 600 11px/1.3 var(--nz-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nz-subtle);
}

.nz-filters fieldset .fieldset-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.nz-filters fieldset .form-item {
  margin: 0;
}

.nz-filters fieldset label {
  margin: 0 0 4px;
  font-size: 12px;
  color: var(--nz-subtle);
}

body.nz .nz-filters input[type="text"] {
  padding: 12px 12px;
  font-size: 15px;
  background: var(--nz-bg);
}

body.nz .nz-filters input[type="text"]::placeholder {
  color: #9CA3AF;
}

/* Gombok: Keresés (arany) + Alaphelyzet (visszafogott) egymás mellett */
.nz-filters .form-actions {
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin: 4px 0 18px;
}

body.nz .nz-filters .form-actions .form-submit {
  min-height: 46px;
  margin: 0;
  padding: 0 18px;
  font-size: 13px;
  border-radius: var(--nz-radius-sm);
}

body.nz .nz-filters .form-actions .form-submit:first-child {
  background: var(--nz-gold);
  color: var(--nz-black);
}

body.nz .nz-filters .form-actions .form-submit:first-child:hover {
  background: var(--nz-gold-hover);
}

body.nz .nz-filters .form-actions .form-submit + .form-submit {
  width: auto;
  background: transparent;
  color: var(--nz-muted);
  border: 1px solid var(--nz-line);
}

body.nz .nz-filters .form-actions .form-submit + .form-submit:hover {
  border-color: var(--nz-charcoal);
  color: var(--nz-charcoal);
}

/* Legördülő szűrők: a „Finomító …” feliratok elrejtve (a mező magáért beszél),
   képernyőolvasónak megmaradnak */
.nz-filters .facets-widget-dropdown label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

body.nz .nz-filters select {
  height: 48px;
  margin: 0;
  padding: 0 40px 0 14px;
  font-size: 15px;
  color: var(--nz-charcoal);
  background: var(--nz-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8962A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px;
  appearance: none;
  cursor: pointer;
}

body.nz .nz-filters select:hover {
  border-color: #D1D5DB;
}

/* Kiválasztott (aktív) legördülő: arany keret */
.nz-filters .facet-active select,
.nz-filters select.facet-active {
  border-color: var(--nz-gold);
  background-color: #fff;
}

/* Jelölőnégyzetes (link) szűrők: saját négyzet + felirat */
.nz-filters .facets-widget-links ul,
.nz-filters .facets-widget-checkbox ul {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 6px 0 0;
  border-top: 1px solid var(--nz-line-soft);
}

.nz-filters .facets-widget-links li a,
.nz-filters .facets-widget-checkbox li label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 4px;
  font-size: 15px;
  font-weight: 500;
  color: var(--nz-charcoal);
  cursor: pointer;
  border-radius: 8px;
}

.nz-filters .facets-widget-links li a::before {
  content: '';
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1.5px solid #D1D5DB;
  border-radius: 6px;
  background: #fff center / 14px no-repeat;
  transition: border-color .2s, background-color .2s;
}

.nz-filters .facets-widget-links li a:hover::before {
  border-color: var(--nz-gold);
}

.nz-filters .facets-widget-links li a.is-active::before,
.nz-filters .facets-widget-links li.is-active a::before {
  border-color: var(--nz-charcoal);
  background-color: var(--nz-charcoal);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4AF37' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");
}

.nz-filters .facets-widget-links .facet-item__count,
.nz-filters .facets-widget-checkbox .facet-item__count {
  margin-left: auto;
  font-size: 12px;
  color: var(--nz-subtle);
}

/* A facets modul „checkbox” widgetje esetén a valódi jelölőnégyzet is illeszkedjen */
.nz-filters .facets-widget-checkbox input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--nz-charcoal);
}

/* Facets „checkbox” widget: a jelölőnégyzet és a felirat egy sorban, saját négyzettel */
.nz-filters .facets-widget-checkbox li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 4px;
  border-radius: 8px;
}

.nz-filters .facets-widget-checkbox li:hover {
  background: var(--nz-bg);
}

body.nz .nz-filters input.facets-checkbox {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1.5px solid #D1D5DB;
  border-radius: 6px;
  background: #fff center / 14px no-repeat;
  cursor: pointer;
  transition: border-color .2s, background-color .2s;
}

body.nz .nz-filters input.facets-checkbox:hover {
  border-color: var(--nz-gold);
}

body.nz .nz-filters input.facets-checkbox:checked {
  border-color: var(--nz-charcoal);
  background-color: var(--nz-charcoal);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4AF37' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");
}

body.nz .nz-filters .facets-widget-checkbox label {
  display: flex;
  align-items: center;
  flex: 1;
  margin: 0;
  padding: 0;
  font-size: 15px;
  font-weight: 500;
  color: var(--nz-charcoal);
  cursor: pointer;
}

.nz-filters .facets-widget-checkbox .facet-item__value::first-letter {
  text-transform: uppercase;
}

/* A checkbox-csoportok vékony elválasztóval */
.nz-filters .facets-widget-checkbox ul {
  padding: 8px 0;
  border-top: 1px solid var(--nz-line-soft);
  border-bottom: 1px solid var(--nz-line-soft);
}

/* Eladó / Kiadó: a két jelölőnégyzet egymás mellett */
.nz-filters .facet-block-elado-kiado .facets-widget-checkbox ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}

/* ==========================================================================
   Kereső oldal – mobil / tablet javítások
   ========================================================================== */
@media (max-width: 1023px) {
  /* „1fr” helyett minmax(0, 1fr): a széles tartalom (pl. size=30 mezők)
     ne tolja ki a rácsot a képernyőből */
  .nz-layout--filters,
  .nz-layout--sidebar {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .nz-layout__main,
  .nz-filters {
    min-width: 0;
  }
}

.nz-filters input,
.nz-filters select {
  min-width: 0;
  max-width: 100%;
}

.nz-filters fieldset .fieldset-wrapper > * {
  min-width: 0;
}

@media (max-width: 700px) {
  .nz-main {
    padding: 28px 0 70px;
  }

  .nz-filters {
    padding: 20px 18px 22px;
  }

  /* A lista kártyái mobilon teljes szélességben */
  .nz-layout--filters .view-indexelt-kereses .view-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  body.nz .pager__items {
    flex-wrap: wrap;
  }
}

/* Keresés gomb: ha nincs „Alaphelyzet”, teljes szélességű */
.nz-filters .form-actions {
  display: flex;
}

body.nz .nz-filters .form-actions .form-submit:first-child {
  flex: 1;
}

/* Mobilon / tableten a szűrősáv összecsukható (a találatok azonnal látszanak) */
@media (max-width: 1023px) {
  .nz-filters__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: 700 22px var(--nz-serif);
    color: var(--nz-charcoal);
    cursor: pointer;
  }

  .nz-filters__toggle .nz-filters__count {
    margin-left: 10px;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--nz-gold);
    color: var(--nz-black);
    font: 700 12px var(--nz-sans);
  }

  .nz-filters__toggle .ico {
    margin-left: auto;
    color: var(--nz-gold-icon);
    transition: transform .3s;
  }

  .nz-filters.is-open .nz-filters__toggle .ico {
    transform: rotate(180deg);
  }

  .nz-filters.is-collapsible:not(.is-open) > :not(.nz-filters__title) {
    display: none;
  }

  .nz-filters.is-collapsible:not(.is-open) .nz-filters__title {
    margin: 0;
    padding: 0;
    border: 0;
  }
}

@media (min-width: 1024px) {
  .nz-filters__toggle {
    all: unset;
    font: inherit;
  }

  .nz-filters__toggle .ico,
  .nz-filters__toggle .nz-filters__count {
    display: none;
  }
}

/* ==========================================================================
   Ingatlantérkép – felugró ablak (Google Maps InfoWindow, .terkep-info)
   ========================================================================== */

/* A Google-féle keret: belső margó nélkül, lekerekítve, a kép kifut a szélig. */
.gm-style .gm-style-iw-c:has(.terkep-info) {
  padding: 0 !important;
  border-radius: var(--nz-radius-sm);
  box-shadow: var(--nz-shadow-lg), 0 2px 8px rgba(0, 0, 0, .12);
  max-width: none !important;
  overflow: hidden;
}

.gm-style .gm-style-iw-c:has(.terkep-info) .gm-style-iw-d {
  overflow: hidden !important;
  max-height: none !important;
}

/* Bezárás gomb: fehér kör a kép jobb felső sarkában. */
.gm-style .gm-style-iw-c:has(.terkep-info) .gm-style-iw-chr {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
}

.gm-style .gm-style-iw-c:has(.terkep-info) .gm-style-iw-ch {
  display: none;
}

.gm-style .gm-style-iw-c:has(.terkep-info) .gm-ui-hover-effect {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
  opacity: 1;
}

.gm-style .gm-style-iw-c:has(.terkep-info) .gm-ui-hover-effect > span {
  margin: 6px !important;
  width: 20px !important;
  height: 20px !important;
  background-color: var(--nz-black) !important;
}

.gm-style .gm-style-iw-c:has(.terkep-info) .gm-ui-hover-effect:hover {
  background: var(--nz-gold) !important;
}

/* Tartalom */
.gm-style .terkep-info {
  width: 280px;
  font-family: var(--nz-sans);
  font-size: 13px;
  line-height: 1.4;
  color: var(--nz-text);
  background: var(--nz-white);
  padding-bottom: 16px;
}

.gm-style .terkep-info .info-sor {
  border: 0 !important;
  margin: 0;
  padding: 0 18px;
}

/* Kép */
.gm-style .terkep-info .info-sor.kep {
  padding: 0;
}

.gm-style .terkep-info .info-sor.kep a {
  display: block;
  overflow: hidden;
}

.gm-style .terkep-info .info-sor.kep img {
  display: block;
  width: 100%;
  height: 170px;
  max-width: none;
  margin: 0;
  object-fit: cover;
  border: 0;
  border-radius: 0;
  transition: transform .4s ease;
}

.gm-style .terkep-info .info-sor.kep a:hover img {
  transform: scale(1.04);
}

/* Állapot (pl. új építésű, eladva): arany címke a kép alatt; üresen rejtve. */
.gm-style .terkep-info .info-sor.allapot:empty {
  display: none;
}

.gm-style .terkep-info .info-sor.allapot {
  display: inline-block;
  margin: 14px 18px 0;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--nz-black);
  color: var(--nz-gold);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Adatsorok: címke balra, érték jobbra, finom elválasztó. */
.gm-style .terkep-info .info-sor:has(> .label) {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding-top: 7px;
  padding-bottom: 7px;
  margin: 0 18px;
  padding-left: 0;
  padding-right: 0;
  border-bottom: 1px solid var(--nz-line-soft) !important;
}

.gm-style .terkep-info .label {
  color: var(--nz-subtle);
  font-size: 12px;
  font-weight: 400;
}

.gm-style .terkep-info .adat {
  color: var(--nz-black);
  font-weight: 600;
  text-align: right;
}

.gm-style .terkep-info .adat sup {
  font-size: .7em;
  line-height: 0;
}

/* Irányár: kiemelve, a kártyák árához hasonlóan. */
.gm-style .terkep-info .info-sor.kep + .info-sor:has(> .label),
.gm-style .terkep-info .info-sor.allapot + .info-sor:has(> .label) {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  padding-top: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--nz-line) !important;
}

.gm-style .terkep-info .info-sor.kep + .info-sor .label,
.gm-style .terkep-info .info-sor.allapot + .info-sor .label {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gm-style .terkep-info .info-sor.kep + .info-sor .adat,
.gm-style .terkep-info .info-sor.allapot + .info-sor .adat {
  font-family: var(--nz-serif);
  font-size: 22px;
  font-weight: 700;
  text-align: left;
}

/* Megtekintés gomb */
.gm-style .terkep-info .info-sor.link {
  padding-top: 14px;
}

.gm-style .terkep-info .info-sor.link a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--nz-gold);
  color: var(--nz-black);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  text-transform: none;
  transition: background .2s ease;
}

.gm-style .terkep-info .info-sor.link a::after {
  content: "";
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.gm-style .terkep-info .info-sor.link a:hover {
  background: var(--nz-gold-hover);
}

@media (max-width: 480px) {
  .gm-style .terkep-info {
    width: min(260px, 72vw);
  }

  .gm-style .terkep-info .info-sor.kep img {
    height: 140px;
  }
}

/* ==========================================================================
   Szolgáltatások oldal (/szolgaltatasok – Alapoldal, Teljes HTML törzs)
   A törzs szerkezete:
     <div class="nz-szolg">
       <section class="nz-szolg__block nz-szolg__block--dark" id="hiteltanacsadas"> … </section>
       <section class="nz-szolg__block" id="ingatlankozvetites"> … </section>
     </div>
   Banklogók: <ul class="nz-banks"><li data-logo="otp">OTP Bank</li>…</ul>
   A logófájlok helye: themes/custom/noza/images/bankok/<kulcs>.svg (vagy .png).
   Amíg nincs fájl, a bank neve látszik.
   ========================================================================== */
.nz-i--camera { --nz-i: var(--nz-ico-camera); }
.nz-i--drone { --nz-i: var(--nz-ico-drone); }
.nz-i--video { --nz-i: var(--nz-ico-video); }
.nz-i--share { --nz-i: var(--nz-ico-share); }
.nz-i--check { --nz-i: var(--nz-ico-check); }

.nz-szolg {
  display: grid;
  gap: 40px;
}

.nz-szolg__block {
  scroll-margin-top: calc(var(--nz-header-h) + 24px);
  padding: clamp(28px, 5vw, 56px);
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius);
  background: var(--nz-white);
  box-shadow: var(--nz-shadow);
}

.nz-szolg__block--dark {
  border-color: transparent;
  background: var(--nz-black);
  color: #D1D5DB;
}

body.nz .nz-szolg .nz-eyebrow {
  margin: 0 0 10px;
  color: var(--nz-gold-text);
}

body.nz .nz-szolg__block--dark .nz-eyebrow {
  color: var(--nz-gold);
}

body.nz .nz-szolg h2 {
  margin: 0 0 20px;
  font: 700 clamp(28px, 3vw, 40px)/1.15 var(--nz-serif);
  color: var(--nz-black);
}

body.nz .nz-szolg__block--dark h2 {
  color: #fff;
}

body.nz .nz-szolg h3 {
  margin: 40px 0 18px;
  font: 600 12px var(--nz-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--nz-subtle);
}

body.nz .nz-szolg__block--dark h3 {
  color: #9CA3AF;
}

.nz-szolg p {
  max-width: 760px;
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.75;
}

body.nz .nz-szolg p.nz-szolg__lead {
  font: 400 clamp(19px, 1.8vw, 23px)/1.5 var(--nz-serif);
  color: var(--nz-black);
}

body.nz .nz-szolg__block--dark p.nz-szolg__lead {
  color: #fff;
}

body.nz .nz-szolg__block--dark p {
  color: #D1D5DB;
}

body.nz .nz-szolg__block--dark a:not(.nz-btn) {
  color: var(--nz-gold);
}

/* Kiemelt mondat (foglalótól a folyósításig) */
body.nz .nz-szolg p.nz-szolg__highlight {
  margin: 28px 0;
  padding: 18px 22px;
  border-left: 3px solid var(--nz-gold);
  border-radius: 0 var(--nz-radius-sm) var(--nz-radius-sm) 0;
  background: rgba(212, 175, 55, .1);
  color: #fff;
  font-weight: 500;
}

body.nz .nz-szolg__block:not(.nz-szolg__block--dark) p.nz-szolg__highlight {
  color: var(--nz-black);
}

/* Felhívás + gombok */
.nz-szolg__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin-top: 28px;
}

body.nz .nz-szolg__cta p {
  flex: 1 1 100%;
  margin: 0 0 4px;
  font: italic 400 20px/1.4 var(--nz-serif);
  color: var(--nz-gold);
}

.nz-szolg__block:not(.nz-szolg__block--dark) .nz-szolg__cta p {
  color: var(--nz-gold-text);
}

/* A CKEditor a gombokat <p>-be teszi – az a bekezdés gombsor legyen. */
body.nz .nz-szolg__cta p:has(> .nz-btn) {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  margin: 0;
  font: inherit;
}

body.nz .nz-szolg__block--dark .nz-btn--line {
  border: 1px solid rgba(255, 255, 255, .35);
  background: transparent;
  color: #fff;
}

body.nz .nz-szolg__block--dark .nz-btn--line:hover {
  border-color: var(--nz-gold);
  color: var(--nz-gold);
}

/* Partnerbankok */
.nz-banks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nz-banks li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  padding: 14px 18px;
  border-radius: var(--nz-radius-sm);
  background: #fff;
  color: var(--nz-black);
  font: 700 15px/1.2 var(--nz-sans);
  text-align: center;
  transition: transform .2s ease, box-shadow .2s ease;
}

.nz-banks li:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px -12px rgba(0, 0, 0, .5);
}

.nz-banks img {
  display: block;
  max-width: 100%;
  max-height: 44px;
  width: auto;
  height: auto;
}

/* Előnyök (ingatlanközvetítés) */
.nz-szolg__features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 32px 0;
  padding: 0;
  list-style: none;
}

.nz-szolg__features li {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--nz-line);
  border-radius: var(--nz-radius-sm);
  background: var(--nz-bg);
  font-weight: 600;
  color: var(--nz-black);
  line-height: 1.35;
  position: relative;
}

.nz-szolg__features li::before {
  content: "";
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--nz-gold-icon);
}

.nz-szolg__features li::after {
  content: "";
  position: absolute;
  top: 29px;
  left: 29px;
  width: 22px;
  height: 22px;
  background: var(--nz-black);
  -webkit-mask: var(--nz-i) center / contain no-repeat;
  mask: var(--nz-i) center / contain no-repeat;
}

/* Ikon a data-icon alapján (CKEditor az üres <i> elemeket kiszedi). */
.nz-szolg__features li[data-icon="camera"] { --nz-i: var(--nz-ico-camera); }
.nz-szolg__features li[data-icon="drone"] { --nz-i: var(--nz-ico-drone); }
.nz-szolg__features li[data-icon="video"] { --nz-i: var(--nz-ico-video); }
.nz-szolg__features li[data-icon="share"] { --nz-i: var(--nz-ico-share); }
.nz-szolg__features li[data-icon="check"] { --nz-i: var(--nz-ico-check); }

.nz-szolg__features small {
  display: block;
  margin-top: 2px;
  font-weight: 400;
  font-size: 13px;
  color: var(--nz-subtle);
}

@media (max-width: 1023px) {
  .nz-banks,
  .nz-szolg__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 599px) {
  .nz-szolg__block {
    padding: 28px 20px;
  }

  .nz-szolg__features {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .nz-szolg__features li {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: 2px 14px;
    padding: 14px 16px;
  }

  .nz-szolg__features li:has(small)::before {
    grid-row: span 2;
  }

  .nz-szolg__features li::after {
    top: 50%;
    left: 25px;
    margin-top: -11px;
  }

  .nz-szolg__features small {
    grid-column: 2;
    margin: 0;
  }
}

@media (max-width: 479px) {
  .nz-banks li {
    min-height: 68px;
    padding: 10px 12px;
  }

  .nz-szolg__cta .nz-btn {
    width: 100%;
    white-space: normal;
    text-align: center;
  }
}

/* ==========================================================================
   Szolgáltatások – áttekintő oldal (/szolgaltatasok) kártyákkal,
   és az egyes szolgáltatások aloldalai (/szolgaltatasok/<valami>).
   Áttekintő törzs:
     <div class="nz-szolg-hub">
       <p class="nz-szolg-hub__intro">…</p>
       <div class="nz-szolg-cards">
         <div class="nz-svc nz-svc--dark" data-icon="money">
           <p class="nz-eyebrow">…</p>
           <h3 class="nz-svc__title">…</h3>
           <p>…</p>
           <a class="nz-svc__more" href="/szolgaltatasok/…">Részletek</a>
         </div>
         …
       </div>
     </div>
   Új szolgáltatás = egy újabb <div class="nz-svc" data-icon="…"> kártya.
   Ikonok (data-icon): money, house, key, tag, scale, bolt, camera, check.
   A kártya teljes felülete kattintható (a „Részletek” link kiterjesztve).
   ========================================================================== */
.nz-szolg-hub {
  display: grid;
  gap: 28px;
}

body.nz .nz-szolg-hub__intro {
  max-width: 760px;
  margin: 0;
  font: 400 clamp(19px, 1.8vw, 23px)/1.5 var(--nz-serif);
  color: var(--nz-black);
}

.nz-szolg-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: 24px;
}

/* a kártya a főoldali .nz-svc stílusát kapja, itt fehér alapon */
body.nz .nz-szolg-cards .nz-svc {
  position: relative;
  padding: 36px 32px 32px;
  background: var(--nz-white);
  box-shadow: var(--nz-shadow);
}

body.nz .nz-szolg-cards .nz-svc--dark {
  background: var(--nz-black);
}

/* ikon: doboz (::before) + maszkolt ikon (::after) a data-icon alapján */
.nz-szolg-cards .nz-svc[data-icon]::before {
  content: "";
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: var(--nz-bg);
  border: 1px solid var(--nz-line-soft);
}

.nz-szolg-cards .nz-svc[data-icon]::after {
  content: "";
  position: absolute;
  top: 53px;
  left: 49px;
  width: 30px;
  height: 30px;
  background: var(--nz-gold-icon);
  -webkit-mask: var(--nz-i) center / contain no-repeat;
  mask: var(--nz-i) center / contain no-repeat;
  pointer-events: none;
}

.nz-szolg-cards .nz-svc--dark[data-icon]::before {
  background: var(--nz-charcoal);
  border-color: rgba(212, 175, 55, .4);
}

.nz-szolg-cards .nz-svc--dark[data-icon]::after {
  background: var(--nz-gold);
}

.nz-svc[data-icon="money"] { --nz-i: var(--nz-ico-money); }
.nz-svc[data-icon="house"] { --nz-i: var(--nz-ico-house); }
.nz-svc[data-icon="key"] { --nz-i: var(--nz-ico-key); }
.nz-svc[data-icon="tag"] { --nz-i: var(--nz-ico-tag); }
.nz-svc[data-icon="scale"] { --nz-i: var(--nz-ico-scale); }
.nz-svc[data-icon="bolt"] { --nz-i: var(--nz-ico-bolt); }
.nz-svc[data-icon="camera"] { --nz-i: var(--nz-ico-camera); }
.nz-svc[data-icon="check"] { --nz-i: var(--nz-ico-check); }

body.nz .nz-szolg-cards .nz-eyebrow {
  margin: 6px 0 -6px;
  color: var(--nz-gold-text);
}

body.nz .nz-szolg-cards .nz-svc--dark .nz-eyebrow {
  color: var(--nz-gold);
}

body.nz .nz-szolg-cards .nz-svc p {
  color: var(--nz-muted);
}

body.nz .nz-szolg-cards .nz-svc--dark p {
  color: #D1D5DB;
}

body.nz .nz-szolg-cards .nz-svc__title {
  font-size: clamp(23px, 2.2vw, 27px);
}

/* A CKEditor a linket <p>-be teszi – az a bekezdés ne nyúljon */
body.nz .nz-szolg-cards .nz-svc p:has(> .nz-svc__more) {
  flex-grow: 0;
  margin-top: 6px;
}

body.nz .nz-szolg-cards .nz-svc__more {
  position: static;
}

/* az egész kártya kattintható */
body.nz .nz-szolg-cards .nz-svc__more::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}

body.nz .nz-szolg-cards .nz-svc__more::after {
  content: "";
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: var(--nz-ico-arrow) center / contain no-repeat;
  mask: var(--nz-ico-arrow) center / contain no-repeat;
  transition: transform .25s;
}

body.nz .nz-szolg-cards .nz-svc:hover .nz-svc__more::after {
  transform: translateX(4px);
}

body.nz .nz-szolg-cards .nz-svc:focus-within {
  outline: 2px solid var(--nz-gold);
  outline-offset: 3px;
}

/* Aloldal: vissza a szolgáltatásokhoz */
body.nz .nz-szolg__back {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

body.nz .nz-szolg__back a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--nz-gold-text);
}

body.nz .nz-szolg__back a::before {
  content: "";
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: var(--nz-ico-arrow) center / contain no-repeat;
  mask: var(--nz-ico-arrow) center / contain no-repeat;
  transform: scaleX(-1);
}

@media (max-width: 599px) {
  body.nz .nz-szolg-cards .nz-svc {
    padding: 28px 22px 24px;
  }

  .nz-szolg-cards .nz-svc[data-icon]::after {
    top: 45px;
    left: 39px;
  }
}
