{"id":449,"date":"2026-09-08T16:38:50","date_gmt":"2026-09-08T14:38:50","guid":{"rendered":"https:\/\/zalasprings.hu\/?page_id=449"},"modified":"2026-09-19T13:31:34","modified_gmt":"2026-09-19T11:31:34","slug":"immobilien-luxus-villen","status":"publish","type":"page","link":"https:\/\/zalasprings.hu\/de\/ingatlan-luxus-villak\/","title":{"rendered":"Luxusvillen"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"449\" class=\"elementor elementor-449\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-06a6871 e-con-full e-flex e-con e-parent\" data-id=\"06a6871\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9052715 elementor-widget elementor-widget-html\" data-id=\"9052715\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 INGATLAN BEMUTAT\u00d3 HERO -->\r\n<section id=\"zs-luxuryvillas-hero\" class=\"zs-main zsluxhero\" aria-labelledby=\"zsluxhero-title\">\r\n  <div class=\"zsluxhero__shell\">\r\n    <div class=\"zsluxhero__media\" aria-hidden=\"true\">\r\n      <img\r\n        src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-header.jpg\"\r\n        alt=\"\"\r\n        fetchpriority=\"high\"\r\n        decoding=\"async\"\r\n      >\r\n    <\/div>\r\n\r\n    <div class=\"zsluxhero__overlay\" aria-hidden=\"true\"><\/div>\r\n    <div class=\"zsluxhero__glow\" aria-hidden=\"true\"><\/div>\r\n\r\n    <div class=\"zsluxhero__topline\" aria-hidden=\"true\">\r\n      <span>ZALA SPRINGS<\/span>\r\n      <i><\/i>\r\n      <span>INGATLAN<\/span>\r\n    <\/div>\r\n\r\n    <div class=\"zsluxhero__content\">\r\n      <div class=\"zsluxhero__eyebrow\">\r\n        <span><\/span>\r\n        <b>EXKLUZ\u00cdV OTTHONOK A ZALA SPRINGSBEN<\/b>\r\n      <\/div>\r\n\r\n      <h1 id=\"zsluxhero-title\">\r\n        Luxus vill\u00e1k\r\n      <\/h1>\r\n\r\n      <a\r\n        class=\"zsluxhero__cta\"\r\n        href=\"#inquiry\"\r\n        data-zspp-scroll\r\n      >\r\n        <span>Regisztr\u00e1ljon a legjobb aj\u00e1nlatok\u00e9rt!<\/span>\r\n\r\n        <span class=\"zsluxhero__cta-icon\" aria-hidden=\"true\">\r\n          <svg viewBox=\"0 0 24 24\">\r\n            <path d=\"M12 5v14M7 14l5 5 5-5\"><\/path>\r\n          <\/svg>\r\n        <\/span>\r\n      <\/a>\r\n    <\/div>\r\n\r\n    <div class=\"zsluxhero__bottom\" aria-hidden=\"true\">\r\n      <div class=\"zsluxhero__scroll-label\">\r\n        <span>Felfedez\u00e9s<\/span>\r\n        <i><b><\/b><\/i>\r\n      <\/div>\r\n\r\n      <div class=\"zsluxhero__signature\">\r\n        LUXUS VILL\u00c1K\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <style>\r\n    #zs-luxuryvillas-hero,\r\n    #zs-luxuryvillas-hero *,\r\n    #zs-luxuryvillas-hero *::before,\r\n    #zs-luxuryvillas-hero *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-luxuryvillas-hero {\r\n      --gold: var(--zs-brand-gold, #c2a22f);\r\n      --dark: var(--zs-brand-midnight, #26352c);\r\n      --forest: var(--zs-brand-forest, #394a40);\r\n      --ivory: var(--zs-surface, #fbfaf7);\r\n\r\n      --frame: 28px;\r\n      --radius: 28px;\r\n\r\n      position: relative;\r\n\r\n      width: 100%;\r\n      height: 78vh;\r\n      height: 78svh;\r\n      min-height: 620px;\r\n\r\n      padding: var(--frame);\r\n\r\n      overflow: hidden;\r\n\r\n      background: var(--ivory);\r\n\r\n      color: #fff;\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxuryvillas-hero * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxuryvillas-hero a {\r\n      text-decoration: none;\r\n    }\r\n\r\n    .zsluxhero__shell {\r\n      position: relative;\r\n\r\n      width: 100%;\r\n      height: 100%;\r\n\r\n      overflow: hidden;\r\n\r\n      border-radius: var(--radius);\r\n\r\n      background: var(--dark);\r\n\r\n      isolation: isolate;\r\n    }\r\n\r\n    .zsluxhero__media {\r\n      position: absolute;\r\n\r\n      inset: 0;\r\n\r\n      z-index: -4;\r\n\r\n      overflow: hidden;\r\n    }\r\n\r\n    .zsluxhero__media img {\r\n      position: absolute;\r\n\r\n      inset: -3%;\r\n\r\n      display: block;\r\n\r\n      width: 106%;\r\n      max-width: none;\r\n      height: 106%;\r\n\r\n      object-fit: cover;\r\n      object-position: center center;\r\n\r\n      transform: scale(1.035);\r\n\r\n      animation:\r\n        zsppHeroImage 14s ease-out both;\r\n    }\r\n\r\n    .zsluxhero__overlay {\r\n      position: absolute;\r\n\r\n      inset: 0;\r\n\r\n      z-index: -3;\r\n\r\n      background:\r\n        linear-gradient(\r\n          90deg,\r\n          rgba(17,37,26,.84) 0%,\r\n          rgba(17,37,26,.66) 34%,\r\n          rgba(17,37,26,.30) 62%,\r\n          rgba(17,37,26,.12) 100%\r\n        ),\r\n        linear-gradient(\r\n          0deg,\r\n          rgba(14,31,22,.46),\r\n          rgba(14,31,22,.08) 52%,\r\n          rgba(14,31,22,.06)\r\n        );\r\n    }\r\n\r\n    .zsluxhero__glow {\r\n      position: absolute;\r\n\r\n      z-index: -2;\r\n\r\n      left: 7%;\r\n      bottom: 7%;\r\n\r\n      width: 42vw;\r\n      height: 42vw;\r\n\r\n      border-radius: 50%;\r\n\r\n      background:\r\n        radial-gradient(\r\n          circle,\r\n          rgba(194,162,47,.11),\r\n          rgba(194,162,47,.035) 38%,\r\n          transparent 70%\r\n        );\r\n\r\n      pointer-events: none;\r\n    }\r\n\r\n    .zsluxhero__topline {\r\n      position: absolute;\r\n\r\n      z-index: 4;\r\n\r\n      top: clamp(24px, 3vw, 42px);\r\n      left: clamp(28px, 4.5vw, 76px);\r\n\r\n      display: flex;\r\n      align-items: center;\r\n\r\n      gap: 13px;\r\n\r\n      color: rgba(255,255,255,.60);\r\n\r\n      font-size: 9px;\r\n      font-weight: 600;\r\n\r\n      letter-spacing: .21em;\r\n      text-transform: uppercase;\r\n\r\n      opacity: 0;\r\n      transform: translateY(-10px);\r\n    }\r\n\r\n    .zsluxhero__topline i {\r\n      width: 38px;\r\n      height: 1px;\r\n\r\n      background:\r\n        rgba(194,162,47,.75);\r\n    }\r\n\r\n    .zsluxhero__content {\r\n      position: absolute;\r\n\r\n      z-index: 5;\r\n\r\n      left: clamp(42px, 7vw, 132px);\r\n      bottom: clamp(88px, 12vh, 142px);\r\n\r\n      width: min(900px, 67vw);\r\n    }\r\n\r\n    .zsluxhero__eyebrow {\r\n      display: flex;\r\n      align-items: center;\r\n\r\n      gap: 12px;\r\n\r\n      margin-bottom: 17px;\r\n\r\n      color: #e1cd77;\r\n\r\n      font-size:\r\n        clamp(9px, .64vw, 12px);\r\n\r\n      font-weight: 700;\r\n\r\n      letter-spacing: .20em;\r\n      text-transform: uppercase;\r\n\r\n      opacity: 0;\r\n      transform: translateY(14px);\r\n    }\r\n\r\n    .zsluxhero__eyebrow > span {\r\n      width: 34px;\r\n      height: 1px;\r\n\r\n      background: var(--gold);\r\n    }\r\n\r\n    .zsluxhero__eyebrow b {\r\n      font-weight: 700;\r\n    }\r\n\r\n    .zsluxhero__content h1 {\r\n      max-width: 980px;\r\n\r\n      margin: 0 !important;\r\n\r\n      color: #fff !important;\r\n\r\n      font-size:\r\n        clamp(58px, 5.5vw, 104px);\r\n\r\n      font-weight: 400 !important;\r\n\r\n      line-height: 1.02 !important;\r\n\r\n      letter-spacing: -.018em;\r\n\r\n      text-wrap: balance;\r\n\r\n      opacity: 0;\r\n      transform: translateY(30px);\r\n      filter: blur(2px);\r\n    }\r\n\r\n    .zsluxhero__cta {\r\n      min-height: 60px;\r\n\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n\r\n      gap: 18px;\r\n\r\n      margin-top: 30px;\r\n\r\n      padding:\r\n        7px 8px 7px 27px;\r\n\r\n      border:\r\n        1px solid var(--gold);\r\n\r\n      border-radius: 999px;\r\n\r\n      background: var(--gold);\r\n\r\n      color: var(--dark) !important;\r\n\r\n      box-shadow:\r\n        0 14px 34px rgba(194,162,47,.24);\r\n\r\n      font-size: 13px;\r\n      font-weight: 700;\r\n\r\n      letter-spacing: .01em;\r\n\r\n      opacity: 0;\r\n      transform: translateY(16px);\r\n\r\n      transition:\r\n        transform .3s ease,\r\n        background-color .3s ease,\r\n        box-shadow .3s ease;\r\n    }\r\n\r\n    .zsluxhero__cta-icon {\r\n      width: 44px;\r\n      height: 44px;\r\n\r\n      flex: 0 0 44px;\r\n\r\n      display: grid;\r\n      place-items: center;\r\n\r\n      border-radius: 50%;\r\n\r\n      background:\r\n        rgba(38,53,44,.10);\r\n\r\n      transition:\r\n        background-color .3s ease;\r\n    }\r\n\r\n    .zsluxhero__cta svg {\r\n      width: 18px;\r\n      height: 18px;\r\n\r\n      fill: none;\r\n\r\n      stroke: currentColor;\r\n\r\n      stroke-width: 1.6;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n\r\n      transition:\r\n        transform .3s ease;\r\n    }\r\n\r\n    .zsluxhero__bottom {\r\n      position: absolute;\r\n\r\n      z-index: 5;\r\n\r\n      right: clamp(28px, 4vw, 66px);\r\n      bottom: clamp(24px, 3vw, 40px);\r\n      left: clamp(28px, 4vw, 66px);\r\n\r\n      display: flex;\r\n      align-items: flex-end;\r\n      justify-content: space-between;\r\n\r\n      gap: 20px;\r\n\r\n      pointer-events: none;\r\n\r\n      opacity: 0;\r\n    }\r\n\r\n    .zsluxhero__scroll-label {\r\n      display: flex;\r\n      align-items: center;\r\n\r\n      gap: 11px;\r\n\r\n      color:\r\n        rgba(255,255,255,.55);\r\n\r\n      font-size: 8px;\r\n      font-weight: 600;\r\n\r\n      letter-spacing: .17em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    .zsluxhero__scroll-label i {\r\n      position: relative;\r\n\r\n      width: 66px;\r\n      height: 1px;\r\n\r\n      overflow: hidden;\r\n\r\n      background:\r\n        rgba(255,255,255,.20);\r\n    }\r\n\r\n    .zsluxhero__scroll-label i b {\r\n      position: absolute;\r\n\r\n      inset: 0;\r\n\r\n      background: var(--gold);\r\n\r\n      animation:\r\n        zsppScrollLine 2.8s ease-in-out infinite;\r\n    }\r\n\r\n    .zsluxhero__signature {\r\n      color:\r\n        rgba(255,255,255,.30);\r\n\r\n      font-size: 8px;\r\n      font-weight: 600;\r\n\r\n      letter-spacing: .22em;\r\n    }\r\n\r\n    #zs-luxuryvillas-hero.is-entered\r\n    .zsluxhero__topline {\r\n      opacity: 1;\r\n      transform: none;\r\n\r\n      transition:\r\n        opacity .8s .18s,\r\n        transform .8s .18s;\r\n    }\r\n\r\n    #zs-luxuryvillas-hero.is-entered\r\n    .zsluxhero__eyebrow {\r\n      opacity: 1;\r\n      transform: none;\r\n\r\n      transition:\r\n        opacity .8s .28s,\r\n        transform .8s .28s;\r\n    }\r\n\r\n    #zs-luxuryvillas-hero.is-entered\r\n    .zsluxhero__content h1 {\r\n      opacity: 1;\r\n      transform: none;\r\n      filter: blur(0);\r\n\r\n      transition:\r\n        opacity .9s .38s,\r\n        transform 1.05s cubic-bezier(.16,.74,.2,1) .38s,\r\n        filter .9s .38s;\r\n    }\r\n\r\n    #zs-luxuryvillas-hero.is-entered\r\n    .zsluxhero__cta {\r\n      opacity: 1;\r\n      transform: none;\r\n\r\n      transition:\r\n        opacity .8s .68s,\r\n        transform .8s .68s,\r\n        background-color .3s ease,\r\n        box-shadow .3s ease;\r\n    }\r\n\r\n    #zs-luxuryvillas-hero.is-entered\r\n    .zsluxhero__bottom {\r\n      opacity: 1;\r\n\r\n      transition:\r\n        opacity .8s .82s;\r\n    }\r\n\r\n    @keyframes zsppHeroImage {\r\n      from {\r\n        transform: scale(1.025);\r\n      }\r\n\r\n      to {\r\n        transform: scale(1.075);\r\n      }\r\n    }\r\n\r\n    @keyframes zsppScrollLine {\r\n      0% {\r\n        transform: translateX(-100%);\r\n      }\r\n\r\n      60% {\r\n        transform: translateX(0);\r\n      }\r\n\r\n      100% {\r\n        transform: translateX(100%);\r\n      }\r\n    }\r\n\r\n    @media (hover:hover) and (pointer:fine) {\r\n\r\n      .zsluxhero__cta:hover {\r\n        transform: translateY(-3px) !important;\r\n\r\n        background: #ceb03f;\r\n\r\n        box-shadow:\r\n          0 19px 44px rgba(194,162,47,.31);\r\n      }\r\n\r\n      .zsluxhero__cta:hover\r\n      .zsluxhero__cta-icon {\r\n        background:\r\n          rgba(38,53,44,.15);\r\n      }\r\n\r\n      .zsluxhero__cta:hover svg {\r\n        transform:\r\n          translateY(4px);\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:1366px) {\r\n\r\n      #zs-luxuryvillas-hero {\r\n        --frame: 22px;\r\n        --radius: 28px;\r\n\r\n        min-height: 600px;\r\n      }\r\n\r\n      .zsluxhero__content {\r\n        left:\r\n          clamp(36px, 6vw, 90px);\r\n\r\n        width:\r\n          min(820px, 70vw);\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n\r\n      #zs-luxuryvillas-hero {\r\n        --frame: 18px;\r\n        --radius: 24px;\r\n      }\r\n\r\n      .zsluxhero__content {\r\n        left:\r\n          clamp(34px, 5vw, 68px);\r\n\r\n        width:\r\n          min(790px, 74vw);\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n\r\n      #zs-luxuryvillas-hero {\r\n        --frame: 16px;\r\n        --radius: 22px;\r\n\r\n        height: 78vh;\r\n        height: 78svh;\r\n\r\n        min-height: 620px;\r\n      }\r\n\r\n      .zsluxhero__content {\r\n        left: 50px;\r\n\r\n        width:\r\n          min(760px, 80vw);\r\n      }\r\n\r\n      .zsluxhero__topline {\r\n        left: 50px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n\r\n      #zs-luxuryvillas-hero {\r\n        --frame: 12px;\r\n        --radius: 19px;\r\n\r\n        min-height: 650px;\r\n      }\r\n\r\n      .zsluxhero__content {\r\n        right: 34px;\r\n        left: 34px;\r\n\r\n        width: auto;\r\n      }\r\n\r\n      .zsluxhero__topline {\r\n        left: 34px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n\r\n      #zs-luxuryvillas-hero {\r\n        --frame: 10px;\r\n        --radius: 18px;\r\n\r\n        height: 86svh;\r\n\r\n        min-height: 680px;\r\n      }\r\n\r\n      .zsluxhero__media img {\r\n        object-position:\r\n          58% center;\r\n      }\r\n\r\n      .zsluxhero__overlay {\r\n        background:\r\n          linear-gradient(\r\n            0deg,\r\n            rgba(14,31,22,.90),\r\n            rgba(14,31,22,.72) 37%,\r\n            rgba(14,31,22,.28) 69%,\r\n            rgba(14,31,22,.10)\r\n          ),\r\n          linear-gradient(\r\n            90deg,\r\n            rgba(14,31,22,.24),\r\n            rgba(14,31,22,.04)\r\n          );\r\n      }\r\n\r\n      .zsluxhero__topline {\r\n        top: 24px;\r\n        left: 22px;\r\n\r\n        gap: 9px;\r\n\r\n        font-size: 8px;\r\n      }\r\n\r\n      .zsluxhero__topline i {\r\n        width: 26px;\r\n      }\r\n\r\n      .zsluxhero__content {\r\n        right: 22px;\r\n        bottom: 68px;\r\n        left: 22px;\r\n      }\r\n\r\n      .zsluxhero__eyebrow {\r\n        margin-bottom: 12px;\r\n\r\n        font-size: 9px;\r\n\r\n        letter-spacing: .16em;\r\n      }\r\n\r\n      .zsluxhero__content h1 {\r\n        font-size:\r\n          clamp(44px, 12vw, 62px);\r\n      }\r\n\r\n      .zsluxhero__cta {\r\n        width: 100%;\r\n\r\n        min-height: 58px;\r\n\r\n        justify-content: space-between;\r\n\r\n        gap: 12px;\r\n\r\n        margin-top: 24px;\r\n\r\n        padding:\r\n          7px 7px 7px 20px;\r\n\r\n        font-size: 12px;\r\n      }\r\n\r\n      .zsluxhero__cta-icon {\r\n        width: 42px;\r\n        height: 42px;\r\n\r\n        flex-basis: 42px;\r\n      }\r\n\r\n      .zsluxhero__bottom {\r\n        right: 20px;\r\n        bottom: 20px;\r\n        left: 20px;\r\n      }\r\n\r\n      .zsluxhero__signature {\r\n        display: none;\r\n      }\r\n\r\n      .zsluxhero__scroll-label {\r\n        font-size: 8px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n\r\n      #zs-luxuryvillas-hero *,\r\n      #zs-luxuryvillas-hero *::before,\r\n      #zs-luxuryvillas-hero *::after {\r\n        animation: none !important;\r\n        transition: none !important;\r\n      }\r\n\r\n      .zsluxhero__topline,\r\n      .zsluxhero__eyebrow,\r\n      .zsluxhero__content h1,\r\n      .zsluxhero__cta,\r\n      .zsluxhero__bottom {\r\n        opacity: 1 !important;\r\n        transform: none !important;\r\n        filter: none !important;\r\n      }\r\n\r\n    }\r\n  <\/style>\r\n\r\n  <script>\r\n  (() => {\r\n\r\n    const hero =\r\n      document.getElementById(\r\n        'zs-luxuryvillas-hero'\r\n      );\r\n\r\n    if (\r\n      !hero ||\r\n      hero.dataset.ready === '1'\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    hero.dataset.ready = '1';\r\n\r\n    const reduce =\r\n      window.matchMedia(\r\n        '(prefers-reduced-motion: reduce)'\r\n      ).matches;\r\n\r\n    requestAnimationFrame(\r\n      () =>\r\n        requestAnimationFrame(\r\n          () =>\r\n            hero.classList.add(\r\n              'is-entered'\r\n            )\r\n        )\r\n    );\r\n\r\n    const cta =\r\n      hero.querySelector(\r\n        '[data-zspp-scroll]'\r\n      );\r\n\r\n    if (!cta) {\r\n      return;\r\n    }\r\n\r\n    cta.addEventListener(\r\n      'click',\r\n      event => {\r\n\r\n        const target =\r\n          document.querySelector(\r\n            '#inquiry'\r\n          );\r\n\r\n        if (!target) {\r\n          return;\r\n        }\r\n\r\n        event.preventDefault();\r\n\r\n        target.scrollIntoView({\r\n          behavior:\r\n            reduce\r\n              ? 'auto'\r\n              : 'smooth',\r\n\r\n          block:\r\n            'start'\r\n        });\r\n\r\n      }\r\n    );\r\n\r\n  })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-822581f e-con-full e-flex e-con e-parent\" data-id=\"822581f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-af46928 elementor-widget elementor-widget-html\" data-id=\"af46928\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 LUXUS VILL\u00c1K \/ BEVEZET\u0150 + REGISZTR\u00c1CI\u00d3 -->\r\n<section id=\"zs-luxury-villas-intro\" class=\"zs-main zsluxintro\" aria-labelledby=\"zsluxintro-title\">\r\n\r\n  <div class=\"zsluxintro__inner\">\r\n\r\n    <div class=\"zsluxintro__grid\">\r\n\r\n      <figure class=\"zsluxintro__visual zsluxintro__reveal\">\r\n        <div class=\"zsluxintro__image-frame\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/1024x640-luxusvillak-hu.jpg\"\r\n            alt=\"Zala Springs Luxusvill\u00e1k\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n        <\/div>\r\n\r\n        <figcaption class=\"zsluxintro__caption\">\r\n          <span>LUXUS VILL\u00c1K<\/span>\r\n          <i><\/i>\r\n          <strong>Zala Springs Residences<\/strong>\r\n        <\/figcaption>\r\n      <\/figure>\r\n\r\n\r\n      <article class=\"zsluxintro__content zsluxintro__reveal\">\r\n\r\n        <div class=\"zsluxintro__eyebrow\">\r\n          <span><\/span>\r\n          <b>ZALA SPRINGS RESIDENCES<\/b>\r\n        <\/div>\r\n\r\n        <h2 id=\"zsluxintro-title\">\r\n          Luxus villaparkunk kivitelez\u00e9se hamarosan kezdet\u00e9t veszi\r\n        <\/h2>\r\n\r\n        <div class=\"zsluxintro__gold-line\"><\/div>\r\n\r\n        <p>\r\n          Az els\u0151 f\u00e1zisban 6 telek k\u00f6z\u00fcl v\u00e1laszthatja ki az \u00d6n sz\u00e1m\u00e1ra\r\n          legide\u00e1lisabbat. Ha \u00d6n sem szeretne lemaradni a legjobb t\u00f3parti\r\n          telkekr\u0151l, akkor vegye fel vel\u00fcnk a kapcsolatot most.\r\n        <\/p>\r\n\r\n        <a\r\n          class=\"zsluxintro__cta\"\r\n          href=\"#inquiry\"\r\n          data-zslux-scroll\r\n        >\r\n          <span>Regisztr\u00e1ci\u00f3<\/span>\r\n\r\n          <span class=\"zsluxintro__cta-icon\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 0 24 24\">\r\n              <path d=\"M12 5v14M7 14l5 5 5-5\"><\/path>\r\n            <\/svg>\r\n          <\/span>\r\n        <\/a>\r\n\r\n      <\/article>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <style>\r\n    #zs-luxury-villas-intro,\r\n    #zs-luxury-villas-intro *,\r\n    #zs-luxury-villas-intro *::before,\r\n    #zs-luxury-villas-intro *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-luxury-villas-intro {\r\n      --gold: var(--zs-brand-gold,#c2a22f);\r\n      --dark: var(--zs-brand-midnight,#26352c);\r\n      --surface: var(--zs-surface,#fbfaf7);\r\n      --muted: var(--zs-text-soft,#68716c);\r\n\r\n      width: 100%;\r\n\r\n      padding:\r\n        clamp(92px,8vw,138px)\r\n        clamp(20px,4vw,64px)\r\n        clamp(98px,8vw,142px);\r\n\r\n      overflow: hidden;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          #fbfaf7 0%,\r\n          #f6f3ec 100%\r\n        );\r\n\r\n      color: var(--dark);\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-intro * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-intro a {\r\n      text-decoration: none;\r\n    }\r\n\r\n    .zsluxintro__inner {\r\n      width: min(100%,1480px);\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .zsluxintro__grid {\r\n      display: grid;\r\n\r\n      grid-template-columns:\r\n        minmax(0,1.10fr)\r\n        minmax(390px,.90fr);\r\n\r\n      gap:\r\n        clamp(58px,7vw,110px);\r\n\r\n      align-items: center;\r\n    }\r\n\r\n\r\n    \/* VISUAL *\/\r\n\r\n    .zsluxintro__visual {\r\n      min-width: 0;\r\n      margin: 0;\r\n    }\r\n\r\n    .zsluxintro__image-frame {\r\n      position: relative;\r\n\r\n      overflow: hidden;\r\n\r\n      padding: 8px;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.20);\r\n\r\n      border-radius: 28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.86);\r\n\r\n      box-shadow:\r\n        0 26px 76px rgba(38,53,44,.085);\r\n    }\r\n\r\n    .zsluxintro__image-frame img {\r\n      display: block !important;\r\n\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      height: auto !important;\r\n\r\n      aspect-ratio: 1.6 \/ 1;\r\n\r\n      object-fit: cover !important;\r\n      object-position: center center !important;\r\n\r\n      border-radius: 20px;\r\n    }\r\n\r\n    .zsluxintro__caption {\r\n      display: flex;\r\n      align-items: center;\r\n\r\n      gap: 12px;\r\n\r\n      margin-top: 16px;\r\n\r\n      color: var(--muted);\r\n\r\n      font-size: 10px;\r\n      line-height: 1.4;\r\n    }\r\n\r\n    .zsluxintro__caption span {\r\n      color: #9f842b;\r\n\r\n      font-weight: 700;\r\n      letter-spacing: .15em;\r\n    }\r\n\r\n    .zsluxintro__caption i {\r\n      width: 32px;\r\n      height: 1px;\r\n\r\n      background:\r\n        rgba(194,162,47,.58);\r\n    }\r\n\r\n    .zsluxintro__caption strong {\r\n      font-weight: 400;\r\n    }\r\n\r\n\r\n    \/* CONTENT *\/\r\n\r\n    .zsluxintro__content {\r\n      max-width: 620px;\r\n    }\r\n\r\n    .zsluxintro__eyebrow {\r\n      display: flex;\r\n      align-items: center;\r\n\r\n      gap: 12px;\r\n\r\n      margin-bottom: 13px;\r\n\r\n      color: var(--gold);\r\n\r\n      font-size: 9px;\r\n      font-weight: 700;\r\n\r\n      letter-spacing: .19em;\r\n    }\r\n\r\n    .zsluxintro__eyebrow span {\r\n      width: 32px;\r\n      height: 1px;\r\n\r\n      background: var(--gold);\r\n    }\r\n\r\n    .zsluxintro__eyebrow b {\r\n      font-weight: 700;\r\n    }\r\n\r\n    .zsluxintro__content h2 {\r\n      margin: 0 !important;\r\n\r\n      color: var(--dark) !important;\r\n\r\n      font-size:\r\n        clamp(40px,3.65vw,60px);\r\n\r\n      font-weight: 400 !important;\r\n      line-height: 1.06 !important;\r\n\r\n      letter-spacing: -.022em;\r\n\r\n      text-wrap: balance;\r\n    }\r\n\r\n    .zsluxintro__gold-line {\r\n      width: 58px;\r\n      height: 1px;\r\n\r\n      margin:\r\n        25px 0 27px;\r\n\r\n      background:\r\n        var(--gold);\r\n    }\r\n\r\n    .zsluxintro__content p {\r\n      margin: 0 !important;\r\n\r\n      color: var(--muted);\r\n\r\n      font-size:\r\n        clamp(16px,1.12vw,19px);\r\n\r\n      line-height: 1.72;\r\n    }\r\n\r\n\r\n    \/* CTA *\/\r\n\r\n    .zsluxintro__cta {\r\n      min-height: 54px;\r\n\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n\r\n      gap: 15px;\r\n\r\n      margin-top: 28px;\r\n\r\n      padding:\r\n        7px 7px 7px 22px;\r\n\r\n      border:\r\n        1px solid var(--gold);\r\n\r\n      border-radius: 999px;\r\n\r\n      background:\r\n        var(--gold);\r\n\r\n      color:\r\n        var(--dark) !important;\r\n\r\n      font-size: 11px;\r\n      font-weight: 700;\r\n\r\n      letter-spacing: .06em;\r\n\r\n      transition:\r\n        transform .3s ease,\r\n        box-shadow .3s ease,\r\n        background-color .3s ease;\r\n    }\r\n\r\n    .zsluxintro__cta-icon {\r\n      width: 40px;\r\n      height: 40px;\r\n\r\n      display: grid;\r\n      place-items: center;\r\n\r\n      flex: 0 0 40px;\r\n\r\n      border-radius: 50%;\r\n\r\n      background:\r\n        var(--dark);\r\n\r\n      color: #fff;\r\n    }\r\n\r\n    .zsluxintro__cta svg {\r\n      width: 16px;\r\n      height: 16px;\r\n\r\n      fill: none;\r\n      stroke: currentColor;\r\n\r\n      stroke-width: 1.7;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n\r\n      transition:\r\n        transform .3s ease;\r\n    }\r\n\r\n\r\n    \/* REVEAL *\/\r\n\r\n    .zsluxintro__reveal {\r\n      opacity: 0;\r\n\r\n      transform:\r\n        translateY(28px);\r\n\r\n      transition:\r\n        opacity .8s ease,\r\n        transform .95s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxintro__reveal.is-visible {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n\r\n    @media (hover:hover) and (pointer:fine) {\r\n\r\n      .zsluxintro__cta:hover {\r\n        transform:\r\n          translateY(-2px);\r\n\r\n        box-shadow:\r\n          0 14px 34px rgba(194,162,47,.20);\r\n      }\r\n\r\n      .zsluxintro__cta:hover svg {\r\n        transform:\r\n          translateY(3px);\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* RESPONSIVE *\/\r\n\r\n    @media (max-width:1366px) {\r\n      #zs-luxury-villas-intro {\r\n        padding:\r\n          102px 40px 110px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n      #zs-luxury-villas-intro {\r\n        padding:\r\n          94px 30px 102px;\r\n      }\r\n\r\n      .zsluxintro__grid {\r\n        gap:\r\n          60px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n      #zs-luxury-villas-intro {\r\n        padding:\r\n          84px 22px 94px;\r\n      }\r\n\r\n      .zsluxintro__grid {\r\n        display: flex;\r\n        flex-direction: column;\r\n\r\n        gap:\r\n          46px;\r\n      }\r\n\r\n      .zsluxintro__visual {\r\n        order: 1;\r\n\r\n        width:\r\n          min(100%,880px);\r\n      }\r\n\r\n      .zsluxintro__content {\r\n        order: 2;\r\n\r\n        width:\r\n          min(100%,880px);\r\n\r\n        max-width: none;\r\n      }\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n      #zs-luxury-villas-intro {\r\n        padding:\r\n          76px 18px 86px;\r\n      }\r\n\r\n      .zsluxintro__image-frame {\r\n        border-radius: 22px;\r\n      }\r\n\r\n      .zsluxintro__image-frame img {\r\n        border-radius: 15px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n      #zs-luxury-villas-intro {\r\n        padding:\r\n          68px 12px 76px;\r\n      }\r\n\r\n      .zsluxintro__grid {\r\n        gap:\r\n          35px;\r\n      }\r\n\r\n      .zsluxintro__image-frame {\r\n        padding: 6px;\r\n\r\n        border-radius: 18px;\r\n      }\r\n\r\n      .zsluxintro__image-frame img {\r\n        aspect-ratio:\r\n          1.08 \/ 1;\r\n\r\n        border-radius: 12px;\r\n      }\r\n\r\n      .zsluxintro__caption {\r\n        font-size: 9px;\r\n      }\r\n\r\n      .zsluxintro__caption strong {\r\n        display: none;\r\n      }\r\n\r\n      .zsluxintro__eyebrow {\r\n        font-size: 8px;\r\n      }\r\n\r\n      .zsluxintro__content h2 {\r\n        font-size:\r\n          clamp(36px,9.7vw,48px);\r\n      }\r\n\r\n      .zsluxintro__content p {\r\n        font-size: 15px;\r\n      }\r\n\r\n      .zsluxintro__cta {\r\n        width: 100%;\r\n\r\n        justify-content: space-between;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n      .zsluxintro__reveal,\r\n      .zsluxintro__cta,\r\n      .zsluxintro__cta svg {\r\n        transition: none !important;\r\n      }\r\n\r\n      .zsluxintro__reveal {\r\n        opacity: 1 !important;\r\n        transform: none !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n\r\n  <script>\r\n  (() => {\r\n\r\n    const root =\r\n      document.getElementById(\r\n        'zs-luxury-villas-intro'\r\n      );\r\n\r\n    if (\r\n      !root ||\r\n      root.dataset.ready === '1'\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    root.dataset.ready = '1';\r\n\r\n\r\n    const items =\r\n      root.querySelectorAll(\r\n        '.zsluxintro__reveal'\r\n      );\r\n\r\n\r\n    if (\r\n      !('IntersectionObserver' in window)\r\n    ) {\r\n      items.forEach(\r\n        item =>\r\n          item.classList.add(\r\n            'is-visible'\r\n          )\r\n      );\r\n    } else {\r\n\r\n      const observer =\r\n        new IntersectionObserver(\r\n          entries => {\r\n            entries.forEach(\r\n              entry => {\r\n\r\n                if (!entry.isIntersecting) {\r\n                  return;\r\n                }\r\n\r\n                entry.target.classList.add(\r\n                  'is-visible'\r\n                );\r\n\r\n                observer.unobserve(\r\n                  entry.target\r\n                );\r\n              }\r\n            );\r\n          },\r\n          {\r\n            threshold: .10,\r\n            rootMargin: '0px 0px -6% 0px'\r\n          }\r\n        );\r\n\r\n      items.forEach(\r\n        item =>\r\n          observer.observe(item)\r\n      );\r\n    }\r\n\r\n\r\n    const cta =\r\n      root.querySelector(\r\n        '[data-zslux-scroll]'\r\n      );\r\n\r\n    if (cta) {\r\n      cta.addEventListener(\r\n        'click',\r\n        event => {\r\n\r\n          const target =\r\n            document.querySelector(\r\n              cta.getAttribute('href')\r\n            );\r\n\r\n          if (!target) {\r\n            return;\r\n          }\r\n\r\n          event.preventDefault();\r\n\r\n          target.scrollIntoView({\r\n            behavior:\r\n              window.matchMedia(\r\n                '(prefers-reduced-motion: reduce)'\r\n              ).matches\r\n                ? 'auto'\r\n                : 'smooth',\r\n            block: 'start'\r\n          });\r\n\r\n        }\r\n      );\r\n    }\r\n\r\n  })();\r\n  <\/script>\r\n\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3dc3f43 e-con-full e-flex e-con e-parent\" data-id=\"3dc3f43\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a9d6dc5 elementor-widget elementor-widget-html\" data-id=\"a9d6dc5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 LUXUS VILL\u00c1K \/ INTRO + GAL\u00c9RIA -->\r\n<section id=\"zs-luxury-villas-gallery\" class=\"zs-main zsluxgallery\" aria-labelledby=\"zsluxgallery-title\">\r\n  <div class=\"zsluxgallery__inner\">\r\n\r\n    <div class=\"zsluxgallery__grid\">\r\n\r\n      <!-- GALLERY -->\r\n      <div class=\"zsluxgallery__gallery zsluxgallery__reveal\">\r\n        <div\r\n          class=\"zsluxgallery__gallery-frame\"\r\n          tabindex=\"0\"\r\n          aria-label=\"Luxus Vill\u00e1k apartmanok gal\u00e9ria\"\r\n        >\r\n          <div class=\"zsluxgallery__track\">\r\n\r\n            <figure class=\"zsluxgallery__slide is-active\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-01.jpg\"\r\n                alt=\"Zala Springs Luxus Vill\u00e1k gal\u00e9ria 01\"\r\n                loading=\"eager\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxgallery__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-02.jpg\"\r\n                alt=\"Zala Springs Luxus Vill\u00e1k gal\u00e9ria 02\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxgallery__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-03.jpg\"\r\n                alt=\"Zala Springs Luxus Vill\u00e1k gal\u00e9ria 03\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxgallery__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-04.jpg\"\r\n                alt=\"Zala Springs Luxus Vill\u00e1k gal\u00e9ria 04\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxgallery__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-05.jpg\"\r\n                alt=\"Zala Springs Luxus Vill\u00e1k gal\u00e9ria 05\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxgallery__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-06.jpg\"\r\n                alt=\"Zala Springs Luxus Vill\u00e1k gal\u00e9ria 06\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxgallery__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-07.jpg\"\r\n                alt=\"Zala Springs Luxus Vill\u00e1k gal\u00e9ria 07\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxgallery__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-08.jpg\"\r\n                alt=\"Zala Springs Luxus Vill\u00e1k gal\u00e9ria 08\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n          <\/div>\r\n\r\n          <div class=\"zsluxgallery__counter\" aria-hidden=\"true\">\r\n            <span class=\"zsluxgallery__current\">01<\/span>\r\n            <i><\/i>\r\n            <span class=\"zsluxgallery__total\">08<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"zsluxgallery__controls\">\r\n            <button\r\n              class=\"zsluxgallery__arrow zsluxgallery__arrow--prev\"\r\n              type=\"button\"\r\n              aria-label=\"El\u0151z\u0151 k\u00e9p\"\r\n            >\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M15 5l-7 7 7 7\"><\/path>\r\n              <\/svg>\r\n            <\/button>\r\n\r\n            <button\r\n              class=\"zsluxgallery__arrow zsluxgallery__arrow--next\"\r\n              type=\"button\"\r\n              aria-label=\"K\u00f6vetkez\u0151 k\u00e9p\"\r\n            >\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M9 5l7 7-7 7\"><\/path>\r\n              <\/svg>\r\n            <\/button>\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n        <div\r\n          class=\"zsluxgallery__dots\"\r\n          role=\"tablist\"\r\n          aria-label=\"Gal\u00e9ria\"\r\n        ><\/div>\r\n      <\/div>\r\n\r\n\r\n      <!-- CONTENT -->\r\n      <article class=\"zsluxgallery__content zsluxgallery__reveal\">\r\n\r\n        <div class=\"zsluxgallery__eyebrow\">\r\n          ZALA SPRINGS RESIDENCES\r\n        <\/div>\r\n\r\n        <h2 id=\"zsluxgallery-title\">\r\n          Luxus vill\u00e1k\r\n        <\/h2>\r\n\r\n        <div class=\"zsluxgallery__gold-line\"><\/div>\r\n\r\n        <p class=\"zsluxgallery__lead\">\r\n          L\u00e9legzetel\u00e1ll\u00edt\u00f3 panor\u00e1ma, luxussz\u00ednvonal\u00fa felszerelts\u00e9g \u00e9s a pr\u00e9mium,\r\n          Resort ny\u00fajtotta szolg\u00e1ltat\u00e1sok, kompromisszumok n\u00e9lk\u00fcl!\r\n        <\/p>\r\n\r\n        <p>\r\n          A Zala Springs Health &amp; Golf Resort ingatlanfejleszt\u00e9s\u00e9nek egyik\r\n          leghat\u00e1roz\u00f3bb eleme a luxus vill\u00e1kb\u00f3l \u00e9p\u00fcl\u0151 lak\u00f3park.\r\n        <\/p>\r\n\r\n        <p>\r\n          A leny\u0171g\u00f6z\u0151, t\u00e1gas rezidenci\u00e1k kiv\u00e1l\u00f3 lehet\u0151s\u00e9get biztos\u00edtanak arra,\r\n          hogy k\u00edv\u00fcl-bel\u00fcl zavartalanul \u00e9lvezhess\u00fck a term\u00e9szet ny\u00fajtotta\r\n          adotts\u00e1gokat, mint a Robert Trent Jones Jr. tervezte golfp\u00e1ly\u00e1t,\r\n          a gy\u00f6ny\u00f6r\u0171 tavakat, a zalai dombok \u00f6lel\u00e9s\u00e9ben l\u00e9v\u0151 erd\u0151ket \u00e9s mez\u0151ket,\r\n          \u00e9s azon lehet\u0151s\u00e9geket, mely a csend, nyugalom \u00e9s b\u00e9ke \u00f6tv\u00f6zet\u00e9t k\u00e9pviseli.\r\n        <\/p>\r\n\r\n      <\/article>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n\r\n  <style>\r\n    #zs-luxury-villas-gallery,\r\n    #zs-luxury-villas-gallery *,\r\n    #zs-luxury-villas-gallery *::before,\r\n    #zs-luxury-villas-gallery *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-luxury-villas-gallery {\r\n      --gold: var(--zs-brand-gold, #c2a22f);\r\n      --dark: var(--zs-brand-midnight, #26352c);\r\n      --muted: var(--zs-text-soft, #68716c);\r\n\r\n      width: 100%;\r\n\r\n      padding:\r\n        clamp(92px,8vw,138px)\r\n        clamp(20px,4vw,64px);\r\n\r\n      overflow: hidden;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          #fbfaf7,\r\n          #f6f3ec\r\n        );\r\n\r\n      color: var(--dark);\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-gallery * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    .zsluxgallery__inner {\r\n      width: min(100%,1480px);\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .zsluxgallery__grid {\r\n      display: grid;\r\n\r\n      grid-template-columns:\r\n        minmax(390px,.88fr)\r\n        minmax(0,1.12fr);\r\n\r\n      gap:\r\n        clamp(58px,7vw,112px);\r\n\r\n      align-items: center;\r\n    }\r\n\r\n    .zsluxgallery__content {\r\n      grid-column: 1;\r\n      grid-row: 1;\r\n    }\r\n\r\n    .zsluxgallery__gallery {\r\n      grid-column: 2;\r\n      grid-row: 1;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       GALLERY\r\n       ========================================================= *\/\r\n\r\n    .zsluxgallery__gallery {\r\n      min-width: 0;\r\n    }\r\n\r\n    .zsluxgallery__gallery-frame {\r\n      position: relative;\r\n\r\n      width: 100%;\r\n      aspect-ratio: 1.48 \/ 1;\r\n\r\n      overflow: hidden;\r\n\r\n      padding: 8px;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.22);\r\n\r\n      border-radius: 28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.84);\r\n\r\n      box-shadow:\r\n        0 26px 75px rgba(38,53,44,.10);\r\n\r\n      outline: none;\r\n    }\r\n\r\n    .zsluxgallery__gallery-frame:focus-visible {\r\n      box-shadow:\r\n        0 0 0 3px rgba(194,162,47,.24),\r\n        0 26px 75px rgba(38,53,44,.10);\r\n    }\r\n\r\n    .zsluxgallery__track {\r\n      position: relative;\r\n\r\n      width: 100%;\r\n      height: 100%;\r\n\r\n      overflow: hidden;\r\n\r\n      border-radius: 20px;\r\n\r\n      background: #e8e7e2;\r\n    }\r\n\r\n    .zsluxgallery__slide {\r\n      position: absolute;\r\n\r\n      inset: 0;\r\n\r\n      margin: 0;\r\n\r\n      opacity: 0;\r\n      visibility: hidden;\r\n\r\n      transform: scale(1.035);\r\n\r\n      transition:\r\n        opacity .65s ease,\r\n        visibility .65s ease,\r\n        transform 1.05s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxgallery__slide.is-active {\r\n      opacity: 1;\r\n      visibility: visible;\r\n\r\n      transform: scale(1);\r\n    }\r\n\r\n    .zsluxgallery__slide img {\r\n      display: block;\r\n\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      height: 100% !important;\r\n\r\n      object-fit: cover !important;\r\n      object-position: center center !important;\r\n    }\r\n\r\n    .zsluxgallery__gallery-frame::after {\r\n      content: \"\";\r\n\r\n      position: absolute;\r\n\r\n      inset: 8px;\r\n\r\n      z-index: 2;\r\n\r\n      border-radius: 20px;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          transparent 62%,\r\n          rgba(16,31,23,.26)\r\n        );\r\n\r\n      pointer-events: none;\r\n    }\r\n\r\n    .zsluxgallery__counter {\r\n      position: absolute;\r\n\r\n      z-index: 4;\r\n\r\n      left: 31px;\r\n      bottom: 29px;\r\n\r\n      display: flex;\r\n      align-items: center;\r\n\r\n      gap: 10px;\r\n\r\n      color:\r\n        rgba(255,255,255,.88);\r\n\r\n      font-size: 10px;\r\n      font-weight: 600;\r\n\r\n      letter-spacing: .16em;\r\n    }\r\n\r\n    .zsluxgallery__counter i {\r\n      width: 34px;\r\n      height: 1px;\r\n\r\n      background:\r\n        rgba(194,162,47,.92);\r\n    }\r\n\r\n    .zsluxgallery__controls {\r\n      position: absolute;\r\n\r\n      z-index: 5;\r\n\r\n      right: 27px;\r\n      bottom: 24px;\r\n\r\n      display: flex;\r\n\r\n      gap: 8px;\r\n    }\r\n\r\n    .zsluxgallery__arrow {\r\n      width: 46px;\r\n      height: 46px;\r\n\r\n      display: grid;\r\n      place-items: center;\r\n\r\n      padding: 0;\r\n\r\n      border:\r\n        1px solid rgba(255,255,255,.5) !important;\r\n\r\n      border-radius: 50% !important;\r\n\r\n      background:\r\n        rgba(255,255,255,.93) !important;\r\n\r\n      color:\r\n        var(--dark) !important;\r\n\r\n      cursor: pointer;\r\n      appearance: none;\r\n\r\n      box-shadow:\r\n        0 8px 24px rgba(14,28,20,.14);\r\n\r\n      transition: .25s ease;\r\n    }\r\n\r\n    .zsluxgallery__arrow svg {\r\n      width: 18px;\r\n      height: 18px;\r\n\r\n      fill: none;\r\n      stroke: currentColor;\r\n\r\n      stroke-width: 1.8;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n    }\r\n\r\n    .zsluxgallery__dots {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n\r\n      gap: 8px;\r\n\r\n      margin-top: 20px;\r\n    }\r\n\r\n    .zsluxgallery__dot {\r\n      width: 7px;\r\n      height: 7px;\r\n\r\n      padding: 0;\r\n\r\n      border: 0 !important;\r\n      border-radius: 50% !important;\r\n\r\n      background:\r\n        rgba(38,53,44,.20) !important;\r\n\r\n      cursor: pointer;\r\n      appearance: none;\r\n\r\n      transition: .3s ease;\r\n    }\r\n\r\n    .zsluxgallery__dot.is-active {\r\n      width: 27px;\r\n\r\n      border-radius: 999px !important;\r\n\r\n      background:\r\n        var(--gold) !important;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       CONTENT\r\n       ========================================================= *\/\r\n\r\n    .zsluxgallery__content {\r\n      max-width: 610px;\r\n    }\r\n\r\n    .zsluxgallery__eyebrow {\r\n      margin-bottom: 13px;\r\n\r\n      color: var(--gold);\r\n\r\n      font-size: 10px;\r\n      font-weight: 700;\r\n\r\n      letter-spacing: .2em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    .zsluxgallery__content h2 {\r\n      margin: 0 !important;\r\n\r\n      color:\r\n        var(--dark) !important;\r\n\r\n      font-size:\r\n        clamp(43px,4vw,66px);\r\n\r\n      font-weight:\r\n        400 !important;\r\n\r\n      line-height:\r\n        1.03 !important;\r\n\r\n      letter-spacing:\r\n        -.025em;\r\n\r\n      text-wrap: balance;\r\n    }\r\n\r\n    .zsluxgallery__gold-line {\r\n      width: 56px;\r\n      height: 1px;\r\n\r\n      margin:\r\n        25px 0 27px;\r\n\r\n      background:\r\n        var(--gold);\r\n    }\r\n\r\n    .zsluxgallery__content p {\r\n      margin:\r\n        0 0 20px !important;\r\n\r\n      color:\r\n        var(--muted);\r\n\r\n      font-size:\r\n        clamp(15px,1.02vw,17px);\r\n\r\n      line-height:\r\n        1.72;\r\n    }\r\n\r\n    .zsluxgallery__content\r\n    .zsluxgallery__lead {\r\n      color:\r\n        var(--dark);\r\n\r\n      font-size:\r\n        clamp(18px,1.3vw,22px);\r\n\r\n      line-height:\r\n        1.55;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       REVEAL\r\n       ========================================================= *\/\r\n\r\n    .zsluxgallery__reveal {\r\n      opacity: 0;\r\n\r\n      transform:\r\n        translateY(30px);\r\n\r\n      transition:\r\n        opacity .8s ease,\r\n        transform .95s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxgallery__reveal.is-visible {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       HOVER\r\n       ========================================================= *\/\r\n\r\n    @media (hover:hover) and (pointer:fine) {\r\n\r\n      .zsluxgallery__arrow:hover {\r\n        transform:\r\n          translateY(-2px);\r\n\r\n        background:\r\n          var(--gold) !important;\r\n\r\n        border-color:\r\n          var(--gold) !important;\r\n\r\n        color:\r\n          #fff !important;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       RESPONSIVE\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:1366px) {\r\n\r\n      #zs-luxury-villas-gallery {\r\n        padding:\r\n          104px 40px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n\r\n      #zs-luxury-villas-gallery {\r\n        padding:\r\n          96px 32px;\r\n      }\r\n\r\n      .zsluxgallery__grid {\r\n        gap:\r\n          60px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n\r\n      #zs-luxury-villas-gallery {\r\n        padding:\r\n          86px 24px;\r\n      }\r\n\r\n      .zsluxgallery__grid {\r\n        display: flex;\r\n        flex-direction: column;\r\n\r\n        gap:\r\n          48px;\r\n      }\r\n\r\n      .zsluxgallery__gallery {\r\n        order: 1;\r\n\r\n        width:\r\n          min(100%,850px);\r\n      }\r\n\r\n      .zsluxgallery__content {\r\n        order: 2;\r\n\r\n        width:\r\n          min(100%,850px);\r\n\r\n        max-width: none;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n\r\n      .zsluxgallery__gallery-frame {\r\n        border-radius:\r\n          22px;\r\n      }\r\n\r\n      .zsluxgallery__track,\r\n      .zsluxgallery__gallery-frame::after {\r\n        border-radius:\r\n          15px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n\r\n      #zs-luxury-villas-gallery {\r\n        padding:\r\n          68px 14px;\r\n      }\r\n\r\n      .zsluxgallery__grid {\r\n        gap:\r\n          35px;\r\n      }\r\n\r\n      .zsluxgallery__content h2 {\r\n        font-size:\r\n          clamp(38px,10vw,50px);\r\n      }\r\n\r\n      .zsluxgallery__gallery-frame {\r\n        aspect-ratio:\r\n          1.12 \/ 1;\r\n\r\n        padding:\r\n          6px;\r\n\r\n        border-radius:\r\n          20px;\r\n      }\r\n\r\n      .zsluxgallery__track {\r\n        border-radius:\r\n          14px;\r\n      }\r\n\r\n      .zsluxgallery__gallery-frame::after {\r\n        inset:\r\n          6px;\r\n\r\n        border-radius:\r\n          14px;\r\n      }\r\n\r\n      .zsluxgallery__counter {\r\n        left:\r\n          21px;\r\n\r\n        bottom:\r\n          22px;\r\n      }\r\n\r\n      .zsluxgallery__controls {\r\n        right:\r\n          18px;\r\n\r\n        bottom:\r\n          16px;\r\n      }\r\n\r\n      .zsluxgallery__arrow {\r\n        width:\r\n          42px;\r\n\r\n        height:\r\n          42px;\r\n      }\r\n\r\n      .zsluxgallery__dots {\r\n        margin-top:\r\n          15px;\r\n      }\r\n\r\n      .zsluxgallery__content p {\r\n        font-size:\r\n          15px;\r\n      }\r\n\r\n      .zsluxgallery__content\r\n      .zsluxgallery__lead {\r\n        font-size:\r\n          17px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:480px) {\r\n\r\n      .zsluxgallery__gallery-frame {\r\n        aspect-ratio:\r\n          .98 \/ 1;\r\n      }\r\n\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n\r\n      .zsluxgallery__reveal,\r\n      .zsluxgallery__slide,\r\n      .zsluxgallery__arrow,\r\n      .zsluxgallery__dot {\r\n        transition:\r\n          none !important;\r\n      }\r\n\r\n      .zsluxgallery__reveal {\r\n        opacity:\r\n          1 !important;\r\n\r\n        transform:\r\n          none !important;\r\n      }\r\n\r\n    }\r\n\r\n  <\/style>\r\n\r\n\r\n  <script>\r\n  (() => {\r\n\r\n    const root =\r\n      document.getElementById(\r\n        'zs-luxury-villas-gallery'\r\n      );\r\n\r\n    if (\r\n      !root ||\r\n      root.dataset.ready === '1'\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    root.dataset.ready =\r\n      '1';\r\n\r\n    const slides = [\r\n      ...root.querySelectorAll(\r\n        '.zsluxgallery__slide'\r\n      )\r\n    ];\r\n\r\n    const dotsWrap =\r\n      root.querySelector(\r\n        '.zsluxgallery__dots'\r\n      );\r\n\r\n    const prev =\r\n      root.querySelector(\r\n        '.zsluxgallery__arrow--prev'\r\n      );\r\n\r\n    const next =\r\n      root.querySelector(\r\n        '.zsluxgallery__arrow--next'\r\n      );\r\n\r\n    const current =\r\n      root.querySelector(\r\n        '.zsluxgallery__current'\r\n      );\r\n\r\n    const total =\r\n      root.querySelector(\r\n        '.zsluxgallery__total'\r\n      );\r\n\r\n    const frame =\r\n      root.querySelector(\r\n        '.zsluxgallery__gallery-frame'\r\n      );\r\n\r\n    if (!slides.length) {\r\n      return;\r\n    }\r\n\r\n    let index = 0;\r\n    let startX = 0;\r\n    let endX = 0;\r\n\r\n    total.textContent =\r\n      String(slides.length)\r\n        .padStart(2,'0');\r\n\r\n\r\n    slides.forEach(\r\n      (slide,i) => {\r\n\r\n        const dot =\r\n          document.createElement(\r\n            'button'\r\n          );\r\n\r\n        dot.type =\r\n          'button';\r\n\r\n        dot.className =\r\n          'zsluxgallery__dot' +\r\n          (\r\n            i === 0\r\n              ? ' is-active'\r\n              : ''\r\n          );\r\n\r\n        dot.setAttribute(\r\n          'aria-label',\r\n          (i + 1) + '. k\u00e9p'\r\n        );\r\n\r\n        dot.addEventListener(\r\n          'click',\r\n          () =>\r\n            show(i)\r\n        );\r\n\r\n        dotsWrap.appendChild(\r\n          dot\r\n        );\r\n\r\n      }\r\n    );\r\n\r\n\r\n    const dots = [\r\n      ...dotsWrap.querySelectorAll(\r\n        '.zsluxgallery__dot'\r\n      )\r\n    ];\r\n\r\n\r\n    function show(nextIndex) {\r\n\r\n      index =\r\n        (\r\n          nextIndex +\r\n          slides.length\r\n        ) %\r\n        slides.length;\r\n\r\n      slides.forEach(\r\n        (slide,i) =>\r\n          slide.classList.toggle(\r\n            'is-active',\r\n            i === index\r\n          )\r\n      );\r\n\r\n      dots.forEach(\r\n        (dot,i) =>\r\n          dot.classList.toggle(\r\n            'is-active',\r\n            i === index\r\n          )\r\n      );\r\n\r\n      current.textContent =\r\n        String(index + 1)\r\n          .padStart(2,'0');\r\n\r\n    }\r\n\r\n\r\n    prev.addEventListener(\r\n      'click',\r\n      () =>\r\n        show(index - 1)\r\n    );\r\n\r\n    next.addEventListener(\r\n      'click',\r\n      () =>\r\n        show(index + 1)\r\n    );\r\n\r\n\r\n    frame.addEventListener(\r\n      'keydown',\r\n      event => {\r\n\r\n        if (\r\n          event.key ===\r\n          'ArrowLeft'\r\n        ) {\r\n          show(index - 1);\r\n        }\r\n\r\n        if (\r\n          event.key ===\r\n          'ArrowRight'\r\n        ) {\r\n          show(index + 1);\r\n        }\r\n\r\n      }\r\n    );\r\n\r\n\r\n    frame.addEventListener(\r\n      'touchstart',\r\n      event => {\r\n\r\n        startX =\r\n          event.changedTouches[0]\r\n            .screenX;\r\n\r\n      },\r\n      {\r\n        passive: true\r\n      }\r\n    );\r\n\r\n\r\n    frame.addEventListener(\r\n      'touchend',\r\n      event => {\r\n\r\n        endX =\r\n          event.changedTouches[0]\r\n            .screenX;\r\n\r\n        const delta =\r\n          endX -\r\n          startX;\r\n\r\n        if (\r\n          Math.abs(delta) >=\r\n          45\r\n        ) {\r\n\r\n          show(\r\n            delta < 0\r\n              ? index + 1\r\n              : index - 1\r\n          );\r\n\r\n        }\r\n\r\n      },\r\n      {\r\n        passive: true\r\n      }\r\n    );\r\n\r\n\r\n    show(0);\r\n\r\n\r\n    const reveal =\r\n      root.querySelectorAll(\r\n        '.zsluxgallery__reveal'\r\n      );\r\n\r\n    if (\r\n      !(\r\n        'IntersectionObserver'\r\n        in window\r\n      )\r\n    ) {\r\n\r\n      reveal.forEach(\r\n        element =>\r\n          element.classList.add(\r\n            'is-visible'\r\n          )\r\n      );\r\n\r\n      return;\r\n    }\r\n\r\n    const observer =\r\n      new IntersectionObserver(\r\n        entries => {\r\n\r\n          entries.forEach(\r\n            entry => {\r\n\r\n              if (\r\n                !entry.isIntersecting\r\n              ) {\r\n                return;\r\n              }\r\n\r\n              entry.target.classList.add(\r\n                'is-visible'\r\n              );\r\n\r\n              observer.unobserve(\r\n                entry.target\r\n              );\r\n\r\n            }\r\n          );\r\n\r\n        },\r\n        {\r\n          threshold: .12,\r\n\r\n          rootMargin:\r\n            '0px 0px -6% 0px'\r\n        }\r\n      );\r\n\r\n    reveal.forEach(\r\n      element =>\r\n        observer.observe(\r\n          element\r\n        )\r\n    );\r\n\r\n  })();\r\n  <\/script>\r\n\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-14f5a37 e-con-full e-flex e-con e-parent\" data-id=\"14f5a37\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-398a672 elementor-widget elementor-widget-html\" data-id=\"398a672\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 LUXUS VILL\u00c1K \/ BELS\u0150 ENTERI\u0150R - ARDEN -->\r\n<section id=\"zs-luxury-villas-arden\" class=\"zs-main zsluxarden\" aria-labelledby=\"zsluxarden-title\">\r\n  <div class=\"zsluxarden__inner\">\r\n\r\n    <div class=\"zsluxarden__grid\">\r\n\r\n      <!-- GALLERY -->\r\n      <div class=\"zsluxarden__gallery zsluxarden__reveal\">\r\n        <div\r\n          class=\"zsluxarden__gallery-frame\"\r\n          tabindex=\"0\"\r\n          aria-label=\"Arden enteri\u0151r gal\u00e9ria\"\r\n        >\r\n          <div class=\"zsluxarden__track\">\r\n\r\n            <figure class=\"zsluxarden__slide is-active\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/zold-1.jpg\"\r\n                alt=\"Arden bels\u0151 enteri\u0151r 1\"\r\n                loading=\"eager\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxarden__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/zold-2.jpg\"\r\n                alt=\"Arden bels\u0151 enteri\u0151r 2\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxarden__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/zold-3.jpg\"\r\n                alt=\"Arden bels\u0151 enteri\u0151r 3\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxarden__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/zold-4.jpg\"\r\n                alt=\"Arden bels\u0151 enteri\u0151r 4\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n          <\/div>\r\n\r\n          <div class=\"zsluxarden__counter\" aria-hidden=\"true\">\r\n            <span class=\"zsluxarden__current\">01<\/span>\r\n            <i><\/i>\r\n            <span class=\"zsluxarden__total\">04<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"zsluxarden__controls\">\r\n            <button\r\n              class=\"zsluxarden__arrow zsluxarden__arrow--prev\"\r\n              type=\"button\"\r\n              aria-label=\"El\u0151z\u0151 k\u00e9p\"\r\n            >\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M15 5l-7 7 7 7\"><\/path>\r\n              <\/svg>\r\n            <\/button>\r\n\r\n            <button\r\n              class=\"zsluxarden__arrow zsluxarden__arrow--next\"\r\n              type=\"button\"\r\n              aria-label=\"K\u00f6vetkez\u0151 k\u00e9p\"\r\n            >\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M9 5l7 7-7 7\"><\/path>\r\n              <\/svg>\r\n            <\/button>\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n        <div\r\n          class=\"zsluxarden__dots\"\r\n          role=\"tablist\"\r\n          aria-label=\"Arden gal\u00e9ria\"\r\n        ><\/div>\r\n      <\/div>\r\n\r\n\r\n      <!-- CONTENT -->\r\n      <article class=\"zsluxarden__content zsluxarden__reveal\">\r\n\r\n        <div class=\"zsluxarden__eyebrow\">\r\n          ZALA SPRINGS RESIDENCES\r\n        <\/div>\r\n\r\n        <h2 id=\"zsluxarden-title\">\r\n          Bels\u0151 enteri\u0151r - Arden\r\n        <\/h2>\r\n\r\n        <div class=\"zsluxarden__gold-line\"><\/div>\r\n\r\n        <p>\r\n          Az ARDEN st\u00edlus a term\u00e9szet melegs\u00e9ge \u00e9s nyugalma \u00e1ltal inspir\u00e1lt\r\n          enteri\u0151rvil\u00e1g. A m\u00e9ly z\u00f6ld \u00e1rnyalatok, a meleg fa fel\u00fcletek \u00e9s az\r\n          organikus r\u00e9szletek harmonikusan kapcsol\u00f3dnak a k\u00f6rnyez\u0151 term\u00e9szet\r\n          l\u00e1tv\u00e1ny\u00e1hoz, valamint a golfp\u00e1lya greenjeinek \u00e9s fairwayjeinek\r\n          karakteres z\u00f6ld t\u00f3nusaihoz. Az atmoszf\u00e9ra egyszerre eleg\u00e1ns \u00e9s\r\n          otthonos, ahol a term\u00e9szetk\u00f6zeli design kifinomult, m\u00e9gis\r\n          megnyugtat\u00f3 \u00e9let\u00e9rz\u00e9st teremt.\r\n        <\/p>\r\n\r\n      <\/article>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n\r\n  <style>\r\n    #zs-luxury-villas-arden,\r\n    #zs-luxury-villas-arden *,\r\n    #zs-luxury-villas-arden *::before,\r\n    #zs-luxury-villas-arden *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-luxury-villas-arden {\r\n      --gold: var(--zs-brand-gold, #c2a22f);\r\n      --dark: var(--zs-brand-midnight, #26352c);\r\n      --muted: var(--zs-text-soft, #68716c);\r\n\r\n      width: 100%;\r\n      padding:\r\n        clamp(86px,7vw,124px)\r\n        clamp(20px,4vw,64px);\r\n\r\n      overflow: hidden;\r\n\r\n      background:\r\n        linear-gradient(180deg,#fbfaf7,#f6f3ec);\r\n\r\n      color: var(--dark);\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-arden * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    .zsluxarden__inner {\r\n      width: min(100%,1480px);\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .zsluxarden__grid {\r\n      display: grid;\r\n      grid-template-columns:\r\n        minmax(0,1.12fr)\r\n        minmax(390px,.88fr);\r\n      gap: clamp(58px,7vw,112px);\r\n      align-items: center;\r\n    }\r\n\r\n    .zsluxarden__gallery {\r\n      min-width: 0;\r\n    }\r\n\r\n    .zsluxarden__gallery-frame {\r\n      position: relative;\r\n      width: 100%;\r\n      aspect-ratio: 1.48 \/ 1;\r\n      overflow: hidden;\r\n      padding: 8px;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.22);\r\n\r\n      border-radius: 28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.84);\r\n\r\n      box-shadow:\r\n        0 26px 75px rgba(38,53,44,.10);\r\n\r\n      outline: none;\r\n    }\r\n\r\n    .zsluxarden__gallery-frame:focus-visible {\r\n      box-shadow:\r\n        0 0 0 3px rgba(194,162,47,.24),\r\n        0 26px 75px rgba(38,53,44,.10);\r\n    }\r\n\r\n    .zsluxarden__track {\r\n      position: relative;\r\n      width: 100%;\r\n      height: 100%;\r\n      overflow: hidden;\r\n      border-radius: 20px;\r\n      background: #e8e7e2;\r\n    }\r\n\r\n    .zsluxarden__slide {\r\n      position: absolute;\r\n      inset: 0;\r\n      margin: 0;\r\n      opacity: 0;\r\n      visibility: hidden;\r\n      transform: scale(1.035);\r\n\r\n      transition:\r\n        opacity .65s ease,\r\n        visibility .65s ease,\r\n        transform 1.05s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxarden__slide.is-active {\r\n      opacity: 1;\r\n      visibility: visible;\r\n      transform: scale(1);\r\n    }\r\n\r\n    .zsluxarden__slide img {\r\n      display: block;\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      height: 100% !important;\r\n      object-fit: cover !important;\r\n      object-position: center center !important;\r\n    }\r\n\r\n    .zsluxarden__gallery-frame::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      inset: 8px;\r\n      z-index: 2;\r\n      border-radius: 20px;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          transparent 62%,\r\n          rgba(16,31,23,.26)\r\n        );\r\n\r\n      pointer-events: none;\r\n    }\r\n\r\n    .zsluxarden__counter {\r\n      position: absolute;\r\n      z-index: 4;\r\n      left: 31px;\r\n      bottom: 29px;\r\n\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n\r\n      color: rgba(255,255,255,.88);\r\n\r\n      font-size: 10px;\r\n      font-weight: 600;\r\n      letter-spacing: .16em;\r\n    }\r\n\r\n    .zsluxarden__counter i {\r\n      width: 34px;\r\n      height: 1px;\r\n      background: rgba(194,162,47,.92);\r\n    }\r\n\r\n    .zsluxarden__controls {\r\n      position: absolute;\r\n      z-index: 5;\r\n      right: 27px;\r\n      bottom: 24px;\r\n      display: flex;\r\n      gap: 8px;\r\n    }\r\n\r\n    .zsluxarden__arrow {\r\n      width: 46px;\r\n      height: 46px;\r\n      display: grid;\r\n      place-items: center;\r\n      padding: 0;\r\n\r\n      border:\r\n        1px solid rgba(255,255,255,.5) !important;\r\n\r\n      border-radius: 50% !important;\r\n\r\n      background:\r\n        rgba(255,255,255,.93) !important;\r\n\r\n      color: var(--dark) !important;\r\n      cursor: pointer;\r\n      appearance: none;\r\n\r\n      box-shadow:\r\n        0 8px 24px rgba(14,28,20,.14);\r\n\r\n      transition: .25s ease;\r\n    }\r\n\r\n    .zsluxarden__arrow svg {\r\n      width: 18px;\r\n      height: 18px;\r\n      fill: none;\r\n      stroke: currentColor;\r\n      stroke-width: 1.8;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n    }\r\n\r\n    .zsluxarden__dots {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 8px;\r\n      margin-top: 20px;\r\n    }\r\n\r\n    .zsluxarden__dot {\r\n      width: 7px;\r\n      height: 7px;\r\n      padding: 0;\r\n      border: 0 !important;\r\n      border-radius: 50% !important;\r\n\r\n      background:\r\n        rgba(38,53,44,.20) !important;\r\n\r\n      cursor: pointer;\r\n      appearance: none;\r\n      transition: .3s ease;\r\n    }\r\n\r\n    .zsluxarden__dot.is-active {\r\n      width: 27px;\r\n      border-radius: 999px !important;\r\n      background: var(--gold) !important;\r\n    }\r\n\r\n    .zsluxarden__content {\r\n      max-width: 610px;\r\n    }\r\n\r\n    .zsluxarden__eyebrow {\r\n      margin-bottom: 13px;\r\n      color: var(--gold);\r\n      font-size: 10px;\r\n      font-weight: 700;\r\n      letter-spacing: .2em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    .zsluxarden__content h2 {\r\n      margin: 0 !important;\r\n      color: var(--dark) !important;\r\n      font-size: clamp(40px,3.6vw,60px);\r\n      font-weight: 400 !important;\r\n      line-height: 1.04 !important;\r\n      letter-spacing: -.023em;\r\n      text-wrap: balance;\r\n    }\r\n\r\n    .zsluxarden__gold-line {\r\n      width: 56px;\r\n      height: 1px;\r\n      margin: 24px 0 26px;\r\n      background: var(--gold);\r\n    }\r\n\r\n    .zsluxarden__content p {\r\n      margin: 0 !important;\r\n      color: var(--muted);\r\n      font-size: clamp(16px,1.08vw,18px);\r\n      line-height: 1.72;\r\n    }\r\n\r\n    .zsluxarden__reveal {\r\n      opacity: 0;\r\n      transform: translateY(30px);\r\n\r\n      transition:\r\n        opacity .8s ease,\r\n        transform .95s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxarden__reveal.is-visible {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n    @media (hover:hover) and (pointer:fine) {\r\n      .zsluxarden__arrow:hover {\r\n        transform: translateY(-2px);\r\n        background: var(--gold) !important;\r\n        border-color: var(--gold) !important;\r\n        color: #fff !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1366px) {\r\n      #zs-luxury-villas-arden {\r\n        padding: 96px 40px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n      #zs-luxury-villas-arden {\r\n        padding: 90px 32px;\r\n      }\r\n\r\n      .zsluxarden__grid {\r\n        gap: 60px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n      #zs-luxury-villas-arden {\r\n        padding: 82px 24px;\r\n      }\r\n\r\n      .zsluxarden__grid {\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 46px;\r\n      }\r\n\r\n      .zsluxarden__gallery {\r\n        order: 1;\r\n        width: min(100%,850px);\r\n      }\r\n\r\n      .zsluxarden__content {\r\n        order: 2;\r\n        width: min(100%,850px);\r\n        max-width: none;\r\n      }\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n      .zsluxarden__gallery-frame {\r\n        border-radius: 22px;\r\n      }\r\n\r\n      .zsluxarden__track,\r\n      .zsluxarden__gallery-frame::after {\r\n        border-radius: 15px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n      #zs-luxury-villas-arden {\r\n        padding: 68px 14px;\r\n      }\r\n\r\n      .zsluxarden__grid {\r\n        gap: 35px;\r\n      }\r\n\r\n      .zsluxarden__content h2 {\r\n        font-size: clamp(36px,9vw,48px);\r\n      }\r\n\r\n      .zsluxarden__gallery-frame {\r\n        aspect-ratio: 1.12 \/ 1;\r\n        padding: 6px;\r\n        border-radius: 20px;\r\n      }\r\n\r\n      .zsluxarden__track,\r\n      .zsluxarden__gallery-frame::after {\r\n        border-radius: 14px;\r\n      }\r\n\r\n      .zsluxarden__gallery-frame::after {\r\n        inset: 6px;\r\n      }\r\n\r\n      .zsluxarden__counter {\r\n        left: 21px;\r\n        bottom: 22px;\r\n      }\r\n\r\n      .zsluxarden__controls {\r\n        right: 18px;\r\n        bottom: 16px;\r\n      }\r\n\r\n      .zsluxarden__arrow {\r\n        width: 42px;\r\n        height: 42px;\r\n      }\r\n\r\n      .zsluxarden__dots {\r\n        margin-top: 15px;\r\n      }\r\n\r\n      .zsluxarden__content p {\r\n        font-size: 15px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:480px) {\r\n      .zsluxarden__gallery-frame {\r\n        aspect-ratio: .98 \/ 1;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n      .zsluxarden__reveal,\r\n      .zsluxarden__slide,\r\n      .zsluxarden__arrow,\r\n      .zsluxarden__dot {\r\n        transition: none !important;\r\n      }\r\n\r\n      .zsluxarden__reveal {\r\n        opacity: 1 !important;\r\n        transform: none !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n\r\n  <script>\r\n  (() => {\r\n    const root =\r\n      document.getElementById(\r\n        'zs-luxury-villas-arden'\r\n      );\r\n\r\n    if (!root || root.dataset.ready === '1') {\r\n      return;\r\n    }\r\n\r\n    root.dataset.ready = '1';\r\n\r\n    const slides = [\r\n      ...root.querySelectorAll(\r\n        '.zsluxarden__slide'\r\n      )\r\n    ];\r\n\r\n    const dotsWrap =\r\n      root.querySelector(\r\n        '.zsluxarden__dots'\r\n      );\r\n\r\n    const prev =\r\n      root.querySelector(\r\n        '.zsluxarden__arrow--prev'\r\n      );\r\n\r\n    const next =\r\n      root.querySelector(\r\n        '.zsluxarden__arrow--next'\r\n      );\r\n\r\n    const current =\r\n      root.querySelector(\r\n        '.zsluxarden__current'\r\n      );\r\n\r\n    const total =\r\n      root.querySelector(\r\n        '.zsluxarden__total'\r\n      );\r\n\r\n    const frame =\r\n      root.querySelector(\r\n        '.zsluxarden__gallery-frame'\r\n      );\r\n\r\n    if (!slides.length) {\r\n      return;\r\n    }\r\n\r\n    let index = 0;\r\n    let startX = 0;\r\n\r\n    total.textContent =\r\n      String(slides.length)\r\n        .padStart(2,'0');\r\n\r\n    slides.forEach(\r\n      (slide,i) => {\r\n        const dot =\r\n          document.createElement(\r\n            'button'\r\n          );\r\n\r\n        dot.type = 'button';\r\n\r\n        dot.className =\r\n          'zsluxarden__dot' +\r\n          (i === 0 ? ' is-active' : '');\r\n\r\n        dot.setAttribute(\r\n          'aria-label',\r\n          (i + 1) + '. k\u00e9p'\r\n        );\r\n\r\n        dot.addEventListener(\r\n          'click',\r\n          () => show(i)\r\n        );\r\n\r\n        dotsWrap.appendChild(dot);\r\n      }\r\n    );\r\n\r\n    const dots = [\r\n      ...dotsWrap.querySelectorAll(\r\n        '.zsluxarden__dot'\r\n      )\r\n    ];\r\n\r\n    function show(nextIndex) {\r\n      index =\r\n        (\r\n          nextIndex +\r\n          slides.length\r\n        ) %\r\n        slides.length;\r\n\r\n      slides.forEach(\r\n        (slide,i) =>\r\n          slide.classList.toggle(\r\n            'is-active',\r\n            i === index\r\n          )\r\n      );\r\n\r\n      dots.forEach(\r\n        (dot,i) =>\r\n          dot.classList.toggle(\r\n            'is-active',\r\n            i === index\r\n          )\r\n      );\r\n\r\n      current.textContent =\r\n        String(index + 1)\r\n          .padStart(2,'0');\r\n    }\r\n\r\n    prev.addEventListener(\r\n      'click',\r\n      () => show(index - 1)\r\n    );\r\n\r\n    next.addEventListener(\r\n      'click',\r\n      () => show(index + 1)\r\n    );\r\n\r\n    frame.addEventListener(\r\n      'keydown',\r\n      event => {\r\n        if (event.key === 'ArrowLeft') {\r\n          show(index - 1);\r\n        }\r\n\r\n        if (event.key === 'ArrowRight') {\r\n          show(index + 1);\r\n        }\r\n      }\r\n    );\r\n\r\n    frame.addEventListener(\r\n      'touchstart',\r\n      event => {\r\n        startX =\r\n          event.changedTouches[0]\r\n            .screenX;\r\n      },\r\n      { passive: true }\r\n    );\r\n\r\n    frame.addEventListener(\r\n      'touchend',\r\n      event => {\r\n        const delta =\r\n          event.changedTouches[0]\r\n            .screenX - startX;\r\n\r\n        if (Math.abs(delta) >= 45) {\r\n          show(\r\n            delta < 0\r\n              ? index + 1\r\n              : index - 1\r\n          );\r\n        }\r\n      },\r\n      { passive: true }\r\n    );\r\n\r\n    show(0);\r\n\r\n    const reveal =\r\n      root.querySelectorAll(\r\n        '.zsluxarden__reveal'\r\n      );\r\n\r\n    if (!('IntersectionObserver' in window)) {\r\n      reveal.forEach(\r\n        item =>\r\n          item.classList.add(\r\n            'is-visible'\r\n          )\r\n      );\r\n      return;\r\n    }\r\n\r\n    const observer =\r\n      new IntersectionObserver(\r\n        entries => {\r\n          entries.forEach(\r\n            entry => {\r\n              if (!entry.isIntersecting) {\r\n                return;\r\n              }\r\n\r\n              entry.target.classList.add(\r\n                'is-visible'\r\n              );\r\n\r\n              observer.unobserve(\r\n                entry.target\r\n              );\r\n            }\r\n          );\r\n        },\r\n        {\r\n          threshold: .12,\r\n          rootMargin: '0px 0px -6% 0px'\r\n        }\r\n      );\r\n\r\n    reveal.forEach(\r\n      item =>\r\n        observer.observe(item)\r\n    );\r\n\r\n  })();\r\n  <\/script>\r\n\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0b659fc e-con-full e-flex e-con e-parent\" data-id=\"0b659fc\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9cede1f elementor-widget elementor-widget-html\" data-id=\"9cede1f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 LUXUS VILL\u00c1K \/ BELS\u0150 ENTERI\u0150R - HORIZON -->\r\n<section id=\"zs-luxury-villas-horizon\" class=\"zs-main zsluxhorizon\" aria-labelledby=\"zsluxhorizon-title\">\r\n  <div class=\"zsluxhorizon__inner\">\r\n\r\n    <div class=\"zsluxhorizon__grid\">\r\n\r\n      <!-- CONTENT -->\r\n      <article class=\"zsluxhorizon__content zsluxhorizon__reveal\">\r\n\r\n        <div class=\"zsluxhorizon__eyebrow\">\r\n          ZALA SPRINGS RESIDENCES\r\n        <\/div>\r\n\r\n        <h2 id=\"zsluxhorizon-title\">\r\n          Bels\u0151 enteri\u0151r - Horizon\r\n        <\/h2>\r\n\r\n        <div class=\"zsluxhorizon__gold-line\"><\/div>\r\n\r\n        <p>\r\n          A HORIZON st\u00edlus a modern elegancia letisztult \u00e9s exkluz\u00edv\r\n          megjelen\u00e9s\u00e9t k\u00e9pviseli. A m\u00e9ly k\u00e9k \u00e1rnyalatok, a panor\u00e1m\u00e1s t\u00e9r\u00e9lm\u00e9ny\r\n          \u00e9s a kifinomult r\u00e9szletmegold\u00e1sok harmonikusan reflekt\u00e1lnak a resort\r\n          tavainak nyugodt vil\u00e1g\u00e1ra \u00e9s a v\u00edz term\u00e9szetes eleganci\u00e1j\u00e1ra.\r\n          A term\u00e9szetes anyagok \u00e9s a karakteres sz\u00ednvil\u00e1g egy\u00fctt egy id\u0151t\u00e1ll\u00f3,\r\n          pr\u00e9mium atmoszf\u00e9r\u00e1t alkotnak, amely a modern luxus \u00e9s a term\u00e9szet\r\n          k\u00f6zels\u00e9g\u00e9nek t\u00f6k\u00e9letes egyens\u00faly\u00e1t k\u00edn\u00e1lja.\r\n        <\/p>\r\n\r\n      <\/article>\r\n\r\n\r\n      <!-- GALLERY -->\r\n      <div class=\"zsluxhorizon__gallery zsluxhorizon__reveal\">\r\n        <div\r\n          class=\"zsluxhorizon__gallery-frame\"\r\n          tabindex=\"0\"\r\n          aria-label=\"Horizon enteri\u0151r gal\u00e9ria\"\r\n        >\r\n          <div class=\"zsluxhorizon__track\">\r\n\r\n            <figure class=\"zsluxhorizon__slide is-active\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/kek-1.jpg\"\r\n                alt=\"Horizon bels\u0151 enteri\u0151r 1\"\r\n                loading=\"eager\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxhorizon__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/kek-2.jpg\"\r\n                alt=\"Horizon bels\u0151 enteri\u0151r 2\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxhorizon__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/kek-3.jpg\"\r\n                alt=\"Horizon bels\u0151 enteri\u0151r 3\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n            <figure class=\"zsluxhorizon__slide\">\r\n              <img\r\n                src=\"\/wp-content\/uploads\/2026\/09\/kek-4.jpg\"\r\n                alt=\"Horizon bels\u0151 enteri\u0151r 4\"\r\n                loading=\"lazy\"\r\n                decoding=\"async\"\r\n              >\r\n            <\/figure>\r\n\r\n          <\/div>\r\n\r\n          <div class=\"zsluxhorizon__counter\" aria-hidden=\"true\">\r\n            <span class=\"zsluxhorizon__current\">01<\/span>\r\n            <i><\/i>\r\n            <span class=\"zsluxhorizon__total\">04<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"zsluxhorizon__controls\">\r\n            <button\r\n              class=\"zsluxhorizon__arrow zsluxhorizon__arrow--prev\"\r\n              type=\"button\"\r\n              aria-label=\"El\u0151z\u0151 k\u00e9p\"\r\n            >\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M15 5l-7 7 7 7\"><\/path>\r\n              <\/svg>\r\n            <\/button>\r\n\r\n            <button\r\n              class=\"zsluxhorizon__arrow zsluxhorizon__arrow--next\"\r\n              type=\"button\"\r\n              aria-label=\"K\u00f6vetkez\u0151 k\u00e9p\"\r\n            >\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M9 5l7 7-7 7\"><\/path>\r\n              <\/svg>\r\n            <\/button>\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n        <div\r\n          class=\"zsluxhorizon__dots\"\r\n          role=\"tablist\"\r\n          aria-label=\"Horizon gal\u00e9ria\"\r\n        ><\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n\r\n  <style>\r\n    #zs-luxury-villas-horizon,\r\n    #zs-luxury-villas-horizon *,\r\n    #zs-luxury-villas-horizon *::before,\r\n    #zs-luxury-villas-horizon *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-luxury-villas-horizon {\r\n      --gold: var(--zs-brand-gold, #c2a22f);\r\n      --dark: var(--zs-brand-midnight, #26352c);\r\n      --muted: var(--zs-text-soft, #68716c);\r\n\r\n      width: 100%;\r\n      padding:\r\n        clamp(86px,7vw,124px)\r\n        clamp(20px,4vw,64px);\r\n\r\n      overflow: hidden;\r\n\r\n      background:\r\n        linear-gradient(180deg,#f6f3ec,#fbfaf7);\r\n\r\n      color: var(--dark);\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-horizon * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    .zsluxhorizon__inner {\r\n      width: min(100%,1480px);\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .zsluxhorizon__grid {\r\n      display: grid;\r\n      grid-template-columns:\r\n        minmax(390px,.88fr)\r\n        minmax(0,1.12fr);\r\n      gap: clamp(58px,7vw,112px);\r\n      align-items: center;\r\n    }\r\n\r\n    .zsluxhorizon__gallery {\r\n      min-width: 0;\r\n    }\r\n\r\n    .zsluxhorizon__gallery-frame {\r\n      position: relative;\r\n      width: 100%;\r\n      aspect-ratio: 1.48 \/ 1;\r\n      overflow: hidden;\r\n      padding: 8px;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.22);\r\n\r\n      border-radius: 28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.84);\r\n\r\n      box-shadow:\r\n        0 26px 75px rgba(38,53,44,.10);\r\n\r\n      outline: none;\r\n    }\r\n\r\n    .zsluxhorizon__gallery-frame:focus-visible {\r\n      box-shadow:\r\n        0 0 0 3px rgba(194,162,47,.24),\r\n        0 26px 75px rgba(38,53,44,.10);\r\n    }\r\n\r\n    .zsluxhorizon__track {\r\n      position: relative;\r\n      width: 100%;\r\n      height: 100%;\r\n      overflow: hidden;\r\n      border-radius: 20px;\r\n      background: #e8e7e2;\r\n    }\r\n\r\n    .zsluxhorizon__slide {\r\n      position: absolute;\r\n      inset: 0;\r\n      margin: 0;\r\n      opacity: 0;\r\n      visibility: hidden;\r\n      transform: scale(1.035);\r\n\r\n      transition:\r\n        opacity .65s ease,\r\n        visibility .65s ease,\r\n        transform 1.05s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxhorizon__slide.is-active {\r\n      opacity: 1;\r\n      visibility: visible;\r\n      transform: scale(1);\r\n    }\r\n\r\n    .zsluxhorizon__slide img {\r\n      display: block;\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      height: 100% !important;\r\n      object-fit: cover !important;\r\n      object-position: center center !important;\r\n    }\r\n\r\n    .zsluxhorizon__gallery-frame::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      inset: 8px;\r\n      z-index: 2;\r\n      border-radius: 20px;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          transparent 62%,\r\n          rgba(16,31,23,.26)\r\n        );\r\n\r\n      pointer-events: none;\r\n    }\r\n\r\n    .zsluxhorizon__counter {\r\n      position: absolute;\r\n      z-index: 4;\r\n      left: 31px;\r\n      bottom: 29px;\r\n\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n\r\n      color: rgba(255,255,255,.88);\r\n\r\n      font-size: 10px;\r\n      font-weight: 600;\r\n      letter-spacing: .16em;\r\n    }\r\n\r\n    .zsluxhorizon__counter i {\r\n      width: 34px;\r\n      height: 1px;\r\n      background: rgba(194,162,47,.92);\r\n    }\r\n\r\n    .zsluxhorizon__controls {\r\n      position: absolute;\r\n      z-index: 5;\r\n      right: 27px;\r\n      bottom: 24px;\r\n      display: flex;\r\n      gap: 8px;\r\n    }\r\n\r\n    .zsluxhorizon__arrow {\r\n      width: 46px;\r\n      height: 46px;\r\n      display: grid;\r\n      place-items: center;\r\n      padding: 0;\r\n\r\n      border:\r\n        1px solid rgba(255,255,255,.5) !important;\r\n\r\n      border-radius: 50% !important;\r\n\r\n      background:\r\n        rgba(255,255,255,.93) !important;\r\n\r\n      color: var(--dark) !important;\r\n      cursor: pointer;\r\n      appearance: none;\r\n\r\n      box-shadow:\r\n        0 8px 24px rgba(14,28,20,.14);\r\n\r\n      transition: .25s ease;\r\n    }\r\n\r\n    .zsluxhorizon__arrow svg {\r\n      width: 18px;\r\n      height: 18px;\r\n      fill: none;\r\n      stroke: currentColor;\r\n      stroke-width: 1.8;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n    }\r\n\r\n    .zsluxhorizon__dots {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 8px;\r\n      margin-top: 20px;\r\n    }\r\n\r\n    .zsluxhorizon__dot {\r\n      width: 7px;\r\n      height: 7px;\r\n      padding: 0;\r\n      border: 0 !important;\r\n      border-radius: 50% !important;\r\n\r\n      background:\r\n        rgba(38,53,44,.20) !important;\r\n\r\n      cursor: pointer;\r\n      appearance: none;\r\n      transition: .3s ease;\r\n    }\r\n\r\n    .zsluxhorizon__dot.is-active {\r\n      width: 27px;\r\n      border-radius: 999px !important;\r\n      background: var(--gold) !important;\r\n    }\r\n\r\n    .zsluxhorizon__content {\r\n      max-width: 610px;\r\n    }\r\n\r\n    .zsluxhorizon__eyebrow {\r\n      margin-bottom: 13px;\r\n      color: var(--gold);\r\n      font-size: 10px;\r\n      font-weight: 700;\r\n      letter-spacing: .2em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    .zsluxhorizon__content h2 {\r\n      margin: 0 !important;\r\n      color: var(--dark) !important;\r\n      font-size: clamp(40px,3.6vw,60px);\r\n      font-weight: 400 !important;\r\n      line-height: 1.04 !important;\r\n      letter-spacing: -.023em;\r\n      text-wrap: balance;\r\n    }\r\n\r\n    .zsluxhorizon__gold-line {\r\n      width: 56px;\r\n      height: 1px;\r\n      margin: 24px 0 26px;\r\n      background: var(--gold);\r\n    }\r\n\r\n    .zsluxhorizon__content p {\r\n      margin: 0 !important;\r\n      color: var(--muted);\r\n      font-size: clamp(16px,1.08vw,18px);\r\n      line-height: 1.72;\r\n    }\r\n\r\n    .zsluxhorizon__reveal {\r\n      opacity: 0;\r\n      transform: translateY(30px);\r\n\r\n      transition:\r\n        opacity .8s ease,\r\n        transform .95s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxhorizon__reveal.is-visible {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n    @media (hover:hover) and (pointer:fine) {\r\n      .zsluxhorizon__arrow:hover {\r\n        transform: translateY(-2px);\r\n        background: var(--gold) !important;\r\n        border-color: var(--gold) !important;\r\n        color: #fff !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1366px) {\r\n      #zs-luxury-villas-horizon {\r\n        padding: 96px 40px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n      #zs-luxury-villas-horizon {\r\n        padding: 90px 32px;\r\n      }\r\n\r\n      .zsluxhorizon__grid {\r\n        gap: 60px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n      #zs-luxury-villas-horizon {\r\n        padding: 82px 24px;\r\n      }\r\n\r\n      .zsluxhorizon__grid {\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 46px;\r\n      }\r\n\r\n      \/* project rule: image\/gallery first *\/\r\n      .zsluxhorizon__gallery {\r\n        order: 1;\r\n        width: min(100%,850px);\r\n      }\r\n\r\n      .zsluxhorizon__content {\r\n        order: 2;\r\n        width: min(100%,850px);\r\n        max-width: none;\r\n      }\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n      .zsluxhorizon__gallery-frame {\r\n        border-radius: 22px;\r\n      }\r\n\r\n      .zsluxhorizon__track,\r\n      .zsluxhorizon__gallery-frame::after {\r\n        border-radius: 15px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n      #zs-luxury-villas-horizon {\r\n        padding: 68px 14px;\r\n      }\r\n\r\n      .zsluxhorizon__grid {\r\n        gap: 35px;\r\n      }\r\n\r\n      .zsluxhorizon__content h2 {\r\n        font-size: clamp(36px,9vw,48px);\r\n      }\r\n\r\n      .zsluxhorizon__gallery-frame {\r\n        aspect-ratio: 1.12 \/ 1;\r\n        padding: 6px;\r\n        border-radius: 20px;\r\n      }\r\n\r\n      .zsluxhorizon__track,\r\n      .zsluxhorizon__gallery-frame::after {\r\n        border-radius: 14px;\r\n      }\r\n\r\n      .zsluxhorizon__gallery-frame::after {\r\n        inset: 6px;\r\n      }\r\n\r\n      .zsluxhorizon__counter {\r\n        left: 21px;\r\n        bottom: 22px;\r\n      }\r\n\r\n      .zsluxhorizon__controls {\r\n        right: 18px;\r\n        bottom: 16px;\r\n      }\r\n\r\n      .zsluxhorizon__arrow {\r\n        width: 42px;\r\n        height: 42px;\r\n      }\r\n\r\n      .zsluxhorizon__dots {\r\n        margin-top: 15px;\r\n      }\r\n\r\n      .zsluxhorizon__content p {\r\n        font-size: 15px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:480px) {\r\n      .zsluxhorizon__gallery-frame {\r\n        aspect-ratio: .98 \/ 1;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n      .zsluxhorizon__reveal,\r\n      .zsluxhorizon__slide,\r\n      .zsluxhorizon__arrow,\r\n      .zsluxhorizon__dot {\r\n        transition: none !important;\r\n      }\r\n\r\n      .zsluxhorizon__reveal {\r\n        opacity: 1 !important;\r\n        transform: none !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n\r\n  <script>\r\n  (() => {\r\n    const root =\r\n      document.getElementById(\r\n        'zs-luxury-villas-horizon'\r\n      );\r\n\r\n    if (!root || root.dataset.ready === '1') {\r\n      return;\r\n    }\r\n\r\n    root.dataset.ready = '1';\r\n\r\n    const slides = [\r\n      ...root.querySelectorAll(\r\n        '.zsluxhorizon__slide'\r\n      )\r\n    ];\r\n\r\n    const dotsWrap =\r\n      root.querySelector(\r\n        '.zsluxhorizon__dots'\r\n      );\r\n\r\n    const prev =\r\n      root.querySelector(\r\n        '.zsluxhorizon__arrow--prev'\r\n      );\r\n\r\n    const next =\r\n      root.querySelector(\r\n        '.zsluxhorizon__arrow--next'\r\n      );\r\n\r\n    const current =\r\n      root.querySelector(\r\n        '.zsluxhorizon__current'\r\n      );\r\n\r\n    const total =\r\n      root.querySelector(\r\n        '.zsluxhorizon__total'\r\n      );\r\n\r\n    const frame =\r\n      root.querySelector(\r\n        '.zsluxhorizon__gallery-frame'\r\n      );\r\n\r\n    if (!slides.length) {\r\n      return;\r\n    }\r\n\r\n    let index = 0;\r\n    let startX = 0;\r\n\r\n    total.textContent =\r\n      String(slides.length)\r\n        .padStart(2,'0');\r\n\r\n    slides.forEach(\r\n      (slide,i) => {\r\n        const dot =\r\n          document.createElement(\r\n            'button'\r\n          );\r\n\r\n        dot.type = 'button';\r\n\r\n        dot.className =\r\n          'zsluxhorizon__dot' +\r\n          (i === 0 ? ' is-active' : '');\r\n\r\n        dot.setAttribute(\r\n          'aria-label',\r\n          (i + 1) + '. k\u00e9p'\r\n        );\r\n\r\n        dot.addEventListener(\r\n          'click',\r\n          () => show(i)\r\n        );\r\n\r\n        dotsWrap.appendChild(dot);\r\n      }\r\n    );\r\n\r\n    const dots = [\r\n      ...dotsWrap.querySelectorAll(\r\n        '.zsluxhorizon__dot'\r\n      )\r\n    ];\r\n\r\n    function show(nextIndex) {\r\n      index =\r\n        (\r\n          nextIndex +\r\n          slides.length\r\n        ) %\r\n        slides.length;\r\n\r\n      slides.forEach(\r\n        (slide,i) =>\r\n          slide.classList.toggle(\r\n            'is-active',\r\n            i === index\r\n          )\r\n      );\r\n\r\n      dots.forEach(\r\n        (dot,i) =>\r\n          dot.classList.toggle(\r\n            'is-active',\r\n            i === index\r\n          )\r\n      );\r\n\r\n      current.textContent =\r\n        String(index + 1)\r\n          .padStart(2,'0');\r\n    }\r\n\r\n    prev.addEventListener(\r\n      'click',\r\n      () => show(index - 1)\r\n    );\r\n\r\n    next.addEventListener(\r\n      'click',\r\n      () => show(index + 1)\r\n    );\r\n\r\n    frame.addEventListener(\r\n      'keydown',\r\n      event => {\r\n        if (event.key === 'ArrowLeft') {\r\n          show(index - 1);\r\n        }\r\n\r\n        if (event.key === 'ArrowRight') {\r\n          show(index + 1);\r\n        }\r\n      }\r\n    );\r\n\r\n    frame.addEventListener(\r\n      'touchstart',\r\n      event => {\r\n        startX =\r\n          event.changedTouches[0]\r\n            .screenX;\r\n      },\r\n      { passive: true }\r\n    );\r\n\r\n    frame.addEventListener(\r\n      'touchend',\r\n      event => {\r\n        const delta =\r\n          event.changedTouches[0]\r\n            .screenX - startX;\r\n\r\n        if (Math.abs(delta) >= 45) {\r\n          show(\r\n            delta < 0\r\n              ? index + 1\r\n              : index - 1\r\n          );\r\n        }\r\n      },\r\n      { passive: true }\r\n    );\r\n\r\n    show(0);\r\n\r\n    const reveal =\r\n      root.querySelectorAll(\r\n        '.zsluxhorizon__reveal'\r\n      );\r\n\r\n    if (!('IntersectionObserver' in window)) {\r\n      reveal.forEach(\r\n        item =>\r\n          item.classList.add(\r\n            'is-visible'\r\n          )\r\n      );\r\n      return;\r\n    }\r\n\r\n    const observer =\r\n      new IntersectionObserver(\r\n        entries => {\r\n          entries.forEach(\r\n            entry => {\r\n              if (!entry.isIntersecting) {\r\n                return;\r\n              }\r\n\r\n              entry.target.classList.add(\r\n                'is-visible'\r\n              );\r\n\r\n              observer.unobserve(\r\n                entry.target\r\n              );\r\n            }\r\n          );\r\n        },\r\n        {\r\n          threshold: .12,\r\n          rootMargin: '0px 0px -6% 0px'\r\n        }\r\n      );\r\n\r\n    reveal.forEach(\r\n      item =>\r\n        observer.observe(item)\r\n    );\r\n\r\n  })();\r\n  <\/script>\r\n\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f857a16 e-con-full e-flex e-con e-parent\" data-id=\"f857a16\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9e441c6 elementor-widget elementor-widget-html\" data-id=\"9e441c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 LUXUS VILL\u00c1K \/ ELRENDEZ\u00c9S -->\r\n<section id=\"zs-luxury-villas-layout\" class=\"zs-main zsluxlayout\" aria-labelledby=\"zsluxlayout-title\">\r\n  <div class=\"zsluxlayout__inner\">\r\n    <div class=\"zsluxlayout__grid\">\r\n\r\n      <figure class=\"zsluxlayout__visual zsluxlayout__reveal\">\r\n        <div class=\"zsluxlayout__image-frame\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/elrendezes.jpg\"\r\n            alt=\"Luxus villa f\u00f6ldszintes elrendez\u00e9se\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n        <\/div>\r\n      <\/figure>\r\n\r\n      <article class=\"zsluxlayout__content zsluxlayout__reveal\">\r\n        <div class=\"zsluxlayout__eyebrow\">ZALA SPRINGS RESIDENCES<\/div>\r\n\r\n        <h2 id=\"zsluxlayout-title\">Elrendez\u00e9s<\/h2>\r\n\r\n        <div class=\"zsluxlayout__gold-line\"><\/div>\r\n\r\n        <div class=\"zsluxlayout__metrics\">\r\n          <div>\r\n            <span>Telek m\u00e9rete<\/span>\r\n            <strong>1000\u20131100 m\u00b2<\/strong>\r\n          <\/div>\r\n\r\n          <div>\r\n            <span>\u00c9p\u00fclet nett\u00f3 m\u00e9rete<\/span>\r\n            <strong>170 m\u00b2<\/strong>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <ol class=\"zsluxlayout__rooms\">\r\n          <li><span>El\u0151t\u00e9r<\/span><strong>12,84 m\u00b2<\/strong><\/li>\r\n          <li><span>Gar\u00e1zs<\/span><strong>24,39 m\u00b2<\/strong><\/li>\r\n          <li><span>Nappali-\u00e9tkez\u0151-konyha<\/span><strong>69,72 m\u00b2<\/strong><\/li>\r\n          <li><span>Kamra<\/span><strong>4,44 m\u00b2<\/strong><\/li>\r\n          <li><span>WC<\/span><strong>3,03 m\u00b2<\/strong><\/li>\r\n          <li><span>Master h\u00e1l\u00f3szoba<\/span><strong>21,73 m\u00b2<\/strong><\/li>\r\n          <li><span>Master gardr\u00f3be<\/span><strong>5,3 m\u00b2<\/strong><\/li>\r\n          <li><span>Master f\u00fcrd\u0151szoba<\/span><strong>6,76 m\u00b2<\/strong><\/li>\r\n          <li><span>Vend\u00e9g szoba<\/span><strong>16,92 m\u00b2<\/strong><\/li>\r\n          <li><span>Vend\u00e9g f\u00fcrd\u0151szoba<\/span><strong>4,58 m\u00b2<\/strong><\/li>\r\n          <li><span>Terasz<\/span><strong>72,13 m\u00b2<\/strong><\/li>\r\n        <\/ol>\r\n      <\/article>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <style>\r\n    #zs-luxury-villas-layout,\r\n    #zs-luxury-villas-layout *,\r\n    #zs-luxury-villas-layout *::before,\r\n    #zs-luxury-villas-layout *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-luxury-villas-layout {\r\n      --gold: var(--zs-brand-gold,#c2a22f);\r\n      --dark: var(--zs-brand-midnight,#26352c);\r\n      --muted: var(--zs-text-soft,#68716c);\r\n      --line: var(--zs-line,rgba(38,53,44,.12));\r\n\r\n      width: 100%;\r\n      padding:\r\n        clamp(90px,7vw,128px)\r\n        clamp(20px,4vw,64px);\r\n\r\n      background: var(--zs-surface,#fbfaf7);\r\n      color: var(--dark);\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-layout * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    .zsluxlayout__inner {\r\n      width: min(100%,1480px);\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .zsluxlayout__grid {\r\n      display: grid;\r\n      grid-template-columns:\r\n        minmax(0,1.14fr)\r\n        minmax(390px,.86fr);\r\n      gap: clamp(56px,7vw,108px);\r\n      align-items: center;\r\n    }\r\n\r\n    .zsluxlayout__visual {\r\n      margin: 0;\r\n      min-width: 0;\r\n    }\r\n\r\n    .zsluxlayout__image-frame {\r\n      overflow: hidden;\r\n      padding: 8px;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.20);\r\n\r\n      border-radius: 28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.86);\r\n\r\n      box-shadow:\r\n        0 24px 70px rgba(38,53,44,.08);\r\n    }\r\n\r\n    .zsluxlayout__image-frame img {\r\n      display: block !important;\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      height: auto !important;\r\n      border-radius: 20px;\r\n    }\r\n\r\n    .zsluxlayout__content {\r\n      max-width: 620px;\r\n    }\r\n\r\n    .zsluxlayout__eyebrow {\r\n      margin-bottom: 13px;\r\n      color: var(--gold);\r\n      font-size: 10px;\r\n      font-weight: 700;\r\n      letter-spacing: .2em;\r\n    }\r\n\r\n    .zsluxlayout__content h2 {\r\n      margin: 0 !important;\r\n      color: var(--dark) !important;\r\n      font-size: clamp(42px,4vw,66px);\r\n      font-weight: 400 !important;\r\n      line-height: 1.04 !important;\r\n      letter-spacing: -.025em;\r\n    }\r\n\r\n    .zsluxlayout__gold-line {\r\n      width: 56px;\r\n      height: 1px;\r\n      margin: 24px 0 28px;\r\n      background: var(--gold);\r\n    }\r\n\r\n    .zsluxlayout__metrics {\r\n      display: grid;\r\n      grid-template-columns: repeat(2,minmax(0,1fr));\r\n      gap: 12px;\r\n      margin-bottom: 24px;\r\n    }\r\n\r\n    .zsluxlayout__metrics > div {\r\n      padding: 15px 17px;\r\n      border: 1px solid var(--line);\r\n      border-radius: 16px;\r\n      background: rgba(255,255,255,.62);\r\n    }\r\n\r\n    .zsluxlayout__metrics span,\r\n    .zsluxlayout__metrics strong {\r\n      display: block;\r\n    }\r\n\r\n    .zsluxlayout__metrics span {\r\n      margin-bottom: 4px;\r\n      color: var(--muted);\r\n      font-size: 11px;\r\n      font-weight: 700;\r\n      letter-spacing: .08em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    .zsluxlayout__metrics strong {\r\n      color: var(--dark);\r\n      font-size: clamp(18px,1.4vw,23px);\r\n      font-weight: 500;\r\n    }\r\n\r\n    .zsluxlayout__rooms {\r\n      margin: 0;\r\n      padding-left: 24px;\r\n      color: var(--muted);\r\n    }\r\n\r\n    .zsluxlayout__rooms li {\r\n      display: grid;\r\n      grid-template-columns: minmax(0,1fr) auto;\r\n      gap: 18px;\r\n\r\n      padding: 7px 0;\r\n\r\n      border-bottom:\r\n        1px solid rgba(38,53,44,.08);\r\n\r\n      font-size: clamp(14px,1vw,16px);\r\n      line-height: 1.45;\r\n    }\r\n\r\n    .zsluxlayout__rooms li::marker {\r\n      color: var(--gold);\r\n    }\r\n\r\n    .zsluxlayout__rooms strong {\r\n      color: var(--dark);\r\n      font-weight: 500;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    .zsluxlayout__reveal {\r\n      opacity: 0;\r\n      transform: translateY(28px);\r\n\r\n      transition:\r\n        opacity .8s ease,\r\n        transform .95s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxlayout__reveal.is-visible {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n    @media (max-width:1366px) {\r\n      #zs-luxury-villas-layout {\r\n        padding: 98px 40px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n      #zs-luxury-villas-layout {\r\n        padding: 90px 32px;\r\n      }\r\n\r\n      .zsluxlayout__grid {\r\n        gap: 58px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n      #zs-luxury-villas-layout {\r\n        padding: 82px 24px;\r\n      }\r\n\r\n      .zsluxlayout__grid {\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 44px;\r\n      }\r\n\r\n      .zsluxlayout__visual {\r\n        order: 1;\r\n        width: min(100%,880px);\r\n      }\r\n\r\n      .zsluxlayout__content {\r\n        order: 2;\r\n        width: min(100%,880px);\r\n        max-width: none;\r\n      }\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n      #zs-luxury-villas-layout {\r\n        padding: 68px 14px;\r\n      }\r\n\r\n      .zsluxlayout__image-frame {\r\n        padding: 6px;\r\n        border-radius: 20px;\r\n      }\r\n\r\n      .zsluxlayout__image-frame img {\r\n        border-radius: 14px;\r\n      }\r\n\r\n      .zsluxlayout__content h2 {\r\n        font-size: clamp(38px,10vw,50px);\r\n      }\r\n\r\n      .zsluxlayout__metrics {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      .zsluxlayout__rooms li {\r\n        gap: 12px;\r\n        font-size: 14px;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n      .zsluxlayout__reveal {\r\n        opacity: 1 !important;\r\n        transform: none !important;\r\n        transition: none !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <script>\r\n  (() => {\r\n    const root = document.getElementById('zs-luxury-villas-layout');\r\n    if (!root || root.dataset.ready === '1') return;\r\n    root.dataset.ready = '1';\r\n\r\n    const items = root.querySelectorAll('.zsluxlayout__reveal');\r\n\r\n    if (!('IntersectionObserver' in window)) {\r\n      items.forEach(item => item.classList.add('is-visible'));\r\n      return;\r\n    }\r\n\r\n    const observer = new IntersectionObserver(\r\n      entries => {\r\n        entries.forEach(entry => {\r\n          if (!entry.isIntersecting) return;\r\n          entry.target.classList.add('is-visible');\r\n          observer.unobserve(entry.target);\r\n        });\r\n      },\r\n      {\r\n        threshold: .10,\r\n        rootMargin: '0px 0px -6% 0px'\r\n      }\r\n    );\r\n\r\n    items.forEach(item => observer.observe(item));\r\n  })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-81aa743 e-con-full e-flex e-con e-parent\" data-id=\"81aa743\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9a613db elementor-widget elementor-widget-html\" data-id=\"9a613db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 LUXUS VILL\u00c1K \/ \u00dcTEMEZ\u00c9S -->\r\n<section id=\"zs-luxury-villas-schedule\" class=\"zs-main zsluxschedule\" aria-labelledby=\"zsluxschedule-title\">\r\n  <div class=\"zsluxschedule__inner\">\r\n    <div class=\"zsluxschedule__grid\">\r\n\r\n      <article class=\"zsluxschedule__content zsluxschedule__reveal\">\r\n        <div class=\"zsluxschedule__eyebrow\">ZALA SPRINGS RESIDENCES<\/div>\r\n\r\n        <h2 id=\"zsluxschedule-title\">\u00dctemez\u00e9s<\/h2>\r\n\r\n        <div class=\"zsluxschedule__gold-line\"><\/div>\r\n\r\n        <p>\r\n          Az els\u0151 \u00fctemben 6 telek ker\u00fclt kif\u00fcggeszt\u00e9sre a Boutique Spa mellett\r\n          fekv\u0151 ter\u00fcleten, ahol 2027-ban kezd\u0151dik el az els\u0151 2 bemutat\u00f3 villa\r\n          \u00e9p\u00edt\u00e9se. A tov\u00e1bbi vill\u00e1k \u00e9s \u00f6n\u00e1ll\u00f3 telkek \u00e9rt\u00e9kes\u00edt\u00e9s\u00e9nek az \u00fctemez\u00e9se\r\n          szorosan k\u00f6veti a mindenkori v\u00e1s\u00e1rl\u00f3i ig\u00e9nyeket.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <figure class=\"zsluxschedule__visual zsluxschedule__reveal\">\r\n        <div class=\"zsluxschedule__image-frame\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-utem.jpg\"\r\n            alt=\"A luxus vill\u00e1k fejleszt\u00e9si \u00fctemez\u00e9se a Zala Springs ter\u00fclet\u00e9n\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n        <\/div>\r\n      <\/figure>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <style>\r\n    #zs-luxury-villas-schedule,\r\n    #zs-luxury-villas-schedule *,\r\n    #zs-luxury-villas-schedule *::before,\r\n    #zs-luxury-villas-schedule *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-luxury-villas-schedule {\r\n      --gold: var(--zs-brand-gold,#c2a22f);\r\n      --dark: var(--zs-brand-midnight,#26352c);\r\n      --muted: var(--zs-text-soft,#68716c);\r\n\r\n      width: 100%;\r\n      padding:\r\n        clamp(86px,7vw,124px)\r\n        clamp(20px,4vw,64px);\r\n\r\n      background:\r\n        linear-gradient(180deg,#f6f3ec,#fbfaf7);\r\n\r\n      color: var(--dark);\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-schedule * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    .zsluxschedule__inner {\r\n      width: min(100%,1480px);\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .zsluxschedule__grid {\r\n      display: grid;\r\n      grid-template-columns:\r\n        minmax(390px,.88fr)\r\n        minmax(0,1.12fr);\r\n      gap: clamp(58px,7vw,112px);\r\n      align-items: center;\r\n    }\r\n\r\n    .zsluxschedule__content {\r\n      max-width: 610px;\r\n    }\r\n\r\n    .zsluxschedule__eyebrow {\r\n      margin-bottom: 13px;\r\n      color: var(--gold);\r\n      font-size: 10px;\r\n      font-weight: 700;\r\n      letter-spacing: .2em;\r\n    }\r\n\r\n    .zsluxschedule__content h2 {\r\n      margin: 0 !important;\r\n      color: var(--dark) !important;\r\n      font-size: clamp(42px,4vw,66px);\r\n      font-weight: 400 !important;\r\n      line-height: 1.04 !important;\r\n      letter-spacing: -.025em;\r\n    }\r\n\r\n    .zsluxschedule__gold-line {\r\n      width: 56px;\r\n      height: 1px;\r\n      margin: 24px 0 27px;\r\n      background: var(--gold);\r\n    }\r\n\r\n    .zsluxschedule__content p {\r\n      margin: 0 !important;\r\n      color: var(--muted);\r\n      font-size: clamp(16px,1.08vw,18px);\r\n      line-height: 1.72;\r\n    }\r\n\r\n    .zsluxschedule__visual {\r\n      min-width: 0;\r\n      margin: 0;\r\n    }\r\n\r\n    .zsluxschedule__image-frame {\r\n      overflow: hidden;\r\n      padding: 8px;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.20);\r\n\r\n      border-radius: 28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.86);\r\n\r\n      box-shadow:\r\n        0 24px 70px rgba(38,53,44,.08);\r\n    }\r\n\r\n    .zsluxschedule__image-frame img {\r\n      display: block !important;\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      height: auto !important;\r\n      aspect-ratio: 1.45 \/ 1;\r\n      object-fit: cover !important;\r\n      object-position: center center !important;\r\n      border-radius: 20px;\r\n    }\r\n\r\n    .zsluxschedule__reveal {\r\n      opacity: 0;\r\n      transform: translateY(28px);\r\n\r\n      transition:\r\n        opacity .8s ease,\r\n        transform .95s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxschedule__reveal.is-visible {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n    @media (max-width:1366px) {\r\n      #zs-luxury-villas-schedule {\r\n        padding: 96px 40px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n      #zs-luxury-villas-schedule {\r\n        padding: 90px 32px;\r\n      }\r\n\r\n      .zsluxschedule__grid {\r\n        gap: 58px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n      #zs-luxury-villas-schedule {\r\n        padding: 82px 24px;\r\n      }\r\n\r\n      .zsluxschedule__grid {\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 44px;\r\n      }\r\n\r\n      .zsluxschedule__visual {\r\n        order: 1;\r\n        width: min(100%,880px);\r\n      }\r\n\r\n      .zsluxschedule__content {\r\n        order: 2;\r\n        width: min(100%,880px);\r\n        max-width: none;\r\n      }\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n      #zs-luxury-villas-schedule {\r\n        padding: 68px 14px;\r\n      }\r\n\r\n      .zsluxschedule__content h2 {\r\n        font-size: clamp(38px,10vw,50px);\r\n      }\r\n\r\n      .zsluxschedule__content p {\r\n        font-size: 15px;\r\n      }\r\n\r\n      .zsluxschedule__image-frame {\r\n        padding: 6px;\r\n        border-radius: 20px;\r\n      }\r\n\r\n      .zsluxschedule__image-frame img {\r\n        aspect-ratio: 1.1 \/ 1;\r\n        border-radius: 14px;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n      .zsluxschedule__reveal {\r\n        opacity: 1 !important;\r\n        transform: none !important;\r\n        transition: none !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <script>\r\n  (() => {\r\n    const root = document.getElementById('zs-luxury-villas-schedule');\r\n    if (!root || root.dataset.ready === '1') return;\r\n    root.dataset.ready = '1';\r\n\r\n    const items = root.querySelectorAll('.zsluxschedule__reveal');\r\n\r\n    if (!('IntersectionObserver' in window)) {\r\n      items.forEach(item => item.classList.add('is-visible'));\r\n      return;\r\n    }\r\n\r\n    const observer = new IntersectionObserver(\r\n      entries => {\r\n        entries.forEach(entry => {\r\n          if (!entry.isIntersecting) return;\r\n          entry.target.classList.add('is-visible');\r\n          observer.unobserve(entry.target);\r\n        });\r\n      },\r\n      {\r\n        threshold: .10,\r\n        rootMargin: '0px 0px -6% 0px'\r\n      }\r\n    );\r\n\r\n    items.forEach(item => observer.observe(item));\r\n  })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3783b07 e-con-full e-flex e-con e-parent\" data-id=\"3783b07\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-617fe73 elementor-widget elementor-widget-html\" data-id=\"617fe73\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 LUXUS VILL\u00c1K \/ CLT KIVITELEZ\u00c9S -->\r\n<section id=\"zs-luxury-villas-construction\" class=\"zs-main zsluxbuild\" aria-label=\"Luxus vill\u00e1k kivitelez\u00e9se\">\r\n  <div class=\"zsluxbuild__inner\">\r\n    <div class=\"zsluxbuild__grid\">\r\n\r\n      <figure class=\"zsluxbuild__visual zsluxbuild__reveal\">\r\n        <div class=\"zsluxbuild__image-frame\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/villa-kivitelezes-1.jpg\"\r\n            alt=\"CLT technol\u00f3gi\u00e1val k\u00e9sz\u00fcl\u0151 luxus villa szerkezete\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n        <\/div>\r\n      <\/figure>\r\n\r\n      <article class=\"zsluxbuild__content zsluxbuild__reveal\">\r\n        <div class=\"zsluxbuild__eyebrow\">\r\n          KORSZER\u0170 KIVITELEZ\u00c9S\r\n        <\/div>\r\n\r\n        <p>\r\n          A luxus vill\u00e1k kivitelez\u00e9se pedig egy olyan korszer\u0171, innovat\u00edv\r\n          technol\u00f3gi\u00e1val fog megval\u00f3sulni, amely a kor\u00e1bbiakhoz k\u00e9pest egy\r\n          l\u00e9nyegesen gyorsabb \u00e9s fenntarthat\u00f3bb kivitelez\u00e9st tesz lehet\u0151v\u00e9.\r\n          Ez a technol\u00f3gia a CLT, amely keresztir\u00e1ny\u00fa ragaszt\u00e1ssal \u00e9s pr\u00e9sel\u00e9ssel\r\n          r\u00e9tegelt fapanel. N\u00e9metorsz\u00e1gban, Ausztri\u00e1ban, Sv\u00e1jcban, Kanad\u00e1ban \u00e9s\r\n          az Egyes\u00fclt \u00c1llamokban is rendk\u00edv\u00fcl n\u00e9pszer\u0171 ez a technol\u00f3gia\r\n          term\u00e9szetess\u00e9g\u00e9nek \u00e9s megb\u00edzhat\u00f3s\u00e1g\u00e1nak k\u00f6sz\u00f6nhet\u0151en.\r\n        <\/p>\r\n\r\n        <p>\r\n          Fontos hangs\u00falyozni, hogy a CLT tart\u00f3szerkezet ellen\u00e9re, az \u00e9p\u00fclet\r\n          k\u00fcls\u0151 megjelen\u00e9s\u00e9t nem befoly\u00e1solja, a l\u00e1tv\u00e1nyterveknek megfelel\u0151\r\n          homlokzatburkolat, illetve ny\u00edl\u00e1sz\u00e1r\u00f3k fognak megjelenni.\r\n          Illetve a bels\u0151 interior kialak\u00edt\u00e1s is a vev\u0151 ig\u00e9nyeire szabhat\u00f3\r\n          teljes m\u00e9rt\u00e9kben.\r\n        <\/p>\r\n      <\/article>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <style>\r\n    #zs-luxury-villas-construction,\r\n    #zs-luxury-villas-construction *,\r\n    #zs-luxury-villas-construction *::before,\r\n    #zs-luxury-villas-construction *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-luxury-villas-construction {\r\n      --gold: var(--zs-brand-gold,#c2a22f);\r\n      --dark: var(--zs-brand-midnight,#26352c);\r\n      --muted: var(--zs-text-soft,#68716c);\r\n\r\n      width: 100%;\r\n      padding:\r\n        clamp(86px,7vw,124px)\r\n        clamp(20px,4vw,64px);\r\n\r\n      background:\r\n        var(--zs-surface,#fbfaf7);\r\n\r\n      color: var(--dark);\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-construction * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    .zsluxbuild__inner {\r\n      width: min(100%,1480px);\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .zsluxbuild__grid {\r\n      display: grid;\r\n      grid-template-columns:\r\n        minmax(0,1.12fr)\r\n        minmax(390px,.88fr);\r\n      gap: clamp(58px,7vw,112px);\r\n      align-items: center;\r\n    }\r\n\r\n    .zsluxbuild__visual {\r\n      margin: 0;\r\n      min-width: 0;\r\n    }\r\n\r\n    .zsluxbuild__image-frame {\r\n      overflow: hidden;\r\n      padding: 8px;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.20);\r\n\r\n      border-radius: 28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.86);\r\n\r\n      box-shadow:\r\n        0 24px 70px rgba(38,53,44,.08);\r\n    }\r\n\r\n    .zsluxbuild__image-frame img {\r\n      display: block !important;\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      height: auto !important;\r\n      aspect-ratio: 1.6 \/ 1;\r\n      object-fit: cover !important;\r\n      object-position: center center !important;\r\n      border-radius: 20px;\r\n    }\r\n\r\n    .zsluxbuild__content {\r\n      max-width: 650px;\r\n    }\r\n\r\n    .zsluxbuild__eyebrow {\r\n      margin-bottom: 18px;\r\n      color: var(--gold);\r\n      font-size: 10px;\r\n      font-weight: 700;\r\n      letter-spacing: .2em;\r\n    }\r\n\r\n    .zsluxbuild__content p {\r\n      margin: 0 0 18px !important;\r\n      color: var(--muted);\r\n      font-size: clamp(16px,1.08vw,18px);\r\n      line-height: 1.72;\r\n    }\r\n\r\n    .zsluxbuild__content p:last-child {\r\n      margin-bottom: 0 !important;\r\n    }\r\n\r\n    .zsluxbuild__reveal {\r\n      opacity: 0;\r\n      transform: translateY(28px);\r\n\r\n      transition:\r\n        opacity .8s ease,\r\n        transform .95s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxbuild__reveal.is-visible {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n    @media (max-width:1366px) {\r\n      #zs-luxury-villas-construction {\r\n        padding: 96px 40px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n      #zs-luxury-villas-construction {\r\n        padding: 90px 32px;\r\n      }\r\n\r\n      .zsluxbuild__grid {\r\n        gap: 58px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n      #zs-luxury-villas-construction {\r\n        padding: 82px 24px;\r\n      }\r\n\r\n      .zsluxbuild__grid {\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 44px;\r\n      }\r\n\r\n      .zsluxbuild__visual {\r\n        order: 1;\r\n        width: min(100%,880px);\r\n      }\r\n\r\n      .zsluxbuild__content {\r\n        order: 2;\r\n        width: min(100%,880px);\r\n        max-width: none;\r\n      }\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n      #zs-luxury-villas-construction {\r\n        padding: 68px 14px;\r\n      }\r\n\r\n      .zsluxbuild__image-frame {\r\n        padding: 6px;\r\n        border-radius: 20px;\r\n      }\r\n\r\n      .zsluxbuild__image-frame img {\r\n        aspect-ratio: 1.08 \/ 1;\r\n        border-radius: 14px;\r\n      }\r\n\r\n      .zsluxbuild__content p {\r\n        font-size: 15px;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n      .zsluxbuild__reveal {\r\n        opacity: 1 !important;\r\n        transform: none !important;\r\n        transition: none !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <script>\r\n  (() => {\r\n    const root = document.getElementById('zs-luxury-villas-construction');\r\n    if (!root || root.dataset.ready === '1') return;\r\n    root.dataset.ready = '1';\r\n\r\n    const items = root.querySelectorAll('.zsluxbuild__reveal');\r\n\r\n    if (!('IntersectionObserver' in window)) {\r\n      items.forEach(item => item.classList.add('is-visible'));\r\n      return;\r\n    }\r\n\r\n    const observer = new IntersectionObserver(\r\n      entries => {\r\n        entries.forEach(entry => {\r\n          if (!entry.isIntersecting) return;\r\n          entry.target.classList.add('is-visible');\r\n          observer.unobserve(entry.target);\r\n        });\r\n      },\r\n      {\r\n        threshold: .10,\r\n        rootMargin: '0px 0px -6% 0px'\r\n      }\r\n    );\r\n\r\n    items.forEach(item => observer.observe(item));\r\n  })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9a7fe2a e-con-full e-flex e-con e-parent\" data-id=\"9a7fe2a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-81e5a53 elementor-widget elementor-widget-html\" data-id=\"81e5a53\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 LUXUS VILL\u00c1K \/ LEGNAGYOBB EL\u0150NYEI -->\r\n<section id=\"zs-luxury-villas-benefits\" class=\"zs-main zsluxbenefits\" aria-labelledby=\"zsluxbenefits-title\">\r\n  <div class=\"zsluxbenefits__inner\">\r\n\r\n    <header class=\"zsluxbenefits__header zsluxbenefits__reveal\">\r\n      <div class=\"zsluxbenefits__eyebrow\">\r\n        CLT TECHNOL\u00d3GIA\r\n      <\/div>\r\n\r\n      <h2 id=\"zsluxbenefits-title\">\r\n        Legnagyobb el\u0151nyei\r\n      <\/h2>\r\n\r\n      <div class=\"zsluxbenefits__gold-line\"><\/div>\r\n    <\/header>\r\n\r\n\r\n    <div class=\"zsluxbenefits__grid\">\r\n\r\n      <article class=\"zsluxbenefits__group zsluxbenefits__reveal\">\r\n        <span class=\"zsluxbenefits__number\">01<\/span>\r\n\r\n        <ul>\r\n          <li>Meg\u00fajul\u00f3, k\u00f6rnyezetbar\u00e1t anyagb\u00f3l \u00e9p\u00fcl.<\/li>\r\n          <li>\r\n            R\u00f6vid \u00e9p\u00edt\u00e9si id\u0151, a villa\u00e9p\u00fcletek eset\u00e9ben 1,5\u20132 hetes \u00e1tfut\u00e1ssal\r\n            fel\u00e9p\u00fcl az \u00e9p\u00fclet szerkezete, t\u00f6mege.\r\n          <\/li>\r\n          <li>A term\u00e9szetess\u00e9g \u00e9rzet\u00e9t adja.<\/li>\r\n          <li>Statikai \u00e9s t\u0171zbiztons\u00e1gi szempontb\u00f3l is kiv\u00e1l\u00f3.<\/li>\r\n        <\/ul>\r\n      <\/article>\r\n\r\n\r\n      <article class=\"zsluxbenefits__group zsluxbenefits__reveal\">\r\n        <span class=\"zsluxbenefits__number\">02<\/span>\r\n\r\n        <ul>\r\n          <li>Megb\u00edzhat\u00f3 \u00e9s tart\u00f3s.<\/li>\r\n          <li>Kiv\u00e1l\u00f3 h\u0151- \u00e9s hangszigetel\u0151 tulajdons\u00e1gokkal rendelkezik.<\/li>\r\n          <li>T\u00f6k\u00e9letesen l\u00e9gz\u00e1r\u00f3 \u00e9s kit\u0171n\u0151 nedvess\u00e9gszab\u00e1lyoz\u00f3.<\/li>\r\n          <li>\u00c9p\u00edt\u00e9s sor\u00e1n jelent\u0151sen cs\u00f6kken a keletkezett hullad\u00e9k mennyis\u00e9ge.<\/li>\r\n        <\/ul>\r\n      <\/article>\r\n\r\n\r\n      <article class=\"zsluxbenefits__group zsluxbenefits__reveal\">\r\n        <span class=\"zsluxbenefits__number\">03<\/span>\r\n\r\n        <ul>\r\n          <li>\r\n            A CLT \u00e9p\u00edt\u00e9shez k\u00f6thet\u0151 \u00fcvegh\u00e1zhat\u00e1s\u00fa g\u00e1z kibocs\u00e1t\u00e1s messze elmarad\r\n            minden m\u00e1s megszokott \u00e9p\u00edt\u0151anyagt\u00f3l.\r\n          <\/li>\r\n          <li>\r\n            Egyszer\u0171bb a kivitelez\u00e9s k\u00f6zbeni \u00e9s ut\u00e1ni m\u00f3dos\u00edt\u00e1sok megval\u00f3s\u00edt\u00e1sa.\r\n          <\/li>\r\n        <\/ul>\r\n      <\/article>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <style>\r\n    #zs-luxury-villas-benefits,\r\n    #zs-luxury-villas-benefits *,\r\n    #zs-luxury-villas-benefits *::before,\r\n    #zs-luxury-villas-benefits *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-luxury-villas-benefits {\r\n      --gold: var(--zs-brand-gold,#c2a22f);\r\n      --dark: var(--zs-brand-midnight,#26352c);\r\n      --muted: var(--zs-text-soft,#68716c);\r\n      --line: var(--zs-line,rgba(38,53,44,.12));\r\n\r\n      width: 100%;\r\n\r\n      padding:\r\n        clamp(88px,7vw,126px)\r\n        clamp(20px,4vw,64px)\r\n        clamp(96px,8vw,136px);\r\n\r\n      background:\r\n        linear-gradient(180deg,#f6f3ec,#fbfaf7);\r\n\r\n      color: var(--dark);\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-benefits * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    .zsluxbenefits__inner {\r\n      width: min(100%,1480px);\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .zsluxbenefits__header {\r\n      width: min(100%,820px);\r\n      margin: 0 auto clamp(44px,4vw,62px);\r\n      text-align: center;\r\n    }\r\n\r\n    .zsluxbenefits__eyebrow {\r\n      margin-bottom: 12px;\r\n      color: var(--gold);\r\n      font-size: 10px;\r\n      font-weight: 700;\r\n      letter-spacing: .2em;\r\n    }\r\n\r\n    .zsluxbenefits__header h2 {\r\n      margin: 0 !important;\r\n      color: var(--dark) !important;\r\n      font-size: clamp(42px,4.2vw,68px);\r\n      font-weight: 400 !important;\r\n      line-height: 1.04 !important;\r\n      letter-spacing: -.025em;\r\n    }\r\n\r\n    .zsluxbenefits__gold-line {\r\n      width: 58px;\r\n      height: 1px;\r\n      margin: 25px auto 0;\r\n      background: var(--gold);\r\n    }\r\n\r\n    .zsluxbenefits__grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(3,minmax(0,1fr));\r\n      gap: clamp(18px,2vw,28px);\r\n    }\r\n\r\n    .zsluxbenefits__group {\r\n      position: relative;\r\n      min-height: 100%;\r\n\r\n      padding:\r\n        clamp(26px,3vw,38px);\r\n\r\n      overflow: hidden;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.09);\r\n\r\n      border-radius: 24px;\r\n\r\n      background:\r\n        rgba(255,255,255,.68);\r\n\r\n      box-shadow:\r\n        0 18px 52px rgba(38,53,44,.05);\r\n    }\r\n\r\n    .zsluxbenefits__number {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n\r\n      min-width: 42px;\r\n      height: 30px;\r\n\r\n      margin-bottom: 18px;\r\n\r\n      padding: 0 10px;\r\n\r\n      border-radius: 999px;\r\n\r\n      background:\r\n        rgba(194,162,47,.10);\r\n\r\n      color: var(--gold);\r\n\r\n      font-size: 10px;\r\n      font-weight: 700;\r\n      letter-spacing: .12em;\r\n    }\r\n\r\n    .zsluxbenefits__group ul {\r\n      margin: 0;\r\n      padding-left: 20px;\r\n\r\n      color: var(--muted);\r\n\r\n      font-size: clamp(15px,1.02vw,17px);\r\n      line-height: 1.65;\r\n    }\r\n\r\n    .zsluxbenefits__group li + li {\r\n      margin-top: 9px;\r\n    }\r\n\r\n    .zsluxbenefits__group li::marker {\r\n      color: var(--gold);\r\n    }\r\n\r\n    .zsluxbenefits__reveal {\r\n      opacity: 0;\r\n      transform: translateY(28px);\r\n\r\n      transition:\r\n        opacity .8s ease,\r\n        transform .95s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxbenefits__reveal.is-visible {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n    @media (max-width:1366px) {\r\n      #zs-luxury-villas-benefits {\r\n        padding: 96px 40px 108px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n      #zs-luxury-villas-benefits {\r\n        padding: 90px 32px 102px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n      #zs-luxury-villas-benefits {\r\n        padding: 82px 24px 94px;\r\n      }\r\n\r\n      .zsluxbenefits__grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      .zsluxbenefits__group {\r\n        width: min(100%,880px);\r\n        margin: 0 auto;\r\n      }\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n      #zs-luxury-villas-benefits {\r\n        padding: 68px 14px 76px;\r\n      }\r\n\r\n      .zsluxbenefits__header h2 {\r\n        font-size: clamp(38px,10vw,50px);\r\n      }\r\n\r\n      .zsluxbenefits__group {\r\n        padding: 24px 20px;\r\n        border-radius: 20px;\r\n      }\r\n\r\n      .zsluxbenefits__group ul {\r\n        font-size: 15px;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n      .zsluxbenefits__reveal {\r\n        opacity: 1 !important;\r\n        transform: none !important;\r\n        transition: none !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <script>\r\n  (() => {\r\n    const root = document.getElementById('zs-luxury-villas-benefits');\r\n    if (!root || root.dataset.ready === '1') return;\r\n    root.dataset.ready = '1';\r\n\r\n    const items = root.querySelectorAll('.zsluxbenefits__reveal');\r\n\r\n    if (!('IntersectionObserver' in window)) {\r\n      items.forEach(item => item.classList.add('is-visible'));\r\n      return;\r\n    }\r\n\r\n    const observer = new IntersectionObserver(\r\n      entries => {\r\n        entries.forEach(entry => {\r\n          if (!entry.isIntersecting) return;\r\n          entry.target.classList.add('is-visible');\r\n          observer.unobserve(entry.target);\r\n        });\r\n      },\r\n      {\r\n        threshold: .10,\r\n        rootMargin: '0px 0px -6% 0px'\r\n      }\r\n    );\r\n\r\n    items.forEach(item => observer.observe(item));\r\n  })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b7412a4 e-con-full e-flex e-con e-parent\" data-id=\"b7412a4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d2e11b9 elementor-widget elementor-widget-html\" data-id=\"d2e11b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 LUXUS VILL\u00c1K \/ INTERAKT\u00cdV T\u00c9RK\u00c9P ZOOM -->\r\n<section\r\n  id=\"zs-luxury-villas-map\"\r\n  class=\"zs-main zsluxmap\"\r\n  aria-labelledby=\"zsluxmap-title\"\r\n>\r\n\r\n  <div class=\"zsluxmap__inner\">\r\n\r\n    <header class=\"zsluxmap__header zsluxmap__reveal\">\r\n      <div class=\"zsluxmap__eyebrow\">\r\n        <span><\/span>\r\n        <b>ZALA SPRINGS RESIDENCES<\/b>\r\n        <span><\/span>\r\n      <\/div>\r\n\r\n      <h2 id=\"zsluxmap-title\">\r\n        T\u00e9rk\u00e9p\r\n      <\/h2>\r\n\r\n      <div class=\"zsluxmap__gold-line\"><\/div>\r\n    <\/header>\r\n\r\n\r\n    <div class=\"zsluxmap__visual zsluxmap__reveal\">\r\n\r\n      <div\r\n        class=\"zsluxmap__stage\"\r\n        data-stage\r\n        tabindex=\"0\"\r\n        aria-label=\"A Zala Springs Luxus Vill\u00e1k elhelyezked\u00e9se \u2013 k\u00e9tl\u00e9pcs\u0151s nagy\u00edthat\u00f3 t\u00e9rk\u00e9p\"\r\n      >\r\n\r\n        <!--\r\n          K\u00e9t k\u00e9pr\u00e9teg kell a val\u00f3di zoom + crossfade \u00e1tmenethez.\r\n          Az akt\u00edv r\u00e9teg az els\u0151 resort t\u00e9rk\u00e9ppel indul.\r\n        -->\r\n\r\n        <div class=\"zsluxmap__image-layer is-active\" data-layer=\"a\">\r\n          <img decoding=\"async\"\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-map.jpg\"\r\n            alt=\"A Luxus Vill\u00e1k elhelyezked\u00e9se a Zala Springs Golf Resort ter\u00fclet\u00e9n\"\r\n            draggable=\"false\"\r\n          >\r\n        <\/div>\r\n\r\n        <div class=\"zsluxmap__image-layer\" data-layer=\"b\">\r\n          <img decoding=\"async\"\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-map.jpg\"\r\n            alt=\"\"\r\n            draggable=\"false\"\r\n          >\r\n        <\/div>\r\n\r\n\r\n        <!-- LEVEL -->\r\n\r\n        <div class=\"zsluxmap__stage-top\">\r\n          <div class=\"zsluxmap__level\">\r\n            <span data-level-number>01<\/span>\r\n            <i><\/i>\r\n            <strong data-level-label>Resort t\u00e9rk\u00e9p<\/strong>\r\n          <\/div>\r\n\r\n          <div class=\"zsluxmap__hint\">\r\n            Nagy\u00edtson a villaparkra\r\n          <\/div>\r\n        <\/div>\r\n\r\n\r\n        <!-- FOCUS TARGET -->\r\n\r\n        <div\r\n          class=\"zsluxmap__focus\"\r\n          data-focus\r\n          aria-hidden=\"true\"\r\n        >\r\n          <span><\/span>\r\n          <i><\/i>\r\n        <\/div>\r\n\r\n\r\n        <!-- STEP SELECTOR -->\r\n\r\n        <div\r\n          class=\"zsluxmap__steps\"\r\n          aria-label=\"T\u00e9rk\u00e9pszintek\"\r\n        >\r\n          <button\r\n            type=\"button\"\r\n            class=\"zsluxmap__step is-active\"\r\n            data-step=\"0\"\r\n            aria-label=\"Resort t\u00e9rk\u00e9p\"\r\n            aria-current=\"step\"\r\n          >\r\n            <span>01<\/span>\r\n          <\/button>\r\n\r\n          <button\r\n            type=\"button\"\r\n            class=\"zsluxmap__step\"\r\n            data-step=\"1\"\r\n            aria-label=\"Luxus vill\u00e1k t\u00e9rk\u00e9pe\"\r\n          >\r\n            <span>02<\/span>\r\n          <\/button>\r\n        <\/div>\r\n\r\n\r\n        <!-- ZOOM CONTROLS -->\r\n\r\n        <div\r\n          class=\"zsluxmap__zoom-controls\"\r\n          aria-label=\"T\u00e9rk\u00e9p nagy\u00edt\u00e1sa\"\r\n        >\r\n\r\n          <button\r\n            class=\"zsluxmap__zoom-button\"\r\n            type=\"button\"\r\n            data-zoom-out\r\n            aria-label=\"Kicsiny\u00edt\u00e9s\"\r\n            disabled\r\n          >\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <circle cx=\"10.5\" cy=\"10.5\" r=\"6.5\"><\/circle>\r\n              <path d=\"M15.5 15.5 21 21M7.5 10.5h6\"><\/path>\r\n            <\/svg>\r\n          <\/button>\r\n\r\n          <div class=\"zsluxmap__progress\" aria-hidden=\"true\">\r\n            <span data-progress-bar><\/span>\r\n          <\/div>\r\n\r\n          <button\r\n            class=\"zsluxmap__zoom-button zsluxmap__zoom-button--primary\"\r\n            type=\"button\"\r\n            data-zoom-in\r\n            aria-label=\"Nagy\u00edt\u00e1s\"\r\n          >\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <circle cx=\"10.5\" cy=\"10.5\" r=\"6.5\"><\/circle>\r\n              <path d=\"M15.5 15.5 21 21M7.5 10.5h6M10.5 7.5v6\"><\/path>\r\n            <\/svg>\r\n          <\/button>\r\n\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n\r\n      <div class=\"zsluxmap__caption\">\r\n        <span data-caption-label>RESORT<\/span>\r\n        <i><\/i>\r\n        <strong data-caption>\r\n          A Luxus Vill\u00e1k elhelyezked\u00e9se a Zala Springs ter\u00fclet\u00e9n\r\n        <\/strong>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <style>\r\n    #zs-luxury-villas-map,\r\n    #zs-luxury-villas-map *,\r\n    #zs-luxury-villas-map *::before,\r\n    #zs-luxury-villas-map *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-luxury-villas-map {\r\n      --gold:\r\n        var(--zs-brand-gold,#c2a22f);\r\n\r\n      --dark:\r\n        var(--zs-brand-midnight,#26352c);\r\n\r\n      --forest:\r\n        var(--zs-brand-forest,#394a40);\r\n\r\n      --surface:\r\n        var(--zs-surface,#fbfaf7);\r\n\r\n      --muted:\r\n        var(--zs-text-soft,#68716c);\r\n\r\n      --line:\r\n        var(--zs-line,rgba(38,53,44,.12));\r\n\r\n      width: 100%;\r\n\r\n      padding:\r\n        clamp(88px,7vw,128px)\r\n        clamp(20px,4vw,64px)\r\n        clamp(98px,8vw,142px);\r\n\r\n      overflow: hidden;\r\n\r\n      background:\r\n        radial-gradient(\r\n          circle at 50% 8%,\r\n          rgba(194,162,47,.06),\r\n          transparent 28%\r\n        ),\r\n        linear-gradient(\r\n          180deg,\r\n          #fbfaf7 0%,\r\n          #f6f3ec 100%\r\n        );\r\n\r\n      color:\r\n        var(--dark);\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-map * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-luxury-villas-map button {\r\n      font: inherit;\r\n    }\r\n\r\n    .zsluxmap__inner {\r\n      width:\r\n        min(100%,1480px);\r\n\r\n      margin:\r\n        0 auto;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       HEADER\r\n       ========================================================= *\/\r\n\r\n    .zsluxmap__header {\r\n      width:\r\n        min(100%,760px);\r\n\r\n      margin:\r\n        0 auto clamp(38px,4vw,56px);\r\n\r\n      text-align:\r\n        center;\r\n    }\r\n\r\n    .zsluxmap__eyebrow {\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      justify-content:\r\n        center;\r\n\r\n      gap:\r\n        13px;\r\n\r\n      margin-bottom:\r\n        14px;\r\n\r\n      color:\r\n        var(--gold);\r\n\r\n      font-size:\r\n        9px;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      letter-spacing:\r\n        .20em;\r\n    }\r\n\r\n    .zsluxmap__eyebrow span {\r\n      width:\r\n        42px;\r\n\r\n      height:\r\n        1px;\r\n\r\n      background:\r\n        rgba(194,162,47,.62);\r\n    }\r\n\r\n    .zsluxmap__eyebrow b {\r\n      font-weight:\r\n        700;\r\n    }\r\n\r\n    .zsluxmap__header h2 {\r\n      margin:\r\n        0 !important;\r\n\r\n      color:\r\n        var(--dark) !important;\r\n\r\n      font-size:\r\n        clamp(44px,4.5vw,72px);\r\n\r\n      font-weight:\r\n        400 !important;\r\n\r\n      line-height:\r\n        1.04 !important;\r\n\r\n      letter-spacing:\r\n        -.025em;\r\n    }\r\n\r\n    .zsluxmap__gold-line {\r\n      width:\r\n        58px;\r\n\r\n      height:\r\n        1px;\r\n\r\n      margin:\r\n        26px auto 0;\r\n\r\n      background:\r\n        var(--gold);\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       STAGE\r\n       ========================================================= *\/\r\n\r\n    .zsluxmap__visual {\r\n      width:\r\n        min(100%,1380px);\r\n\r\n      margin:\r\n        0 auto;\r\n    }\r\n\r\n    .zsluxmap__stage {\r\n      position:\r\n        relative;\r\n\r\n      width:\r\n        100%;\r\n\r\n      aspect-ratio:\r\n        16 \/ 10;\r\n\r\n      overflow:\r\n        hidden;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.09);\r\n\r\n      border-radius:\r\n        30px;\r\n\r\n      background:\r\n        #315c27;\r\n\r\n      box-shadow:\r\n        0 28px 85px\r\n        rgba(38,53,44,.11);\r\n\r\n      isolation:\r\n        isolate;\r\n\r\n      outline:\r\n        none;\r\n\r\n      touch-action:\r\n        pan-y;\r\n    }\r\n\r\n    .zsluxmap__stage:focus-visible {\r\n      box-shadow:\r\n        0 0 0 3px rgba(194,162,47,.28),\r\n        0 28px 85px rgba(38,53,44,.11);\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       IMAGE LAYERS\r\n       ========================================================= *\/\r\n\r\n    .zsluxmap__image-layer {\r\n      position:\r\n        absolute;\r\n\r\n      inset:\r\n        0;\r\n\r\n      z-index:\r\n        1;\r\n\r\n      overflow:\r\n        hidden;\r\n\r\n      opacity:\r\n        0;\r\n\r\n      pointer-events:\r\n        none;\r\n\r\n      will-change:\r\n        opacity;\r\n    }\r\n\r\n    .zsluxmap__image-layer.is-active {\r\n      opacity:\r\n        1;\r\n    }\r\n\r\n    .zsluxmap__image-layer img {\r\n      position:\r\n        absolute !important;\r\n\r\n      inset:\r\n        0 !important;\r\n\r\n      display:\r\n        block !important;\r\n\r\n      width:\r\n        100% !important;\r\n\r\n      max-width:\r\n        none !important;\r\n\r\n      height:\r\n        100% !important;\r\n\r\n      object-fit:\r\n        cover !important;\r\n\r\n      object-position:\r\n        center center !important;\r\n\r\n      transform:\r\n        scale(1);\r\n\r\n      transform-origin:\r\n        50% 50%;\r\n\r\n      user-select:\r\n        none;\r\n\r\n      -webkit-user-drag:\r\n        none;\r\n\r\n      will-change:\r\n        transform,\r\n        opacity;\r\n    }\r\n\r\n\r\n    \/*\r\n     * A sz\u00e9les resort t\u00e9rk\u00e9pen a feh\u00e9r keret\r\n     * megk\u00f6zel\u00edt\u0151leg x: 287\u2013842 \/ y: 585\u2013955.\r\n     * Ennek k\u00f6zepe ~33.6% \/ 64.2%.\r\n     * A 16:10 stage enyhe f\u00fcgg\u0151leges cropja miatt\r\n     * a vizu\u00e1lis f\u00f3kusz 63%-ra korrig\u00e1lva van.\r\n     *\/\r\n\r\n    .zsluxmap__image-layer.is-zooming-outgoing img {\r\n      animation:\r\n        zsluxmapZoomOutgoing\r\n        .90s\r\n        cubic-bezier(.58,.02,.3,1)\r\n        both;\r\n    }\r\n\r\n    .zsluxmap__image-layer.is-zooming-outgoing {\r\n      animation:\r\n        zsluxmapFadeOutgoing\r\n        .90s\r\n        cubic-bezier(.58,.02,.3,1)\r\n        both;\r\n    }\r\n\r\n    .zsluxmap__image-layer.is-zooming-incoming img {\r\n      animation:\r\n        zsluxmapZoomIncoming\r\n        .90s\r\n        cubic-bezier(.18,.75,.24,1)\r\n        both;\r\n    }\r\n\r\n    .zsluxmap__image-layer.is-zooming-incoming {\r\n      animation:\r\n        zsluxmapFadeIncoming\r\n        .90s\r\n        cubic-bezier(.18,.75,.24,1)\r\n        both;\r\n    }\r\n\r\n    .zsluxmap__image-layer.is-unzooming-outgoing img {\r\n      animation:\r\n        zsluxmapUnzoomOutgoing\r\n        .84s\r\n        cubic-bezier(.58,.02,.3,1)\r\n        both;\r\n    }\r\n\r\n    .zsluxmap__image-layer.is-unzooming-outgoing {\r\n      animation:\r\n        zsluxmapFadeOutgoing\r\n        .84s\r\n        ease\r\n        both;\r\n    }\r\n\r\n    .zsluxmap__image-layer.is-unzooming-incoming img {\r\n      animation:\r\n        zsluxmapUnzoomIncoming\r\n        .84s\r\n        cubic-bezier(.18,.75,.24,1)\r\n        both;\r\n    }\r\n\r\n    .zsluxmap__image-layer.is-unzooming-incoming {\r\n      animation:\r\n        zsluxmapFadeIncoming\r\n        .84s\r\n        ease\r\n        both;\r\n    }\r\n\r\n    @keyframes zsluxmapZoomOutgoing {\r\n      0% {\r\n        transform:\r\n          scale(1);\r\n      }\r\n\r\n      100% {\r\n        transform:\r\n          scale(2.75);\r\n      }\r\n    }\r\n\r\n    @keyframes zsluxmapZoomIncoming {\r\n      0% {\r\n        transform:\r\n          scale(.80);\r\n      }\r\n\r\n      100% {\r\n        transform:\r\n          scale(1);\r\n      }\r\n    }\r\n\r\n    @keyframes zsluxmapUnzoomOutgoing {\r\n      0% {\r\n        transform:\r\n          scale(1);\r\n      }\r\n\r\n      100% {\r\n        transform:\r\n          scale(.82);\r\n      }\r\n    }\r\n\r\n    @keyframes zsluxmapUnzoomIncoming {\r\n      0% {\r\n        transform:\r\n          scale(2.5);\r\n      }\r\n\r\n      100% {\r\n        transform:\r\n          scale(1);\r\n      }\r\n    }\r\n\r\n    @keyframes zsluxmapFadeOutgoing {\r\n      0%,\r\n      40% {\r\n        opacity:\r\n          1;\r\n      }\r\n\r\n      100% {\r\n        opacity:\r\n          0;\r\n      }\r\n    }\r\n\r\n    @keyframes zsluxmapFadeIncoming {\r\n      0%,\r\n      28% {\r\n        opacity:\r\n          0;\r\n      }\r\n\r\n      100% {\r\n        opacity:\r\n          1;\r\n      }\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       TOP META\r\n       ========================================================= *\/\r\n\r\n    .zsluxmap__stage-top {\r\n      position:\r\n        absolute;\r\n\r\n      z-index:\r\n        12;\r\n\r\n      top:\r\n        20px;\r\n\r\n      right:\r\n        20px;\r\n\r\n      left:\r\n        20px;\r\n\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      justify-content:\r\n        space-between;\r\n\r\n      gap:\r\n        20px;\r\n\r\n      pointer-events:\r\n        none;\r\n    }\r\n\r\n    .zsluxmap__level {\r\n      min-height:\r\n        38px;\r\n\r\n      display:\r\n        inline-flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      gap:\r\n        10px;\r\n\r\n      padding:\r\n        0 13px;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.10);\r\n\r\n      border-radius:\r\n        999px;\r\n\r\n      background:\r\n        rgba(251,250,247,.93);\r\n\r\n      box-shadow:\r\n        0 8px 26px rgba(38,53,44,.08);\r\n\r\n      backdrop-filter:\r\n        blur(12px);\r\n\r\n      -webkit-backdrop-filter:\r\n        blur(12px);\r\n    }\r\n\r\n    .zsluxmap__level > span {\r\n      color:\r\n        var(--gold);\r\n\r\n      font-size:\r\n        10px;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      font-variant-numeric:\r\n        tabular-nums;\r\n    }\r\n\r\n    .zsluxmap__level i {\r\n      width:\r\n        24px;\r\n\r\n      height:\r\n        1px;\r\n\r\n      background:\r\n        rgba(38,53,44,.19);\r\n    }\r\n\r\n    .zsluxmap__level strong {\r\n      color:\r\n        var(--dark);\r\n\r\n      font-size:\r\n        9px;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      letter-spacing:\r\n        .14em;\r\n\r\n      text-transform:\r\n        uppercase;\r\n    }\r\n\r\n    .zsluxmap__hint {\r\n      padding:\r\n        9px 12px;\r\n\r\n      border-radius:\r\n        999px;\r\n\r\n      background:\r\n        rgba(38,53,44,.78);\r\n\r\n      color:\r\n        #fff;\r\n\r\n      font-size:\r\n        8px;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      letter-spacing:\r\n        .15em;\r\n\r\n      text-transform:\r\n        uppercase;\r\n\r\n      backdrop-filter:\r\n        blur(10px);\r\n\r\n      -webkit-backdrop-filter:\r\n        blur(10px);\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       FOCUS PULSE\r\n       ========================================================= *\/\r\n\r\n    .zsluxmap__focus {\r\n      position:\r\n        absolute;\r\n\r\n      z-index:\r\n        11;\r\n\r\n      left:\r\n        var(--focus-x,33.6%);\r\n\r\n      top:\r\n        var(--focus-y,63%);\r\n\r\n      width:\r\n        42px;\r\n\r\n      height:\r\n        42px;\r\n\r\n      transform:\r\n        translate(-50%,-50%);\r\n\r\n      opacity:\r\n        0;\r\n\r\n      pointer-events:\r\n        none;\r\n\r\n      transition:\r\n        left .45s ease,\r\n        top .45s ease;\r\n    }\r\n\r\n    .zsluxmap__focus.is-pulsing {\r\n      opacity:\r\n        1;\r\n    }\r\n\r\n    .zsluxmap__focus span,\r\n    .zsluxmap__focus i {\r\n      position:\r\n        absolute;\r\n\r\n      top:\r\n        50%;\r\n\r\n      left:\r\n        50%;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.88);\r\n\r\n      border-radius:\r\n        50%;\r\n\r\n      transform:\r\n        translate(-50%,-50%);\r\n    }\r\n\r\n    .zsluxmap__focus span {\r\n      width:\r\n        12px;\r\n\r\n      height:\r\n        12px;\r\n\r\n      background:\r\n        var(--gold);\r\n\r\n      box-shadow:\r\n        0 0 0 4px rgba(251,250,247,.72);\r\n    }\r\n\r\n    .zsluxmap__focus i {\r\n      width:\r\n        42px;\r\n\r\n      height:\r\n        42px;\r\n\r\n      animation:\r\n        zsluxmapPulse\r\n        1.2s\r\n        ease-out\r\n        infinite;\r\n    }\r\n\r\n    @keyframes zsluxmapPulse {\r\n      0% {\r\n        opacity:\r\n          .9;\r\n\r\n        transform:\r\n          translate(-50%,-50%)\r\n          scale(.45);\r\n      }\r\n\r\n      100% {\r\n        opacity:\r\n          0;\r\n\r\n        transform:\r\n          translate(-50%,-50%)\r\n          scale(1.45);\r\n      }\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       STEPS\r\n       ========================================================= *\/\r\n\r\n    .zsluxmap__steps {\r\n      position:\r\n        absolute;\r\n\r\n      z-index:\r\n        15;\r\n\r\n      bottom:\r\n        25px;\r\n\r\n      left:\r\n        24px;\r\n\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      gap:\r\n        7px;\r\n    }\r\n\r\n    .zsluxmap__step {\r\n      width:\r\n        31px;\r\n\r\n      height:\r\n        31px;\r\n\r\n      display:\r\n        grid;\r\n\r\n      place-items:\r\n        center;\r\n\r\n      padding:\r\n        0;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.12);\r\n\r\n      border-radius:\r\n        50%;\r\n\r\n      background:\r\n        rgba(251,250,247,.92);\r\n\r\n      color:\r\n        rgba(38,53,44,.48);\r\n\r\n      cursor:\r\n        pointer;\r\n\r\n      box-shadow:\r\n        0 6px 18px rgba(38,53,44,.06);\r\n\r\n      transition:\r\n        .3s ease;\r\n    }\r\n\r\n    .zsluxmap__step span {\r\n      font-size:\r\n        8px;\r\n\r\n      font-weight:\r\n        700;\r\n    }\r\n\r\n    .zsluxmap__step.is-active {\r\n      border-color:\r\n        var(--gold);\r\n\r\n      background:\r\n        var(--dark);\r\n\r\n      color:\r\n        #fff;\r\n\r\n      transform:\r\n        scale(1.10);\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       ZOOM CONTROLS\r\n       ========================================================= *\/\r\n\r\n    .zsluxmap__zoom-controls {\r\n      position:\r\n        absolute;\r\n\r\n      z-index:\r\n        15;\r\n\r\n      right:\r\n        20px;\r\n\r\n      bottom:\r\n        20px;\r\n\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      gap:\r\n        7px;\r\n\r\n      padding:\r\n        6px;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.10);\r\n\r\n      border-radius:\r\n        999px;\r\n\r\n      background:\r\n        rgba(251,250,247,.95);\r\n\r\n      box-shadow:\r\n        0 12px 36px rgba(38,53,44,.12);\r\n\r\n      backdrop-filter:\r\n        blur(15px);\r\n\r\n      -webkit-backdrop-filter:\r\n        blur(15px);\r\n    }\r\n\r\n    .zsluxmap__zoom-button {\r\n      width:\r\n        46px;\r\n\r\n      height:\r\n        46px;\r\n\r\n      display:\r\n        grid;\r\n\r\n      place-items:\r\n        center;\r\n\r\n      padding:\r\n        0;\r\n\r\n      border:\r\n        0;\r\n\r\n      border-radius:\r\n        50%;\r\n\r\n      background:\r\n        transparent;\r\n\r\n      color:\r\n        var(--dark);\r\n\r\n      cursor:\r\n        pointer;\r\n\r\n      transition:\r\n        background-color .25s ease,\r\n        color .25s ease,\r\n        transform .25s ease,\r\n        opacity .25s ease;\r\n    }\r\n\r\n    .zsluxmap__zoom-button svg {\r\n      width:\r\n        20px;\r\n\r\n      height:\r\n        20px;\r\n\r\n      fill:\r\n        none;\r\n\r\n      stroke:\r\n        currentColor;\r\n\r\n      stroke-width:\r\n        1.6;\r\n\r\n      stroke-linecap:\r\n        round;\r\n\r\n      stroke-linejoin:\r\n        round;\r\n    }\r\n\r\n    .zsluxmap__zoom-button--primary {\r\n      background:\r\n        var(--gold);\r\n\r\n      color:\r\n        var(--dark);\r\n\r\n      box-shadow:\r\n        0 8px 22px rgba(194,162,47,.20);\r\n    }\r\n\r\n    .zsluxmap__zoom-button:disabled {\r\n      opacity:\r\n        .30;\r\n\r\n      cursor:\r\n        default;\r\n    }\r\n\r\n    .zsluxmap__progress {\r\n      width:\r\n        72px;\r\n\r\n      height:\r\n        2px;\r\n\r\n      overflow:\r\n        hidden;\r\n\r\n      border-radius:\r\n        999px;\r\n\r\n      background:\r\n        rgba(38,53,44,.11);\r\n    }\r\n\r\n    .zsluxmap__progress span {\r\n      display:\r\n        block;\r\n\r\n      width:\r\n        50%;\r\n\r\n      height:\r\n        100%;\r\n\r\n      border-radius:\r\n        inherit;\r\n\r\n      background:\r\n        var(--gold);\r\n\r\n      transition:\r\n        width .5s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       CAPTION\r\n       ========================================================= *\/\r\n\r\n    .zsluxmap__caption {\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      justify-content:\r\n        center;\r\n\r\n      gap:\r\n        12px;\r\n\r\n      margin-top:\r\n        18px;\r\n\r\n      color:\r\n        var(--muted);\r\n\r\n      font-size:\r\n        10px;\r\n\r\n      letter-spacing:\r\n        .05em;\r\n    }\r\n\r\n    .zsluxmap__caption > span {\r\n      color:\r\n        #a18730;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      letter-spacing:\r\n        .14em;\r\n    }\r\n\r\n    .zsluxmap__caption i {\r\n      width:\r\n        34px;\r\n\r\n      height:\r\n        1px;\r\n\r\n      background:\r\n        rgba(194,162,47,.55);\r\n    }\r\n\r\n    .zsluxmap__caption strong {\r\n      font-weight:\r\n        400;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       REVEAL \/ HOVER\r\n       ========================================================= *\/\r\n\r\n    .zsluxmap__reveal {\r\n      opacity:\r\n        0;\r\n\r\n      transform:\r\n        translateY(28px);\r\n\r\n      transition:\r\n        opacity .8s ease,\r\n        transform .95s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsluxmap__reveal.is-visible {\r\n      opacity:\r\n        1;\r\n\r\n      transform:\r\n        none;\r\n    }\r\n\r\n    @media (hover:hover) and (pointer:fine) {\r\n\r\n      .zsluxmap__zoom-button:not(:disabled):hover {\r\n        transform:\r\n          translateY(-2px);\r\n\r\n        background:\r\n          var(--forest);\r\n\r\n        color:\r\n          #fff;\r\n      }\r\n\r\n      .zsluxmap__zoom-button--primary:not(:disabled):hover {\r\n        background:\r\n          #ceb03f;\r\n\r\n        color:\r\n          var(--dark);\r\n      }\r\n\r\n      .zsluxmap__step:hover {\r\n        border-color:\r\n          rgba(194,162,47,.65);\r\n\r\n        color:\r\n          var(--dark);\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       RESPONSIVE\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:1366px) {\r\n\r\n      #zs-luxury-villas-map {\r\n        padding:\r\n          98px 40px 110px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n\r\n      #zs-luxury-villas-map {\r\n        padding:\r\n          90px 32px 102px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n\r\n      #zs-luxury-villas-map {\r\n        padding:\r\n          82px 24px 94px;\r\n      }\r\n\r\n      .zsluxmap__stage {\r\n        border-radius:\r\n          24px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n\r\n      #zs-luxury-villas-map {\r\n        padding:\r\n          76px 18px 86px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n\r\n      #zs-luxury-villas-map {\r\n        padding:\r\n          68px 12px 76px;\r\n      }\r\n\r\n      .zsluxmap__header {\r\n        margin-bottom:\r\n          34px;\r\n      }\r\n\r\n      .zsluxmap__eyebrow {\r\n        gap:\r\n          9px;\r\n\r\n        font-size:\r\n          8px;\r\n      }\r\n\r\n      .zsluxmap__eyebrow span {\r\n        width:\r\n          27px;\r\n      }\r\n\r\n      .zsluxmap__header h2 {\r\n        font-size:\r\n          clamp(38px,10vw,50px);\r\n      }\r\n\r\n      .zsluxmap__stage {\r\n        aspect-ratio:\r\n          1 \/ 1;\r\n\r\n        border-radius:\r\n          20px;\r\n      }\r\n\r\n      \/*\r\n       * Mobilon nem v\u00e1gunk le t\u00e9rk\u00e9pr\u00e9szletet.\r\n       * Az esetleges \u00fcres ter\u00fclet a t\u00e9rk\u00e9p z\u00f6ldj\u00e9be olvad.\r\n       *\/\r\n      .zsluxmap__image-layer img {\r\n        object-fit:\r\n          contain !important;\r\n\r\n        background:\r\n          #315c27;\r\n      }\r\n\r\n      .zsluxmap__stage-top {\r\n        top:\r\n          12px;\r\n\r\n        right:\r\n          12px;\r\n\r\n        left:\r\n          12px;\r\n      }\r\n\r\n      .zsluxmap__hint {\r\n        display:\r\n          none;\r\n      }\r\n\r\n      .zsluxmap__level {\r\n        min-height:\r\n          34px;\r\n\r\n        padding:\r\n          0 11px;\r\n      }\r\n\r\n      .zsluxmap__steps {\r\n        bottom:\r\n          17px;\r\n\r\n        left:\r\n          14px;\r\n      }\r\n\r\n      .zsluxmap__step {\r\n        width:\r\n          27px;\r\n\r\n        height:\r\n          27px;\r\n      }\r\n\r\n      .zsluxmap__zoom-controls {\r\n        right:\r\n          12px;\r\n\r\n        bottom:\r\n          12px;\r\n\r\n        padding:\r\n          5px;\r\n      }\r\n\r\n      .zsluxmap__zoom-button {\r\n        width:\r\n          42px;\r\n\r\n        height:\r\n          42px;\r\n      }\r\n\r\n      .zsluxmap__progress {\r\n        width:\r\n          42px;\r\n      }\r\n\r\n      .zsluxmap__caption {\r\n        margin-top:\r\n          13px;\r\n\r\n        font-size:\r\n          9px;\r\n      }\r\n\r\n      .zsluxmap__caption strong {\r\n        display:\r\n          none;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:480px) {\r\n\r\n      .zsluxmap__zoom-controls {\r\n        gap:\r\n          4px;\r\n      }\r\n\r\n      .zsluxmap__progress {\r\n        width:\r\n          32px;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       REDUCED MOTION\r\n       ========================================================= *\/\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n\r\n      #zs-luxury-villas-map *,\r\n      #zs-luxury-villas-map *::before,\r\n      #zs-luxury-villas-map *::after {\r\n        animation:\r\n          none !important;\r\n\r\n        transition:\r\n          none !important;\r\n      }\r\n\r\n      .zsluxmap__reveal {\r\n        opacity:\r\n          1 !important;\r\n\r\n        transform:\r\n          none !important;\r\n      }\r\n\r\n      .zsluxmap__image-layer {\r\n        opacity:\r\n          0 !important;\r\n      }\r\n\r\n      .zsluxmap__image-layer.is-active {\r\n        opacity:\r\n          1 !important;\r\n      }\r\n\r\n    }\r\n\r\n  <\/style>\r\n\r\n\r\n  <script>\r\n  (() => {\r\n\r\n    const root =\r\n      document.getElementById(\r\n        'zs-luxury-villas-map'\r\n      );\r\n\r\n    if (\r\n      !root ||\r\n      root.dataset.ready === '1'\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    root.dataset.ready =\r\n      '1';\r\n\r\n\r\n    \/*\r\n     * A feh\u00e9r kijel\u00f6l\u0151 keretet a forr\u00e1sk\u00e9pen bem\u00e9rt\u00fck:\r\n     * kb. x 287\u2013842 \/ y 585\u2013955 a 1680\u00d71200 k\u00e9pen.\r\n     * K\u00f6zepe: 33.6% \/ 64.2%.\r\n     * Desktop cover korrekci\u00f3val 33.6% \/ 63%.\r\n     *\/\r\n\r\n    const maps = [\r\n      {\r\n        src:\r\n          '\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-map.jpg',\r\n\r\n        alt:\r\n          'A Luxus Vill\u00e1k elhelyezked\u00e9se a Zala Springs Golf Resort ter\u00fclet\u00e9n',\r\n\r\n        label:\r\n          'Resort t\u00e9rk\u00e9p',\r\n\r\n        captionLabel:\r\n          'RESORT',\r\n\r\n        caption:\r\n          'A Luxus Vill\u00e1k elhelyezked\u00e9se a Zala Springs ter\u00fclet\u00e9n',\r\n\r\n        focalX:\r\n          33.6,\r\n\r\n        focalY:\r\n          63.0\r\n      },\r\n\r\n      {\r\n        src:\r\n          '\/wp-content\/uploads\/2026\/09\/ingatlan-luxusvillak-map-2.jpg',\r\n\r\n        alt:\r\n          'A Luxus Vill\u00e1k r\u00e9szletes t\u00e9rk\u00e9pe',\r\n\r\n        label:\r\n          'Villapark',\r\n\r\n        captionLabel:\r\n          'VILLAPARK',\r\n\r\n        caption:\r\n          'A villatelkek \u00e9s a resort k\u00f6zponti egys\u00e9geinek r\u00e9szletes elhelyezked\u00e9se',\r\n\r\n        focalX:\r\n          50,\r\n\r\n        focalY:\r\n          50\r\n      }\r\n    ];\r\n\r\n\r\n    const stage =\r\n      root.querySelector(\r\n        '[data-stage]'\r\n      );\r\n\r\n    const layers = [\r\n      root.querySelector(\r\n        '[data-layer=\"a\"]'\r\n      ),\r\n      root.querySelector(\r\n        '[data-layer=\"b\"]'\r\n      )\r\n    ];\r\n\r\n    const zoomIn =\r\n      root.querySelector(\r\n        '[data-zoom-in]'\r\n      );\r\n\r\n    const zoomOut =\r\n      root.querySelector(\r\n        '[data-zoom-out]'\r\n      );\r\n\r\n    const progress =\r\n      root.querySelector(\r\n        '[data-progress-bar]'\r\n      );\r\n\r\n    const levelNumber =\r\n      root.querySelector(\r\n        '[data-level-number]'\r\n      );\r\n\r\n    const levelLabel =\r\n      root.querySelector(\r\n        '[data-level-label]'\r\n      );\r\n\r\n    const captionLabel =\r\n      root.querySelector(\r\n        '[data-caption-label]'\r\n      );\r\n\r\n    const caption =\r\n      root.querySelector(\r\n        '[data-caption]'\r\n      );\r\n\r\n    const focus =\r\n      root.querySelector(\r\n        '[data-focus]'\r\n      );\r\n\r\n    const stepButtons = [\r\n      ...root.querySelectorAll(\r\n        '[data-step]'\r\n      )\r\n    ];\r\n\r\n\r\n    let index =\r\n      0;\r\n\r\n    let activeLayer =\r\n      0;\r\n\r\n    let busy =\r\n      false;\r\n\r\n    let touchStartX =\r\n      0;\r\n\r\n    const reduce =\r\n      window.matchMedia(\r\n        '(prefers-reduced-motion: reduce)'\r\n      ).matches;\r\n\r\n\r\n    \/* PRELOAD *\/\r\n\r\n    maps.forEach(\r\n      item => {\r\n        const img =\r\n          new Image();\r\n\r\n        img.src =\r\n          item.src;\r\n      }\r\n    );\r\n\r\n\r\n    \/* UI *\/\r\n\r\n    const updateUi =\r\n      () => {\r\n\r\n        const item =\r\n          maps[index];\r\n\r\n        levelNumber.textContent =\r\n          String(index + 1)\r\n            .padStart(2,'0');\r\n\r\n        levelLabel.textContent =\r\n          item.label;\r\n\r\n        captionLabel.textContent =\r\n          item.captionLabel;\r\n\r\n        caption.textContent =\r\n          item.caption;\r\n\r\n        progress.style.width =\r\n          (\r\n            ((index + 1) \/\r\n            maps.length) *\r\n            100\r\n          ) + '%';\r\n\r\n        zoomOut.disabled =\r\n          index === 0;\r\n\r\n        zoomIn.disabled =\r\n          index ===\r\n          maps.length - 1;\r\n\r\n        stepButtons.forEach(\r\n          (button,buttonIndex) => {\r\n\r\n            const active =\r\n              buttonIndex ===\r\n              index;\r\n\r\n            button.classList.toggle(\r\n              'is-active',\r\n              active\r\n            );\r\n\r\n            if (active) {\r\n              button.setAttribute(\r\n                'aria-current',\r\n                'step'\r\n              );\r\n            } else {\r\n              button.removeAttribute(\r\n                'aria-current'\r\n              );\r\n            }\r\n\r\n          }\r\n        );\r\n\r\n      };\r\n\r\n\r\n    \/* FOCUS *\/\r\n\r\n    const pulseFocus =\r\n      () => {\r\n\r\n        const item =\r\n          maps[0];\r\n\r\n        root.style.setProperty(\r\n          '--focus-x',\r\n          item.focalX + '%'\r\n        );\r\n\r\n        root.style.setProperty(\r\n          '--focus-y',\r\n          item.focalY + '%'\r\n        );\r\n\r\n        focus.classList.remove(\r\n          'is-pulsing'\r\n        );\r\n\r\n        void focus.offsetWidth;\r\n\r\n        focus.classList.add(\r\n          'is-pulsing'\r\n        );\r\n\r\n        window.setTimeout(\r\n          () =>\r\n            focus.classList.remove(\r\n              'is-pulsing'\r\n            ),\r\n          760\r\n        );\r\n\r\n      };\r\n\r\n\r\n    \/* TRANSITION *\/\r\n\r\n    const goTo =\r\n      nextIndex => {\r\n\r\n        if (\r\n          busy ||\r\n          nextIndex === index ||\r\n          nextIndex < 0 ||\r\n          nextIndex >= maps.length\r\n        ) {\r\n          return;\r\n        }\r\n\r\n        const forward =\r\n          nextIndex > index;\r\n\r\n        const outgoing =\r\n          layers[activeLayer];\r\n\r\n        const incoming =\r\n          layers[1 - activeLayer];\r\n\r\n        const outgoingImg =\r\n          outgoing.querySelector(\r\n            'img'\r\n          );\r\n\r\n        const incomingImg =\r\n          incoming.querySelector(\r\n            'img'\r\n          );\r\n\r\n        const target =\r\n          maps[nextIndex];\r\n\r\n        const focal =\r\n          maps[0];\r\n\r\n        busy =\r\n          true;\r\n\r\n        pulseFocus();\r\n\r\n        outgoingImg.style\r\n          .transformOrigin =\r\n            focal.focalX + '% ' +\r\n            focal.focalY + '%';\r\n\r\n        incomingImg.style\r\n          .transformOrigin =\r\n            focal.focalX + '% ' +\r\n            focal.focalY + '%';\r\n\r\n        incomingImg.src =\r\n          target.src;\r\n\r\n        incomingImg.alt =\r\n          target.alt;\r\n\r\n\r\n        if (reduce) {\r\n\r\n          outgoing.className =\r\n            'zsluxmap__image-layer';\r\n\r\n          incoming.className =\r\n            'zsluxmap__image-layer is-active';\r\n\r\n          activeLayer =\r\n            1 - activeLayer;\r\n\r\n          index =\r\n            nextIndex;\r\n\r\n          updateUi();\r\n\r\n          busy =\r\n            false;\r\n\r\n          return;\r\n        }\r\n\r\n\r\n        incoming.className =\r\n          'zsluxmap__image-layer';\r\n\r\n        void incoming.offsetWidth;\r\n\r\n\r\n        if (forward) {\r\n\r\n          outgoing.className =\r\n            'zsluxmap__image-layer is-active is-zooming-outgoing';\r\n\r\n          incoming.className =\r\n            'zsluxmap__image-layer is-zooming-incoming';\r\n\r\n        } else {\r\n\r\n          outgoing.className =\r\n            'zsluxmap__image-layer is-active is-unzooming-outgoing';\r\n\r\n          incoming.className =\r\n            'zsluxmap__image-layer is-unzooming-incoming';\r\n\r\n        }\r\n\r\n\r\n        window.setTimeout(\r\n          () => {\r\n            index =\r\n              nextIndex;\r\n\r\n            updateUi();\r\n          },\r\n          420\r\n        );\r\n\r\n\r\n        window.setTimeout(\r\n          () => {\r\n\r\n            outgoing.className =\r\n              'zsluxmap__image-layer';\r\n\r\n            incoming.className =\r\n              'zsluxmap__image-layer is-active';\r\n\r\n            outgoingImg.style\r\n              .transformOrigin =\r\n                '50% 50%';\r\n\r\n            incomingImg.style\r\n              .transformOrigin =\r\n                '50% 50%';\r\n\r\n            activeLayer =\r\n              1 - activeLayer;\r\n\r\n            busy =\r\n              false;\r\n\r\n          },\r\n          930\r\n        );\r\n\r\n      };\r\n\r\n\r\n    \/* CONTROLS *\/\r\n\r\n    zoomIn.addEventListener(\r\n      'click',\r\n      () =>\r\n        goTo(index + 1)\r\n    );\r\n\r\n    zoomOut.addEventListener(\r\n      'click',\r\n      () =>\r\n        goTo(index - 1)\r\n    );\r\n\r\n    stepButtons.forEach(\r\n      button => {\r\n        button.addEventListener(\r\n          'click',\r\n          () =>\r\n            goTo(\r\n              Number(\r\n                button.dataset.step\r\n              )\r\n            )\r\n        );\r\n      }\r\n    );\r\n\r\n\r\n    \/* KEYBOARD *\/\r\n\r\n    stage.addEventListener(\r\n      'keydown',\r\n      event => {\r\n\r\n        if (\r\n          event.key === 'ArrowRight' ||\r\n          event.key === '+' ||\r\n          event.key === '='\r\n        ) {\r\n          event.preventDefault();\r\n          goTo(index + 1);\r\n        }\r\n\r\n        if (\r\n          event.key === 'ArrowLeft' ||\r\n          event.key === '-'\r\n        ) {\r\n          event.preventDefault();\r\n          goTo(index - 1);\r\n        }\r\n\r\n      }\r\n    );\r\n\r\n\r\n    \/* SWIPE *\/\r\n\r\n    stage.addEventListener(\r\n      'touchstart',\r\n      event => {\r\n        touchStartX =\r\n          event.touches[0]\r\n            .clientX;\r\n      },\r\n      { passive: true }\r\n    );\r\n\r\n    stage.addEventListener(\r\n      'touchend',\r\n      event => {\r\n\r\n        const delta =\r\n          event.changedTouches[0]\r\n            .clientX -\r\n          touchStartX;\r\n\r\n        if (\r\n          Math.abs(delta) < 45\r\n        ) {\r\n          return;\r\n        }\r\n\r\n        goTo(\r\n          delta < 0\r\n            ? index + 1\r\n            : index - 1\r\n        );\r\n\r\n      },\r\n      { passive: true }\r\n    );\r\n\r\n\r\n    \/* REVEAL *\/\r\n\r\n    const reveal =\r\n      root.querySelectorAll(\r\n        '.zsluxmap__reveal'\r\n      );\r\n\r\n    if (\r\n      !('IntersectionObserver' in window)\r\n    ) {\r\n\r\n      reveal.forEach(\r\n        element =>\r\n          element.classList.add(\r\n            'is-visible'\r\n          )\r\n      );\r\n\r\n    } else {\r\n\r\n      const observer =\r\n        new IntersectionObserver(\r\n          entries => {\r\n\r\n            entries.forEach(\r\n              entry => {\r\n\r\n                if (\r\n                  !entry.isIntersecting\r\n                ) {\r\n                  return;\r\n                }\r\n\r\n                entry.target\r\n                  .classList.add(\r\n                    'is-visible'\r\n                  );\r\n\r\n                observer.unobserve(\r\n                  entry.target\r\n                );\r\n\r\n              }\r\n            );\r\n\r\n          },\r\n          {\r\n            threshold:\r\n              .10,\r\n\r\n            rootMargin:\r\n              '0px 0px -6% 0px'\r\n          }\r\n        );\r\n\r\n      reveal.forEach(\r\n        element =>\r\n          observer.observe(\r\n            element\r\n          )\r\n      );\r\n\r\n    }\r\n\r\n\r\n    updateUi();\r\n\r\n  })();\r\n  <\/script>\r\n\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-72990eb e-con-full e-flex e-con e-parent\" data-id=\"72990eb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-65d8b86 elementor-widget elementor-widget-html\" data-id=\"65d8b86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ZALA SPRINGS MAIN \u2014 INGATLAN BEMUTAT\u00d3 \/ KAPCSOLATTART\u00d3K\r\n     Dynamic source: \/wp-json\/zs\/v1\/contacts\/internal\r\n     JetEngine relations:\r\n       sales     -> assigned_properties\r\n       favorites -> favorite_properties\r\n-->\r\n<section id=\"zs-property-contacts\" class=\"zs-main zscontacts\" aria-labelledby=\"zscontacts-title\">\r\n\r\n  <div class=\"zscontacts__inner\">\r\n\r\n    <header class=\"zscontacts__header zscontacts__reveal\">\r\n      <div class=\"zscontacts__eyebrow\">\r\n        <span><\/span>\r\n        <b>ZALA SPRINGS RESIDENCES<\/b>\r\n        <span><\/span>\r\n      <\/div>\r\n\r\n      <h2 id=\"zscontacts-title\">\r\n        Kapcsolattart\u00f3ink\r\n      <\/h2>\r\n\r\n      <p>\r\n        Szem\u00e9lyes seg\u00edts\u00e9g az ide\u00e1lis Zala Springs ingatlan kiv\u00e1laszt\u00e1s\u00e1hoz.\r\n      <\/p>\r\n    <\/header>\r\n\r\n\r\n    <div class=\"zscontacts__grid\" data-grid aria-live=\"polite\">\r\n      <article class=\"zscontacts__skeleton\" aria-hidden=\"true\">\r\n        <div class=\"zscontacts__skeleton-photo\"><\/div>\r\n        <div class=\"zscontacts__skeleton-body\">\r\n          <span><\/span><span><\/span><span><\/span><span><\/span>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <article class=\"zscontacts__skeleton\" aria-hidden=\"true\">\r\n        <div class=\"zscontacts__skeleton-photo\"><\/div>\r\n        <div class=\"zscontacts__skeleton-body\">\r\n          <span><\/span><span><\/span><span><\/span><span><\/span>\r\n        <\/div>\r\n      <\/article>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <style>\r\n    #zs-property-contacts,\r\n    #zs-property-contacts *,\r\n    #zs-property-contacts *::before,\r\n    #zs-property-contacts *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-property-contacts {\r\n      --gold:\r\n        var(--zs-brand-gold, #c2a22f);\r\n\r\n      --dark:\r\n        var(--zs-brand-midnight, #26352c);\r\n\r\n      --forest:\r\n        var(--zs-brand-forest, #394a40);\r\n\r\n      --surface:\r\n        var(--zs-surface, #fbfaf7);\r\n\r\n      --bg:\r\n        var(--zs-bg, #f5f3ed);\r\n\r\n      --muted:\r\n        var(--zs-text-soft, #68716c);\r\n\r\n      --line:\r\n        var(--zs-line, rgba(38,53,44,.12));\r\n\r\n      width: 100%;\r\n\r\n      padding:\r\n        clamp(92px, 8vw, 140px)\r\n        clamp(20px, 4vw, 64px)\r\n        clamp(96px, 8vw, 140px);\r\n\r\n      overflow: hidden;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          #f6f3ec 0%,\r\n          #fbfaf7 100%\r\n        );\r\n\r\n      color:\r\n        var(--dark);\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-property-contacts * {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-property-contacts a {\r\n      text-decoration: none;\r\n    }\r\n\r\n    #zs-property-contacts[hidden] {\r\n      display: none !important;\r\n    }\r\n\r\n    .zscontacts__inner {\r\n      width:\r\n        min(100%, 1240px);\r\n\r\n      margin:\r\n        0 auto;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       HEADER\r\n       ========================================================= *\/\r\n\r\n    .zscontacts__header {\r\n      width:\r\n        min(100%, 820px);\r\n\r\n      margin:\r\n        0 auto\r\n        clamp(46px, 5vw, 72px);\r\n\r\n      text-align:\r\n        center;\r\n    }\r\n\r\n    .zscontacts__eyebrow {\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      justify-content:\r\n        center;\r\n\r\n      gap:\r\n        13px;\r\n\r\n      margin-bottom:\r\n        15px;\r\n\r\n      color:\r\n        #9f842b;\r\n\r\n      font-size:\r\n        9px;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      letter-spacing:\r\n        .21em;\r\n    }\r\n\r\n    .zscontacts__eyebrow span {\r\n      width:\r\n        48px;\r\n\r\n      height:\r\n        1px;\r\n\r\n      background:\r\n        rgba(194,162,47,.62);\r\n    }\r\n\r\n    .zscontacts__eyebrow b {\r\n      font-weight:\r\n        700;\r\n    }\r\n\r\n    .zscontacts__header h2 {\r\n      margin:\r\n        0 !important;\r\n\r\n      color:\r\n        var(--dark) !important;\r\n\r\n      font-size:\r\n        clamp(43px, 4.6vw, 72px);\r\n\r\n      font-weight:\r\n        400 !important;\r\n\r\n      line-height:\r\n        1.04 !important;\r\n\r\n      letter-spacing:\r\n        -.025em;\r\n    }\r\n\r\n    .zscontacts__header p {\r\n      margin:\r\n        17px auto 0 !important;\r\n\r\n      color:\r\n        var(--muted);\r\n\r\n      font-size:\r\n        clamp(15px, 1.04vw, 18px);\r\n\r\n      line-height:\r\n        1.6;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       GRID\r\n       ========================================================= *\/\r\n\r\n    .zscontacts__grid {\r\n      display:\r\n        grid;\r\n\r\n      grid-template-columns:\r\n        repeat(2, minmax(0, 1fr));\r\n\r\n      gap:\r\n        clamp(22px, 2.4vw, 34px);\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       CARD\r\n       ========================================================= *\/\r\n\r\n    .zscontacts__card {\r\n      position:\r\n        relative;\r\n\r\n      min-width:\r\n        0;\r\n\r\n      display:\r\n        grid;\r\n\r\n      grid-template-columns:\r\n        minmax(220px, .82fr)\r\n        minmax(0, 1.18fr);\r\n\r\n      overflow:\r\n        hidden;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.085);\r\n\r\n      border-radius:\r\n        28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.90);\r\n\r\n      box-shadow:\r\n        0 20px 60px rgba(38,53,44,.06);\r\n\r\n      opacity:\r\n        0;\r\n\r\n      transform:\r\n        translateY(28px);\r\n\r\n      transition:\r\n        opacity .65s ease,\r\n        transform .9s cubic-bezier(.2,.72,.2,1),\r\n        border-color .35s ease,\r\n        box-shadow .35s ease;\r\n    }\r\n\r\n    .zscontacts__card.is-visible {\r\n      opacity:\r\n        1;\r\n\r\n      transform:\r\n        none;\r\n    }\r\n\r\n    .zscontacts__photo {\r\n      position:\r\n        relative;\r\n\r\n      min-height:\r\n        450px;\r\n\r\n      overflow:\r\n        hidden;\r\n\r\n      margin:\r\n        8px;\r\n\r\n      border-radius:\r\n        20px;\r\n\r\n      background:\r\n        #d8ddd8;\r\n\r\n      isolation:\r\n        isolate;\r\n    }\r\n\r\n    .zscontacts__photo img {\r\n      position:\r\n        absolute !important;\r\n\r\n      inset:\r\n        0 !important;\r\n\r\n      display:\r\n        block !important;\r\n\r\n      width:\r\n        100% !important;\r\n\r\n      max-width:\r\n        none !important;\r\n\r\n      height:\r\n        100% !important;\r\n\r\n      object-fit:\r\n        cover !important;\r\n\r\n      object-position:\r\n        center center !important;\r\n\r\n      transform:\r\n        scale(1.015);\r\n\r\n      transition:\r\n        transform .9s\r\n        cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zscontacts__photo::after {\r\n      content:\r\n        \"\";\r\n\r\n      position:\r\n        absolute;\r\n\r\n      inset:\r\n        0;\r\n\r\n      z-index:\r\n        1;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          rgba(17,34,25,.01) 55%,\r\n          rgba(17,34,25,.26) 100%\r\n        );\r\n\r\n      pointer-events:\r\n        none;\r\n    }\r\n\r\n    .zscontacts__photo-mark {\r\n      position:\r\n        absolute;\r\n\r\n      z-index:\r\n        3;\r\n\r\n      left:\r\n        16px;\r\n\r\n      bottom:\r\n        16px;\r\n\r\n      min-height:\r\n        31px;\r\n\r\n      display:\r\n        inline-flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      padding:\r\n        0 11px;\r\n\r\n      border:\r\n        1px solid rgba(255,255,255,.38);\r\n\r\n      border-radius:\r\n        999px;\r\n\r\n      background:\r\n        rgba(255,255,255,.13);\r\n\r\n      color:\r\n        #fff;\r\n\r\n      font-size:\r\n        8px;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      letter-spacing:\r\n        .15em;\r\n\r\n      text-transform:\r\n        uppercase;\r\n\r\n      backdrop-filter:\r\n        blur(11px);\r\n\r\n      -webkit-backdrop-filter:\r\n        blur(11px);\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       BODY\r\n       ========================================================= *\/\r\n\r\n    .zscontacts__body {\r\n      min-width:\r\n        0;\r\n\r\n      display:\r\n        flex;\r\n\r\n      flex-direction:\r\n        column;\r\n\r\n      justify-content:\r\n        center;\r\n\r\n      padding:\r\n        36px 34px 34px 28px;\r\n    }\r\n\r\n    .zscontacts__role {\r\n      display:\r\n        block;\r\n\r\n      margin-bottom:\r\n        10px;\r\n\r\n      color:\r\n        var(--gold);\r\n\r\n      font-size:\r\n        9px;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      letter-spacing:\r\n        .16em;\r\n\r\n      text-transform:\r\n        uppercase;\r\n    }\r\n\r\n    .zscontacts__name {\r\n      margin:\r\n        0 !important;\r\n\r\n      color:\r\n        var(--dark) !important;\r\n\r\n      font-size:\r\n        clamp(33px, 2.5vw, 47px);\r\n\r\n      font-weight:\r\n        400 !important;\r\n\r\n      line-height:\r\n        1.04 !important;\r\n\r\n      letter-spacing:\r\n        -.02em;\r\n    }\r\n\r\n    .zscontacts__line {\r\n      width:\r\n        46px;\r\n\r\n      height:\r\n        1px;\r\n\r\n      margin:\r\n        20px 0 22px;\r\n\r\n      background:\r\n        var(--gold);\r\n    }\r\n\r\n    .zscontacts__contact-list {\r\n      display:\r\n        grid;\r\n\r\n      gap:\r\n        8px;\r\n    }\r\n\r\n    .zscontacts__contact {\r\n      min-width:\r\n        0;\r\n\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      gap:\r\n        9px;\r\n\r\n      color:\r\n        var(--muted) !important;\r\n\r\n      font-size:\r\n        14px;\r\n\r\n      line-height:\r\n        1.45;\r\n\r\n      transition:\r\n        color .25s ease;\r\n    }\r\n\r\n    .zscontacts__contact svg {\r\n      width:\r\n        15px;\r\n\r\n      height:\r\n        15px;\r\n\r\n      flex:\r\n        0 0 15px;\r\n\r\n      fill:\r\n        none;\r\n\r\n      stroke:\r\n        var(--gold);\r\n\r\n      stroke-width:\r\n        1.6;\r\n\r\n      stroke-linecap:\r\n        round;\r\n\r\n      stroke-linejoin:\r\n        round;\r\n    }\r\n\r\n    .zscontacts__contact span {\r\n      min-width:\r\n        0;\r\n\r\n      overflow-wrap:\r\n        anywhere;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       FAVORITES \u2014 JETENGINE RELATION\r\n       ========================================================= *\/\r\n\r\n    .zscontacts__favorites {\r\n      margin-top:\r\n        25px;\r\n\r\n      padding-top:\r\n        20px;\r\n\r\n      border-top:\r\n        1px solid var(--line);\r\n    }\r\n\r\n    .zscontacts__favorites-label {\r\n      display:\r\n        block;\r\n\r\n      margin-bottom:\r\n        10px;\r\n\r\n      color:\r\n        #8a918d;\r\n\r\n      font-size:\r\n        8px;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      letter-spacing:\r\n        .16em;\r\n\r\n      text-transform:\r\n        uppercase;\r\n    }\r\n\r\n    .zscontacts__favorite-list {\r\n      display:\r\n        flex;\r\n\r\n      flex-wrap:\r\n        wrap;\r\n\r\n      gap:\r\n        7px;\r\n    }\r\n\r\n    .zscontacts__favorite {\r\n      min-height:\r\n        33px;\r\n\r\n      display:\r\n        inline-flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      gap:\r\n        7px;\r\n\r\n      padding:\r\n        0 11px;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.25);\r\n\r\n      border-radius:\r\n        999px;\r\n\r\n      background:\r\n        rgba(194,162,47,.06);\r\n\r\n      color:\r\n        var(--dark);\r\n\r\n      font-size:\r\n        10px;\r\n\r\n      font-weight:\r\n        600;\r\n    }\r\n\r\n    .zscontacts__favorite::before {\r\n      content:\r\n        \"\";\r\n\r\n      width:\r\n        5px;\r\n\r\n      height:\r\n        5px;\r\n\r\n      border-radius:\r\n        50%;\r\n\r\n      background:\r\n        var(--gold);\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       SKELETON\r\n       ========================================================= *\/\r\n\r\n    .zscontacts__skeleton {\r\n      min-height:\r\n        470px;\r\n\r\n      display:\r\n        grid;\r\n\r\n      grid-template-columns:\r\n        minmax(220px,.82fr)\r\n        minmax(0,1.18fr);\r\n\r\n      overflow:\r\n        hidden;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.06);\r\n\r\n      border-radius:\r\n        28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.72);\r\n    }\r\n\r\n    .zscontacts__skeleton-photo {\r\n      margin:\r\n        8px;\r\n\r\n      border-radius:\r\n        20px;\r\n\r\n      background:\r\n        linear-gradient(\r\n          100deg,\r\n          #e0e4e0 20%,\r\n          #f3f5f2 38%,\r\n          #e0e4e0 56%\r\n        );\r\n\r\n      background-size:\r\n        240% 100%;\r\n\r\n      animation:\r\n        zscontactsSkeleton 1.4s linear infinite;\r\n    }\r\n\r\n    .zscontacts__skeleton-body {\r\n      display:\r\n        flex;\r\n\r\n      flex-direction:\r\n        column;\r\n\r\n      gap:\r\n        13px;\r\n\r\n      padding:\r\n        50px 32px;\r\n    }\r\n\r\n    .zscontacts__skeleton-body span {\r\n      height:\r\n        11px;\r\n\r\n      border-radius:\r\n        999px;\r\n\r\n      background:\r\n        linear-gradient(\r\n          100deg,\r\n          #e5e8e5 20%,\r\n          #f7f8f6 38%,\r\n          #e5e8e5 56%\r\n        );\r\n\r\n      background-size:\r\n        240% 100%;\r\n\r\n      animation:\r\n        zscontactsSkeleton 1.4s linear infinite;\r\n    }\r\n\r\n    .zscontacts__skeleton-body span:nth-child(1) {\r\n      width:\r\n        34%;\r\n    }\r\n\r\n    .zscontacts__skeleton-body span:nth-child(2) {\r\n      width:\r\n        77%;\r\n\r\n      height:\r\n        31px;\r\n    }\r\n\r\n    .zscontacts__skeleton-body span:nth-child(3) {\r\n      width:\r\n        62%;\r\n    }\r\n\r\n    .zscontacts__skeleton-body span:nth-child(4) {\r\n      width:\r\n        83%;\r\n    }\r\n\r\n    @keyframes zscontactsSkeleton {\r\n      to {\r\n        background-position-x:\r\n          -240%;\r\n      }\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       REVEAL\r\n       ========================================================= *\/\r\n\r\n    .zscontacts__reveal {\r\n      opacity:\r\n        0;\r\n\r\n      transform:\r\n        translateY(26px);\r\n\r\n      transition:\r\n        opacity .75s ease,\r\n        transform .9s\r\n        cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zscontacts__reveal.is-visible {\r\n      opacity:\r\n        1;\r\n\r\n      transform:\r\n        none;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       HOVER\r\n       ========================================================= *\/\r\n\r\n    @media (hover:hover) and (pointer:fine) {\r\n\r\n      .zscontacts__card:hover {\r\n        transform:\r\n          translateY(-6px);\r\n\r\n        border-color:\r\n          rgba(194,162,47,.30);\r\n\r\n        box-shadow:\r\n          0 29px 78px\r\n          rgba(38,53,44,.105);\r\n      }\r\n\r\n      .zscontacts__card:hover\r\n      .zscontacts__photo img {\r\n        transform:\r\n          scale(1.055);\r\n      }\r\n\r\n      .zscontacts__contact:hover {\r\n        color:\r\n          var(--dark) !important;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       BREAKPOINTS\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:1366px) {\r\n\r\n      #zs-property-contacts {\r\n        padding:\r\n          102px 40px 110px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n\r\n      #zs-property-contacts {\r\n        padding:\r\n          94px 30px 102px;\r\n      }\r\n\r\n      .zscontacts__card,\r\n      .zscontacts__skeleton {\r\n        grid-template-columns:\r\n          minmax(200px,.82fr)\r\n          minmax(0,1.18fr);\r\n      }\r\n\r\n      .zscontacts__photo {\r\n        min-height:\r\n          420px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n\r\n      #zs-property-contacts {\r\n        padding:\r\n          84px 22px 94px;\r\n      }\r\n\r\n      .zscontacts__grid {\r\n        grid-template-columns:\r\n          1fr;\r\n      }\r\n\r\n      .zscontacts__card,\r\n      .zscontacts__skeleton {\r\n        width:\r\n          min(100%, 850px);\r\n\r\n        margin:\r\n          0 auto;\r\n\r\n        grid-template-columns:\r\n          minmax(300px,.82fr)\r\n          minmax(0,1.18fr);\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n\r\n      #zs-property-contacts {\r\n        padding:\r\n          76px 18px 86px;\r\n      }\r\n\r\n      .zscontacts__card,\r\n      .zscontacts__skeleton {\r\n        grid-template-columns:\r\n          1fr;\r\n      }\r\n\r\n      .zscontacts__photo {\r\n        min-height:\r\n          520px;\r\n\r\n        aspect-ratio:\r\n          .95 \/ 1;\r\n      }\r\n\r\n      .zscontacts__body {\r\n        padding:\r\n          28px 26px 31px;\r\n      }\r\n\r\n      .zscontacts__skeleton-photo {\r\n        min-height:\r\n          500px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n\r\n      #zs-property-contacts {\r\n        padding:\r\n          68px 12px 76px;\r\n      }\r\n\r\n      .zscontacts__header {\r\n        margin-bottom:\r\n          38px;\r\n      }\r\n\r\n      .zscontacts__eyebrow {\r\n        gap:\r\n          9px;\r\n\r\n        font-size:\r\n          8px;\r\n      }\r\n\r\n      .zscontacts__eyebrow span {\r\n        width:\r\n          28px;\r\n      }\r\n\r\n      .zscontacts__header h2 {\r\n        font-size:\r\n          clamp(38px,10vw,50px);\r\n      }\r\n\r\n      .zscontacts__header p {\r\n        font-size:\r\n          15px;\r\n      }\r\n\r\n      .zscontacts__card,\r\n      .zscontacts__skeleton {\r\n        border-radius:\r\n          20px;\r\n      }\r\n\r\n      .zscontacts__photo {\r\n        min-height:\r\n          440px;\r\n\r\n        margin:\r\n          6px;\r\n\r\n        border-radius:\r\n          14px;\r\n      }\r\n\r\n      .zscontacts__body {\r\n        padding:\r\n          25px 21px 28px;\r\n      }\r\n\r\n      .zscontacts__name {\r\n        font-size:\r\n          clamp(32px,9vw,42px);\r\n      }\r\n\r\n      .zscontacts__skeleton-photo {\r\n        min-height:\r\n          420px;\r\n\r\n        border-radius:\r\n          14px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:480px) {\r\n\r\n      .zscontacts__photo {\r\n        min-height:\r\n          390px;\r\n      }\r\n\r\n      .zscontacts__skeleton-photo {\r\n        min-height:\r\n          370px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n\r\n      #zs-property-contacts *,\r\n      #zs-property-contacts *::before,\r\n      #zs-property-contacts *::after {\r\n        animation:\r\n          none !important;\r\n\r\n        transition:\r\n          none !important;\r\n      }\r\n\r\n      .zscontacts__reveal,\r\n      .zscontacts__card {\r\n        opacity:\r\n          1 !important;\r\n\r\n        transform:\r\n          none !important;\r\n      }\r\n\r\n    }\r\n\r\n  <\/style>\r\n\r\n\r\n  <script>\r\n  (() => {\r\n\r\n    const root =\r\n      document.getElementById(\r\n        'zs-property-contacts'\r\n      );\r\n\r\n    if (\r\n      !root ||\r\n      root.dataset.ready === '1'\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    root.dataset.ready =\r\n      '1';\r\n\r\n\r\n    \/* =========================================================\r\n       HELPERS\r\n       ========================================================= *\/\r\n\r\n    const language =\r\n      (() => {\r\n\r\n        const query =\r\n          new URLSearchParams(\r\n            location.search\r\n          ).get('lang');\r\n\r\n        if (\r\n          query &&\r\n          ['hu','en','de']\r\n            .includes(\r\n              query.toLowerCase()\r\n            )\r\n        ) {\r\n          return query.toLowerCase();\r\n        }\r\n\r\n        const match =\r\n          location.pathname.match(\r\n            \/^\\\/(hu|en|de)(?:\\\/|$)\/i\r\n          );\r\n\r\n        return match\r\n          ? match[1].toLowerCase()\r\n          : 'hu';\r\n\r\n      })();\r\n\r\n\r\n    const clean =\r\n      value =>\r\n        value === null ||\r\n        value === undefined\r\n          ? ''\r\n          : String(value).trim();\r\n\r\n\r\n    const strip =\r\n      value => {\r\n\r\n        const element =\r\n          document.createElement('div');\r\n\r\n        element.innerHTML =\r\n          String(value || '');\r\n\r\n        return (\r\n          element.textContent ||\r\n          ''\r\n        ).trim();\r\n\r\n      };\r\n\r\n\r\n    const escapeHtml =\r\n      value => {\r\n\r\n        const element =\r\n          document.createElement('div');\r\n\r\n        element.textContent =\r\n          String(value || '');\r\n\r\n        return element.innerHTML;\r\n\r\n      };\r\n\r\n\r\n    const safeUrl =\r\n      value => {\r\n\r\n        value =\r\n          clean(value);\r\n\r\n        if (!value) {\r\n          return '';\r\n        }\r\n\r\n        if (\r\n          value.startsWith('\/')\r\n        ) {\r\n          return value;\r\n        }\r\n\r\n        try {\r\n\r\n          const url =\r\n            new URL(\r\n              value,\r\n              location.origin\r\n            );\r\n\r\n          if (\r\n            !\/^https?:$\/\r\n              .test(\r\n                url.protocol\r\n              )\r\n          ) {\r\n            return '';\r\n          }\r\n\r\n          if (\r\n            url.origin ===\r\n            location.origin\r\n          ) {\r\n            return (\r\n              url.pathname +\r\n              url.search +\r\n              url.hash\r\n            );\r\n          }\r\n\r\n          return url.href;\r\n\r\n        }\r\n\r\n        catch(error) {\r\n          return '';\r\n        }\r\n\r\n      };\r\n\r\n\r\n    const restBase =\r\n      () => {\r\n\r\n        const discovery =\r\n          document.querySelector(\r\n            'link[rel=\"https:\/\/api.w.org\/\"]'\r\n          );\r\n\r\n        if (\r\n          discovery &&\r\n          discovery.href\r\n        ) {\r\n          return discovery.href\r\n            .endsWith('\/')\r\n              ? discovery.href\r\n              : discovery.href + '\/';\r\n        }\r\n\r\n        return new URL(\r\n          '\/wp-json\/',\r\n          location.origin\r\n        ).href;\r\n\r\n      };\r\n\r\n\r\n    const endpoint =\r\n      () => {\r\n\r\n        const url =\r\n          new URL(\r\n            'zs\/v1\/contacts\/internal',\r\n            restBase()\r\n          );\r\n\r\n        url.searchParams.set(\r\n          'lang',\r\n          language\r\n        );\r\n\r\n        url.searchParams.set(\r\n          'orderby',\r\n          'sort_order'\r\n        );\r\n\r\n        url.searchParams.set(\r\n          'order',\r\n          'asc'\r\n        );\r\n\r\n        url.searchParams.set(\r\n          'limit',\r\n          '100'\r\n        );\r\n\r\n        url.searchParams.set(\r\n          'url_mode',\r\n          'relative'\r\n        );\r\n\r\n        return url.href;\r\n\r\n      };\r\n\r\n\r\n    \/* =========================================================\r\n       ICONS\r\n       ========================================================= *\/\r\n\r\n    const PHONE =\r\n      '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8 4 5.5 6.5c-.8.8-.4 3.3 2.7 6.4 3.1 3.1 5.6 3.5 6.4 2.7L17 13.2l3 2.3-1 3.3c-.4 1.2-1.7 2-3 1.8-3.6-.5-7.4-2.6-10.4-5.6S.5 8.2 0 4.6C-.2 3.3.6 2 1.8 1.6L5.1.5 8 4Z\"\/><\/svg>';\r\n\r\n    const MAIL =\r\n      '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"1.5\"\/><path d=\"m4 7 8 6 8-6\"\/><\/svg>';\r\n\r\n\r\n    \/* =========================================================\r\n       FAVORITES FROM JETENGINE RELATION\r\n       ========================================================= *\/\r\n\r\n    const favoritesHtml =\r\n      item => {\r\n\r\n        const favorites =\r\n          Array.isArray(\r\n            item.favorite_properties\r\n          )\r\n            ? item.favorite_properties\r\n            : [];\r\n\r\n        if (\r\n          !favorites.length\r\n        ) {\r\n          return '';\r\n        }\r\n\r\n        const values =\r\n          favorites\r\n            .map(\r\n              property => {\r\n\r\n                const code =\r\n                  clean(\r\n                    property.property_code\r\n                  );\r\n\r\n                const title =\r\n                  strip(\r\n                    property.title\r\n                  );\r\n\r\n                return code || title;\r\n\r\n              }\r\n            )\r\n            .filter(Boolean);\r\n\r\n        if (\r\n          !values.length\r\n        ) {\r\n          return '';\r\n        }\r\n\r\n        return (\r\n          '<div class=\"zscontacts__favorites\">' +\r\n            '<span class=\"zscontacts__favorites-label\">Kedvenc lak\u00e1s<\/span>' +\r\n            '<div class=\"zscontacts__favorite-list\">' +\r\n              values\r\n                .map(\r\n                  value =>\r\n                    '<span class=\"zscontacts__favorite\">' +\r\n                      escapeHtml(value) +\r\n                    '<\/span>'\r\n                )\r\n                .join('') +\r\n            '<\/div>' +\r\n          '<\/div>'\r\n        );\r\n\r\n      };\r\n\r\n\r\n    \/* =========================================================\r\n       CARD\r\n       ========================================================= *\/\r\n\r\n    const card =\r\n      item => {\r\n\r\n        const name =\r\n          strip(\r\n            item.name ||\r\n            item.title\r\n          );\r\n\r\n        const job =\r\n          strip(\r\n            item.job_title\r\n          );\r\n\r\n        const phone =\r\n          clean(\r\n            item.phone\r\n          );\r\n\r\n        const email =\r\n          clean(\r\n            item.email\r\n          );\r\n\r\n        const photo =\r\n          safeUrl(\r\n            item.photo_url ||\r\n            (\r\n              item.photo &&\r\n              (\r\n                item.photo.url_path ||\r\n                item.photo.url\r\n              )\r\n            )\r\n          );\r\n\r\n        const phoneHref =\r\n          phone\r\n            ? 'tel:' +\r\n              phone.replace(\r\n                \/[^+\\d]\/g,\r\n                ''\r\n              )\r\n            : '';\r\n\r\n        const emailHref =\r\n          email\r\n            ? 'mailto:' + email\r\n            : '';\r\n\r\n        return (\r\n          '<article class=\"zscontacts__card\" data-card>' +\r\n\r\n            '<div class=\"zscontacts__photo\">' +\r\n\r\n              (\r\n                photo\r\n                  ? '<img src=\"' +\r\n                    escapeHtml(photo) +\r\n                    '\" alt=\"' +\r\n                    escapeHtml(name) +\r\n                    '\" loading=\"lazy\" decoding=\"async\">'\r\n                  : ''\r\n              ) +\r\n\r\n              '<span class=\"zscontacts__photo-mark\">Zala Springs<\/span>' +\r\n\r\n            '<\/div>' +\r\n\r\n            '<div class=\"zscontacts__body\">' +\r\n\r\n              (\r\n                job\r\n                  ? '<span class=\"zscontacts__role\">' +\r\n                    escapeHtml(job) +\r\n                    '<\/span>'\r\n                  : ''\r\n              ) +\r\n\r\n              '<h3 class=\"zscontacts__name\">' +\r\n                escapeHtml(name) +\r\n              '<\/h3>' +\r\n\r\n              '<div class=\"zscontacts__line\"><\/div>' +\r\n\r\n              '<div class=\"zscontacts__contact-list\">' +\r\n\r\n                (\r\n                  phone\r\n                    ? '<a class=\"zscontacts__contact\" href=\"' +\r\n                      escapeHtml(phoneHref) +\r\n                      '\">' +\r\n                        PHONE +\r\n                        '<span>' +\r\n                          escapeHtml(phone) +\r\n                        '<\/span>' +\r\n                      '<\/a>'\r\n                    : ''\r\n                ) +\r\n\r\n                (\r\n                  email\r\n                    ? '<a class=\"zscontacts__contact\" href=\"' +\r\n                      escapeHtml(emailHref) +\r\n                      '\">' +\r\n                        MAIL +\r\n                        '<span>' +\r\n                          escapeHtml(email) +\r\n                        '<\/span>' +\r\n                      '<\/a>'\r\n                    : ''\r\n                ) +\r\n\r\n              '<\/div>' +\r\n\r\n              favoritesHtml(item) +\r\n\r\n            '<\/div>' +\r\n\r\n          '<\/article>'\r\n        );\r\n\r\n      };\r\n\r\n\r\n    \/* =========================================================\r\n       FETCH\r\n       ========================================================= *\/\r\n\r\n    const grid =\r\n      root.querySelector(\r\n        '[data-grid]'\r\n      );\r\n\r\n\r\n    fetch(\r\n      endpoint(),\r\n      {\r\n        credentials:\r\n          'same-origin',\r\n\r\n        cache:\r\n          'no-store',\r\n\r\n        headers: {\r\n          Accept:\r\n            'application\/json'\r\n        }\r\n      }\r\n    )\r\n\r\n    .then(\r\n      response => {\r\n\r\n        if (\r\n          !response.ok\r\n        ) {\r\n          throw new Error(\r\n            'HTTP ' +\r\n            response.status\r\n          );\r\n        }\r\n\r\n        return response.json();\r\n\r\n      }\r\n    )\r\n\r\n    .then(\r\n      payload => {\r\n\r\n        const contacts =\r\n          Array.isArray(payload)\r\n            ? payload\r\n            : (\r\n                payload &&\r\n                Array.isArray(\r\n                  payload.items\r\n                )\r\n                  ? payload.items\r\n                  : []\r\n              );\r\n\r\n\r\n        \/*\r\n         * Property sales contacts:\r\n         * the relation payload comes directly from JetEngine.\r\n         * A contact is relevant here when it has a sales assignment\r\n         * and\/or at least one favorite property. If legacy data has\r\n         * neither relation yet, contacts with real estate-looking\r\n         * job titles are kept as a compatibility fallback.\r\n         *\/\r\n        const filtered =\r\n          contacts\r\n            .filter(\r\n              item => {\r\n\r\n                const assigned =\r\n                  Array.isArray(\r\n                    item.assigned_property_ids\r\n                  )\r\n                    ? item.assigned_property_ids\r\n                    : [];\r\n\r\n                const favorites =\r\n                  Array.isArray(\r\n                    item.favorite_property_ids\r\n                  )\r\n                    ? item.favorite_property_ids\r\n                    : [];\r\n\r\n                if (\r\n                  assigned.length ||\r\n                  favorites.length\r\n                ) {\r\n                  return true;\r\n                }\r\n\r\n                const role =\r\n                  strip(\r\n                    item.job_title\r\n                  )\r\n                  .toLowerCase();\r\n\r\n                return (\r\n                  role.includes('sales') ||\r\n                  role.includes('\u00e9rt\u00e9kes') ||\r\n                  role.includes('real estate') ||\r\n                  role.includes('immobil')\r\n                );\r\n\r\n              }\r\n            )\r\n            .sort(\r\n              (a,b) => {\r\n\r\n                const ao =\r\n                  Number(\r\n                    a.sort_order\r\n                  );\r\n\r\n                const bo =\r\n                  Number(\r\n                    b.sort_order\r\n                  );\r\n\r\n                const safeA =\r\n                  Number.isFinite(ao)\r\n                    ? ao\r\n                    : Number.MAX_SAFE_INTEGER;\r\n\r\n                const safeB =\r\n                  Number.isFinite(bo)\r\n                    ? bo\r\n                    : Number.MAX_SAFE_INTEGER;\r\n\r\n                if (\r\n                  safeA !==\r\n                  safeB\r\n                ) {\r\n                  return safeA - safeB;\r\n                }\r\n\r\n                return (\r\n                  Number(a.id || 0) -\r\n                  Number(b.id || 0)\r\n                );\r\n\r\n              }\r\n            );\r\n\r\n\r\n        \/*\r\n         * No property sales contacts = no section and no whitespace.\r\n         *\/\r\n        if (\r\n          !filtered.length\r\n        ) {\r\n          grid.innerHTML =\r\n            '';\r\n\r\n          root.hidden =\r\n            true;\r\n\r\n          return;\r\n        }\r\n\r\n\r\n        grid.innerHTML =\r\n          filtered\r\n            .map(card)\r\n            .join('');\r\n\r\n\r\n        [\r\n          ...grid.querySelectorAll(\r\n            '[data-card]'\r\n          )\r\n        ]\r\n        .forEach(\r\n          (element,index) => {\r\n\r\n            window.setTimeout(\r\n              () =>\r\n                element.classList.add(\r\n                  'is-visible'\r\n                ),\r\n              70 + index * 90\r\n            );\r\n\r\n          }\r\n        );\r\n\r\n\r\n        initReveal();\r\n\r\n      }\r\n    )\r\n\r\n    .catch(\r\n      error => {\r\n\r\n        console.error(\r\n          '[ZS MAIN] Property contacts error:',\r\n          error\r\n        );\r\n\r\n        grid.innerHTML =\r\n          '';\r\n\r\n        root.hidden =\r\n          true;\r\n\r\n      }\r\n    );\r\n\r\n\r\n    \/* =========================================================\r\n       REVEAL\r\n       ========================================================= *\/\r\n\r\n    function initReveal() {\r\n\r\n      const items =\r\n        root.querySelectorAll(\r\n          '.zscontacts__reveal'\r\n        );\r\n\r\n      if (\r\n        !(\r\n          'IntersectionObserver'\r\n          in window\r\n        )\r\n      ) {\r\n\r\n        items.forEach(\r\n          item =>\r\n            item.classList.add(\r\n              'is-visible'\r\n            )\r\n        );\r\n\r\n        return;\r\n      }\r\n\r\n      const observer =\r\n        new IntersectionObserver(\r\n          entries => {\r\n\r\n            entries.forEach(\r\n              entry => {\r\n\r\n                if (\r\n                  !entry.isIntersecting\r\n                ) {\r\n                  return;\r\n                }\r\n\r\n                entry.target\r\n                  .classList.add(\r\n                    'is-visible'\r\n                  );\r\n\r\n                observer.unobserve(\r\n                  entry.target\r\n                );\r\n\r\n              }\r\n            );\r\n\r\n          },\r\n          {\r\n            threshold:\r\n              .10,\r\n\r\n            rootMargin:\r\n              '0px 0px -5% 0px'\r\n          }\r\n        );\r\n\r\n      items.forEach(\r\n        item =>\r\n          observer.observe(\r\n            item\r\n          )\r\n      );\r\n\r\n    }\r\n\r\n  })();\r\n  <\/script>\r\n\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b3a3af6 e-con-full e-flex e-con e-parent\" data-id=\"b3a3af6\" data-element_type=\"container\" data-e-type=\"container\" id=\"inquiry\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9d1abab elementor-widget elementor-widget-shortcode\" data-id=\"9d1abab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style id=\"zs-managed-form-heading-css\">.zs-managed-form-intro{width:min(100%,960px);margin:0 auto clamp(28px,4vw,46px);text-align:center;color:var(--zs-text,#26312b);font-family:\"Brandon book\",Arial,Helvetica,sans-serif}.zs-managed-form-title{margin:0;color:var(--zs-brand-midnight,#26352c);font-family:\"Brandon book\",Arial,Helvetica,sans-serif!important;font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.08;letter-spacing:-.018em}.zs-managed-form-title::after{content:\"\";display:block;width:58px;height:2px;margin:18px auto 0;border-radius:999px;background:var(--zs-brand-gold,#c2a22f)}.zs-managed-form-lead{max-width:760px;margin:18px auto 0;color:var(--zs-text-soft,#68716c);font-family:\"Brandon book\",Arial,Helvetica,sans-serif!important;font-size:clamp(17px,1.6vw,20px);font-weight:400;line-height:1.65}.zs-managed-form-lead p{margin:0 0 .75em}.zs-managed-form-lead p:last-child{margin-bottom:0}@media(max-width:767px){.zs-managed-form-intro{margin-bottom:28px}.zs-managed-form-title{font-size:clamp(30px,9vw,40px)}.zs-managed-form-lead{font-size:17px;line-height:1.55}}<\/style><link rel=\"stylesheet\" href=\"https:\/\/r3.minicrm.hu\/api\/minicrm.css\"><style id=\"zs-managed-forms-css\">\/*\n * Zala Springs managed forms \u2014 central frontend design\n * MAIN canonical UI aligned version \u2014 alignment refinement.\n * Typography: Brandon book (canonical custom MAIN font)\n * Breakpoints: 1366 \/ 1200 \/ 1024 \/ 880 \/ 767\n *\/\n\n\/* Full-width visual stage around managed forms. *\/\n.zs-managed-form-stage {\n    width: 100%;\n    margin: 0;\n    padding: clamp(48px, 6vw, 88px) clamp(20px, 4vw, 48px);\n    background: var(--zs-bg, #f5f3ed);\n}\n\n.zs-managed-form-stage .zs-managed-form {\n    margin-top: 0;\n    margin-bottom: 0;\n}\n\n.zs-managed-form {\n    --zsf-deep: var(--zs-brand-midnight, #26352c);\n    --zsf-forest: var(--zs-brand-forest, #394a40);\n    --zsf-viridian: var(--zs-brand-viridian, #6b887c);\n    --zsf-gold: var(--zs-brand-gold, #c2a22f);\n    --zsf-gold-soft: var(--zs-gold-100, #f4eed3);\n    --zsf-bg: var(--zs-bg, #f5f3ed);\n    --zsf-surface: var(--zs-surface, #fbfaf7);\n    --zsf-white: var(--zs-surface-2, #ffffff);\n    --zsf-text: var(--zs-text, #26312b);\n    --zsf-muted: var(--zs-text-soft, #68716c);\n    --zsf-line: var(--zs-line, rgba(38, 53, 44, .12));\n    --zsf-line-strong: var(--zs-line-strong, rgba(38, 53, 44, .22));\n    --zsf-danger: var(--zs-danger, #dc4026);\n    --zsf-radius-sm: var(--zs-radius-sm, 12px);\n    --zsf-radius-md: var(--zs-radius-md, 18px);\n    --zsf-radius-lg: var(--zs-radius-lg, 28px);\n    --zsf-pill: var(--zs-radius-pill, 999px);\n    --zsf-shadow: var(--zs-shadow-md, 0 20px 54px rgba(38, 53, 44, .13));\n\n    position: relative;\n    isolation: isolate;\n    width: min(100%, 1080px);\n    margin: clamp(22px, 4vw, 52px) auto;\n    padding: clamp(32px, 4.5vw, 64px);\n    overflow: hidden;\n    border: 1px solid var(--zsf-line);\n    border-radius: var(--zsf-radius-lg);\n    background:\n        radial-gradient(circle at 100% 0%, rgba(194,162,47,.10), transparent 34%),\n        linear-gradient(180deg, var(--zsf-white) 0%, var(--zsf-surface) 100%);\n    color: var(--zsf-text);\n    box-shadow: var(--zsf-shadow);\n    font-family: \"Brandon book\", Arial, Helvetica, sans-serif !important;\n    font-size: 16px;\n    line-height: 1.55;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n}\n\n.zs-managed-form::before {\n    content: \"\";\n    position: absolute;\n    z-index: 2;\n    top: 0;\n    left: clamp(32px, 4.5vw, 64px);\n    width: clamp(72px, 8vw, 118px);\n    height: 3px;\n    border-radius: 0 0 999px 999px;\n    background: var(--zsf-gold);\n}\n\n.zs-managed-form *,\n.zs-managed-form *::before,\n.zs-managed-form *::after {\n    box-sizing: border-box;\n    font-family: \"Brandon book\", Arial, Helvetica, sans-serif !important;\n}\n\n.zs-managed-form .TurnKeyCRM {\n    width: 100% !important;\n    max-width: none !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    color: inherit !important;\n    font-family: \"Brandon book\", Arial, Helvetica, sans-serif !important;\n    box-shadow: none !important;\n}\n\n.zs-managed-form .TurnKeyCRM fieldset {\n    min-width: 0;\n    margin: 0 0 clamp(34px, 4vw, 52px) !important;\n    padding: 0 !important;\n    border: 0 !important;\n    background: transparent !important;\n}\n\n.zs-managed-form .TurnKeyCRM fieldset:last-of-type {\n    margin-bottom: 28px !important;\n}\n\n.zs-managed-form .TurnKeyCRM legend {\n    display: flex !important;\n    align-items: center !important;\n    gap: 14px !important;\n    width: 100% !important;\n    margin: 0 0 26px !important;\n    padding: 0 0 16px !important;\n    border: 0 !important;\n    border-bottom: 1px solid var(--zsf-line) !important;\n    color: var(--zsf-deep) !important;\n    font-size: clamp(24px, 2.2vw, 32px) !important;\n    font-weight: 400 !important;\n    line-height: 1.12 !important;\n    letter-spacing: -.012em !important;\n    text-transform: none !important;\n}\n\n.zs-managed-form .TurnKeyCRM legend::before {\n    content: \"\";\n    flex: 0 0 auto;\n    width: 28px;\n    height: 2px;\n    border-radius: 999px;\n    background: var(--zsf-gold);\n}\n\n.zs-managed-form .TurnKeyCRM .InputBlock {\n    position: relative !important;\n    width: 100% !important;\n    min-width: 0 !important;\n    margin: 0 0 20px !important;\n    padding: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    clear: none !important;\n}\n\n.zs-managed-form .TurnKeyCRM label:not(.SetLabel) {\n    display: block !important;\n    margin: 0 0 9px !important;\n    padding: 0 !important;\n    color: var(--zsf-deep) !important;\n    font-size: 13px !important;\n    font-weight: 500 !important;\n    line-height: 1.25 !important;\n    letter-spacing: .07em !important;\n    text-transform: uppercase !important;\n    width: 100% !important;\n    max-width: none !important;\n    float: none !important;\n    text-align: left !important;\n}\n\n.zs-managed-form .TurnKeyCRM .InputBlock > label:not(.SetLabel) {\n    position: static !important;\n    inset: auto !important;\n    transform: none !important;\n}\n\n.zs-managed-form .TurnKeyCRM label.Required:not(.SetLabel)::after {\n    content: \" *\";\n    color: var(--zsf-gold);\n}\n\n.zs-managed-form .TurnKeyCRM input[type=\"text\"],\n.zs-managed-form .TurnKeyCRM input[type=\"email\"],\n.zs-managed-form .TurnKeyCRM input[type=\"tel\"],\n.zs-managed-form .TurnKeyCRM input[type=\"date\"],\n.zs-managed-form .TurnKeyCRM input[type=\"number\"],\n.zs-managed-form .TurnKeyCRM input[type=\"password\"],\n.zs-managed-form .TurnKeyCRM select,\n.zs-managed-form .TurnKeyCRM textarea {\n    display: block !important;\n    width: 100% !important;\n    max-width: none !important;\n    min-height: 56px !important;\n    margin: 0 !important;\n    padding: 15px 17px !important;\n    border: 1px solid rgba(38,53,44,.18) !important;\n    border-radius: 14px !important;\n    outline: 0 !important;\n    background: rgba(255,255,255,.92) !important;\n    color: var(--zsf-text) !important;\n    font-size: 16px !important;\n    font-weight: 400 !important;\n    line-height: 1.45 !important;\n    letter-spacing: 0 !important;\n    box-shadow: 0 1px 0 rgba(38,53,44,.02) !important;\n    transition:\n        border-color .2s ease,\n        box-shadow .2s ease,\n        background-color .2s ease,\n        transform .2s ease !important;\n}\n\n.zs-managed-form .TurnKeyCRM input[type=\"text\"]:hover,\n.zs-managed-form .TurnKeyCRM input[type=\"email\"]:hover,\n.zs-managed-form .TurnKeyCRM input[type=\"tel\"]:hover,\n.zs-managed-form .TurnKeyCRM input[type=\"date\"]:hover,\n.zs-managed-form .TurnKeyCRM input[type=\"number\"]:hover,\n.zs-managed-form .TurnKeyCRM input[type=\"password\"]:hover,\n.zs-managed-form .TurnKeyCRM select:hover,\n.zs-managed-form .TurnKeyCRM textarea:hover {\n    border-color: rgba(38,53,44,.34) !important;\n    background: #fff !important;\n}\n\n.zs-managed-form .TurnKeyCRM input[type=\"text\"]:focus,\n.zs-managed-form .TurnKeyCRM input[type=\"email\"]:focus,\n.zs-managed-form .TurnKeyCRM input[type=\"tel\"]:focus,\n.zs-managed-form .TurnKeyCRM input[type=\"date\"]:focus,\n.zs-managed-form .TurnKeyCRM input[type=\"number\"]:focus,\n.zs-managed-form .TurnKeyCRM input[type=\"password\"]:focus,\n.zs-managed-form .TurnKeyCRM select:focus,\n.zs-managed-form .TurnKeyCRM textarea:focus {\n    border-color: var(--zsf-forest) !important;\n    background: #fff !important;\n    box-shadow: 0 0 0 4px rgba(57,74,64,.09), 0 10px 26px rgba(38,53,44,.06) !important;\n}\n\n.zs-managed-form .TurnKeyCRM textarea {\n    min-height: 160px !important;\n    resize: vertical !important;\n}\n\n.zs-managed-form .TurnKeyCRM select {\n    appearance: auto !important;\n    cursor: pointer !important;\n}\n\n.zs-managed-form .TurnKeyCRM .Description {\n    margin: 8px 2px 0 !important;\n    color: var(--zsf-muted) !important;\n    font-size: 13px !important;\n    line-height: 1.45 !important;\n}\n\n\/* Checkbox \/ radio groups: keep the group aligned with its own field. *\/\n.zs-managed-form .TurnKeyCRM .InputBlock > div[data-field] {\n    width: 100% !important;\n    max-width: none !important;\n    margin: 0 !important;\n    padding: 2px 0 0 !important;\n    float: none !important;\n    text-align: left !important;\n}\n\n.zs-managed-form .TurnKeyCRM .InputBlock > div[data-field]:not([data-field=\"GDPR_Contribution\"]) {\n    display: flex !important;\n    flex-wrap: wrap !important;\n    align-items: center !important;\n    gap: 10px 18px !important;\n}\n\n.zs-managed-form .TurnKeyCRM .InputBlock > div[data-field]:not([data-field=\"GDPR_Contribution\"]) .SetLabel {\n    width: auto !important;\n    margin: 0 !important;\n}\n\n.zs-managed-form .TurnKeyCRM .InputBlock > div[data-field=\"GDPR_Contribution\"] {\n    display: block !important;\n    padding-top: 0 !important;\n}\n\n.zs-managed-form .TurnKeyCRM .InputBlock > div[data-field=\"GDPR_Contribution\"] .SetLabel {\n    width: 100% !important;\n    margin: 0 !important;\n}\n\n.zs-managed-form .TurnKeyCRM .SetLabel {\n    display: flex !important;\n    align-items: flex-start !important;\n    gap: 12px !important;\n    width: fit-content !important;\n    max-width: 100% !important;\n    margin: 0 0 11px !important;\n    padding: 0 !important;\n    color: var(--zsf-text) !important;\n    font-size: 15px !important;\n    font-weight: 400 !important;\n    line-height: 1.5 !important;\n    letter-spacing: 0 !important;\n    text-transform: none !important;\n    cursor: pointer !important;\n}\n\n.zs-managed-form .TurnKeyCRM .SetLabel input[type=\"checkbox\"],\n.zs-managed-form .TurnKeyCRM .SetLabel input[type=\"radio\"] {\n    appearance: none !important;\n    -webkit-appearance: none !important;\n    position: relative !important;\n    flex: 0 0 auto !important;\n    width: 21px !important;\n    height: 21px !important;\n    margin: 1px 0 0 !important;\n    padding: 0 !important;\n    border: 1px solid rgba(38,53,44,.30) !important;\n    background: #fff !important;\n    box-shadow: none !important;\n    cursor: pointer !important;\n    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;\n}\n\n.zs-managed-form .TurnKeyCRM .SetLabel input[type=\"checkbox\"] {\n    border-radius: 6px !important;\n}\n\n.zs-managed-form .TurnKeyCRM .SetLabel input[type=\"radio\"] {\n    border-radius: 50% !important;\n}\n\n.zs-managed-form .TurnKeyCRM .SetLabel input[type=\"checkbox\"]:checked,\n.zs-managed-form .TurnKeyCRM .SetLabel input[type=\"radio\"]:checked {\n    border-color: var(--zsf-forest) !important;\n    background: var(--zsf-forest) !important;\n}\n\n.zs-managed-form .TurnKeyCRM .SetLabel input[type=\"checkbox\"]:checked::after {\n    content: \"\";\n    position: absolute;\n    left: 6px;\n    top: 3px;\n    width: 6px;\n    height: 11px;\n    border: solid #fff;\n    border-width: 0 2px 2px 0;\n    transform: rotate(45deg);\n}\n\n.zs-managed-form .TurnKeyCRM .SetLabel input[type=\"radio\"]:checked::after {\n    content: \"\";\n    position: absolute;\n    inset: 5px;\n    border-radius: 50%;\n    background: #fff;\n}\n\n.zs-managed-form .TurnKeyCRM .SetLabel input[type=\"checkbox\"]:focus-visible,\n.zs-managed-form .TurnKeyCRM .SetLabel input[type=\"radio\"]:focus-visible {\n    outline: 0 !important;\n    box-shadow: 0 0 0 4px rgba(194,162,47,.20) !important;\n}\n\n.zs-managed-form .TurnKeyCRM .InputBlock:has([data-field=\"GDPR_Contribution\"]) > label:not(.SetLabel) {\n    margin-bottom: 12px !important;\n}\n\n.zs-managed-form .TurnKeyCRM .CheckBoxLabel {\n    white-space: normal !important;\n    overflow: visible !important;\n    text-overflow: clip !important;\n}\n\n.zs-managed-form .TurnKeyCRM .SetLabel a {\n    color: var(--zsf-forest) !important;\n    font-weight: 500 !important;\n    text-decoration: underline !important;\n    text-decoration-color: rgba(57,74,64,.35) !important;\n    text-underline-offset: 3px !important;\n}\n\n.zs-managed-form .TurnKeyCRM br {\n    display: none !important;\n}\n\n.zs-managed-form .TurnKeyCRM .Response {\n    margin: 0 0 22px !important;\n    padding: 16px 18px !important;\n    border: 1px solid var(--zsf-line) !important;\n    border-left: 3px solid var(--zsf-gold) !important;\n    border-radius: 12px !important;\n    background: var(--zsf-gold-soft) !important;\n    color: var(--zsf-deep) !important;\n    font-size: 15px !important;\n    line-height: 1.5 !important;\n}\n\n.zs-managed-form .TurnKeyCRM input[type=\"submit\"] {\n    display: inline-flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    min-width: 210px !important;\n    min-height: 56px !important;\n    margin: 6px 0 0 !important;\n    padding: 0 30px !important;\n    border: 1px solid var(--zsf-forest) !important;\n    border-radius: var(--zsf-pill) !important;\n    background: var(--zsf-forest) !important;\n    color: #fff !important;\n    font-size: 14px !important;\n    font-weight: 500 !important;\n    line-height: 1.15 !important;\n    letter-spacing: .06em !important;\n    text-transform: uppercase !important;\n    cursor: pointer !important;\n    box-shadow: 0 10px 24px rgba(38,53,44,.14) !important;\n    transition:\n        background-color .2s ease,\n        border-color .2s ease,\n        color .2s ease,\n        box-shadow .2s ease,\n        transform .16s ease !important;\n}\n\n.zs-managed-form .TurnKeyCRM input[type=\"submit\"]:hover {\n    border-color: var(--zsf-deep) !important;\n    background: var(--zsf-deep) !important;\n    color: #fff !important;\n    box-shadow: 0 14px 32px rgba(38,53,44,.20) !important;\n    transform: translateY(-2px) !important;\n}\n\n.zs-managed-form .TurnKeyCRM input[type=\"submit\"]:active {\n    transform: translateY(0) scale(.985) !important;\n}\n\n.zs-managed-form .TurnKeyCRM input[type=\"submit\"]:focus-visible {\n    outline: 3px solid rgba(194,162,47,.35) !important;\n    outline-offset: 4px !important;\n}\n\n.zs-managed-form .TurnKeyCRM .Error,\n.zs-managed-form .TurnKeyCRM .error {\n    color: var(--zsf-danger) !important;\n}\n\n.zs-managed-form .pika-single {\n    z-index: 99999 !important;\n    border: 1px solid var(--zsf-line) !important;\n    border-radius: 14px !important;\n    font-family: \"Brandon book\", Arial, Helvetica, sans-serif !important;\n    box-shadow: 0 18px 44px rgba(38,53,44,.18) !important;\n}\n\n\/* Desktop layout *\/\n@media (min-width: 881px) {\n    .zs-managed-form .TurnKeyCRM fieldset {\n        display: grid !important;\n        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\n        column-gap: 24px !important;\n        row-gap: 0 !important;\n    }\n\n    .zs-managed-form .TurnKeyCRM fieldset > legend {\n        grid-column: 1 \/ -1 !important;\n    }\n\n    \/* Only genuinely wide controls span both columns. *\/\n    .zs-managed-form .TurnKeyCRM fieldset > .InputBlock:has(textarea),\n    .zs-managed-form .TurnKeyCRM fieldset > .InputBlock:has(.Description),\n    .zs-managed-form .TurnKeyCRM fieldset > .InputBlock:has([data-field=\"GDPR_Contribution\"]) {\n        grid-column: 1 \/ -1 !important;\n    }\n\n    \/* Ordinary checkbox\/radio groups stay in their natural grid column. *\/\n    .zs-managed-form .TurnKeyCRM fieldset > .InputBlock:has(.SetLabel):not(:has([data-field=\"GDPR_Contribution\"])) {\n        grid-column: auto !important;\n    }\n}\n\n\/* Laptop *\/\n@media (max-width: 1366px) {\n    .zs-managed-form {\n        width: min(100%, 1020px);\n    }\n}\n\n\/* Tablet Landscape *\/\n@media (max-width: 1200px) {\n    .zs-managed-form {\n        width: min(100%, 960px);\n    }\n}\n\n\/* Tablet Portrait *\/\n@media (max-width: 1024px) {\n    .zs-managed-form {\n        border-radius: 24px;\n        box-shadow: 0 16px 42px rgba(38,53,44,.11);\n    }\n}\n\n\/* Mobile Landscape *\/\n@media (max-width: 880px) {\n    .zs-managed-form {\n        padding: clamp(28px, 6vw, 44px);\n    }\n\n    .zs-managed-form::before {\n        left: clamp(28px, 6vw, 44px);\n    }\n\n    .zs-managed-form .TurnKeyCRM fieldset {\n        display: block !important;\n    }\n\n    .zs-managed-form .TurnKeyCRM .InputBlock {\n        margin-bottom: 18px !important;\n    }\n}\n\n\/* Mobile Portrait *\/\n@media (max-width: 767px) {\n    .zs-managed-form {\n        margin: 20px auto;\n        padding: 26px 20px 24px;\n        border-radius: 20px;\n    }\n\n    .zs-managed-form::before {\n        left: 20px;\n        width: 72px;\n    }\n\n    .zs-managed-form .TurnKeyCRM legend {\n        gap: 10px !important;\n        margin-bottom: 22px !important;\n        font-size: clamp(22px, 7vw, 28px) !important;\n    }\n\n    .zs-managed-form .TurnKeyCRM legend::before {\n        width: 22px;\n    }\n\n    .zs-managed-form .TurnKeyCRM input[type=\"text\"],\n    .zs-managed-form .TurnKeyCRM input[type=\"email\"],\n    .zs-managed-form .TurnKeyCRM input[type=\"tel\"],\n    .zs-managed-form .TurnKeyCRM input[type=\"date\"],\n    .zs-managed-form .TurnKeyCRM input[type=\"number\"],\n    .zs-managed-form .TurnKeyCRM input[type=\"password\"],\n    .zs-managed-form .TurnKeyCRM select,\n    .zs-managed-form .TurnKeyCRM textarea {\n        min-height: 54px !important;\n        padding: 14px 15px !important;\n        border-radius: 12px !important;\n        font-size: 16px !important;\n    }\n\n    .zs-managed-form .TurnKeyCRM textarea {\n        min-height: 145px !important;\n    }\n\n    .zs-managed-form .TurnKeyCRM input[type=\"submit\"] {\n        width: 100% !important;\n        min-width: 0 !important;\n    }\n}\n\n@media (prefers-reduced-motion: reduce) {\n    .zs-managed-form *,\n    .zs-managed-form *::before,\n    .zs-managed-form *::after {\n        scroll-behavior: auto !important;\n        transition-duration: .01ms !important;\n        animation-duration: .01ms !important;\n        animation-iteration-count: 1 !important;\n    }\n}\n\n\/* Career \/ application upload controls *\/\n.zs-managed-form .TurnKeyCRM input[type=\"file\"] {\n    display:block !important;\n    width:100% !important;\n    max-width:none !important;\n    min-height:58px !important;\n    margin:0 !important;\n    padding:7px 9px !important;\n    border:1px dashed rgba(38,53,44,.24) !important;\n    border-radius:14px !important;\n    background:rgba(255,255,255,.82) !important;\n    color:var(--zsf-muted) !important;\n    font-size:14px !important;\n    cursor:pointer !important;\n    transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease !important;\n}\n.zs-managed-form .TurnKeyCRM input[type=\"file\"]:hover {\n    border-color:rgba(194,162,47,.7) !important;\n    background:#fff !important;\n}\n.zs-managed-form .TurnKeyCRM input[type=\"file\"]:focus-visible {\n    outline:0 !important;\n    border-color:var(--zsf-gold) !important;\n    box-shadow:0 0 0 4px rgba(194,162,47,.12) !important;\n}\n.zs-managed-form .TurnKeyCRM input[type=\"file\"]::file-selector-button {\n    min-height:42px !important;\n    margin:0 12px 0 0 !important;\n    padding:0 16px !important;\n    border:0 !important;\n    border-radius:10px !important;\n    background:var(--zsf-deep) !important;\n    color:#fff !important;\n    font-family:\"Brandon book\",Arial,Helvetica,sans-serif !important;\n    font-size:13px !important;\n    font-weight:500 !important;\n    cursor:pointer !important;\n}\n<\/style><div class=\"zs-managed-form-stage\" data-zs-form-stage=\"ingatlan-erdeklodes\"><div class=\"zs-managed-form-intro\"><h2 class=\"zs-managed-form-title\">Registration<\/h2><div class=\"zs-managed-form-lead\"><p>Registrieren Sie sich mit dem untenstehenden Formular und unser Verkaufsteam wird Sie \u00fcber die besten Angebote informieren!<\/p>\n<\/div><\/div><div class=\"zs-main zs-managed-form\" data-zs-form=\"ingatlan-erdeklodes\" data-zs-form-lang=\"de\" data-zs-form-source-lang=\"de\" id=\"zs-managed-form-1953-1\"><form formhash=\"48770-2g9e7prdl2072gwc76qu2ak1rkz7y1\" action=\"https:\/\/r3.minicrm.hu\/Api\/Signup\" method=\"post\" class=\"TurnKeyCRM\" id=\"Web\">\r\n    <fieldset>\r\n        <legend>\r\n            Bitte f\u00fcllen Sie das Kontaktformular aus!\r\n        <\/legend>\r\n        <div class=\"InputBlock\">\r\n            <label for=\"Contact_LastName_1511\" class=\"Required\">\r\n                Nachname\r\n            <\/label>\r\n            <input data-field=\"LastName\" data-table=\"Contact\" data-type=\"Person\" name=\"Contact[1511][LastName]\" id=\"Contact_LastName_1511\" language=\"DE\" value type=\"text\" \/>\r\n        <\/div>\r\n        <div class=\"InputBlock\">\r\n            <label for=\"Contact_FirstName_1511\" class=\"Required\">\r\n                Vorname\r\n            <\/label>\r\n            <input data-field=\"FirstName\" data-table=\"Contact\" data-type=\"Person\" name=\"Contact[1511][FirstName]\" id=\"Contact_FirstName_1511\" language=\"DE\" value type=\"text\" \/>\r\n        <\/div>\r\n        <div class=\"InputBlock\">\r\n            <label for=\"Contact_Phone_1511\" class=\"Required\">\r\n                Telefon\r\n            <\/label>\r\n            <input data-field=\"Phone\" data-table=\"Contact\" data-type=\"Person\" name=\"Contact[1511][Phone]\" id=\"Contact_Phone_1511\" language=\"DE\" value type=\"text\" \/>\r\n        <\/div>\r\n        <div class=\"InputBlock\">\r\n            <label for=\"Contact_Email_1511\" class=\"Required\">\r\n                Email\r\n            <\/label>\r\n            <input data-field=\"Email\" data-table=\"Contact\" data-type=\"Person\" name=\"Contact[1511][Email]\" id=\"Contact_Email_1511\" language=\"DE\" value type=\"text\" \/>\r\n        <\/div>\r\n        <div class=\"InputBlock\">\r\n            <label for=\"Project_Text1267_1509\">\r\n                Nachricht\r\n            <\/label>\r\n            <textarea data-field=\"Text1267\" data-table=\"Project\" data-type name=\"Project[1509][Text1267]\" id=\"Project_Text1267_1509\" language=\"DE\" value>\r\n            <\/textarea>\r\n        <\/div>\r\n        <div class=\"InputBlock\">\r\n            <label for=\"Dummy_GDPR_Contribution_\" class=\"Required\">\r\n                Einwilligung zur Datenverarbeitung\r\n            <\/label>\r\n            <div data-field=\"GDPR_Contribution\" data-table=\"Dummy\" data-type id=\"Dummy_GDPR_Contribution_\" language=\"DE\" value>\r\n                <label class=\"SetLabel\">\r\n                    <input id=\"Dummy_GDPR_Contribution__0\" type=\"checkbox\" value=\"1\" name=\"Dummy[][GDPR_Contribution][]\" \/>\r\n                    <span class=\"OverflowEllipsis CheckBoxLabel\">\r\n                        Ich willige in die Verarbeitung meiner Daten im\r\n                        <a href=\"https:\/\/www.minicrm.io\/\" target=\"_blank\">\r\n                            CRM-System\r\n                        <\/a>\r\n                        von Zala Springs Health & Golf Resort ein.\r\n                    <\/span>\r\n                <\/label>\r\n                <br \/>\r\n            <\/div>\r\n        <\/div>\r\n    <\/fieldset>\r\n    <div id=\"Response_48770-2g9e7prdl2072gwc76qu2ak1rkz7y1\" style=\"display: none;\" class=\"Response\">\r\n    <\/div>\r\n    <input id=\"Submit_48770-2g9e7prdl2072gwc76qu2ak1rkz7y1\" type=\"Submit\" value=\"Senden\" \/>\r\n<\/form><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5e1594e e-con-full e-flex e-con e-parent\" data-id=\"5e1594e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fda8a15 elementor-widget elementor-widget-html\" data-id=\"fda8a15\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  ZALA SPRINGS MAIN \u2014 REAL ESTATE \/ FLOATING PRIVATE VIEWING CTA + CALENDLY MODAL\r\n\r\n  Usage:\r\n  - Paste this whole block once into an Elementor HTML widget on any real-estate page.\r\n  - Text language is built in: \/hu\/ -> HU, \/en\/ -> EN, \/de\/ -> DE.\r\n  - No TranslatePress string setup is required for this component.\r\n  - Calendly only loads after the visitor opens the popup for the first time.\r\n\r\n  Calendly source:\r\n  https:\/\/calendly.com\/zalaspringssales\/30min\r\n-->\r\n\r\n<div id=\"zs-viewing-booking\" class=\"zs-main zscal\" data-zscal-root>\r\n  <button\r\n    class=\"zscal-fab\"\r\n    type=\"button\"\r\n    aria-haspopup=\"dialog\"\r\n    aria-controls=\"zscal-dialog\"\r\n    aria-expanded=\"false\"\r\n    data-zscal-open\r\n  >\r\n    <span class=\"zscal-fab__icon\" aria-hidden=\"true\">\r\n      <svg viewBox=\"0 0 24 24\">\r\n        <rect x=\"3.5\" y=\"5.5\" width=\"17\" height=\"15\" rx=\"3\"><\/rect>\r\n        <path d=\"M7.5 3.5v4M16.5 3.5v4M3.5 9.5h17\"><\/path>\r\n        <path d=\"m9 15 2 2 4-4\"><\/path>\r\n      <\/svg>\r\n    <\/span>\r\n\r\n    <span class=\"zscal-fab__copy\">\r\n      <small data-zscal-fab-kicker>LAK\u00c1SBEMUTAT\u00d3<\/small>\r\n      <strong data-zscal-fab-label>Id\u0151pontfoglal\u00e1s<\/strong>\r\n    <\/span>\r\n\r\n    <span class=\"zscal-fab__arrow\" aria-hidden=\"true\">\r\n      <svg viewBox=\"0 0 24 24\">\r\n        <path d=\"M5 12h14M14 7l5 5-5 5\"><\/path>\r\n      <\/svg>\r\n    <\/span>\r\n  <\/button>\r\n\r\n  <div\r\n    class=\"zscal-modal\"\r\n    id=\"zscal-dialog\"\r\n    role=\"dialog\"\r\n    aria-modal=\"true\"\r\n    aria-labelledby=\"zscal-title\"\r\n    aria-describedby=\"zscal-description\"\r\n    aria-hidden=\"true\"\r\n    hidden\r\n    data-zscal-modal\r\n  >\r\n    <div class=\"zscal-modal__backdrop\" data-zscal-backdrop><\/div>\r\n\r\n    <button\r\n      class=\"zscal-modal__close\"\r\n      type=\"button\"\r\n      aria-label=\"Bez\u00e1r\u00e1s\"\r\n      data-zscal-close\r\n    >\r\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n        <path d=\"m6 6 12 12M18 6 6 18\"><\/path>\r\n      <\/svg>\r\n    <\/button>\r\n\r\n    <div class=\"zscal-modal__dialog\" role=\"document\">\r\n      <aside class=\"zscal-modal__intro\">\r\n        <div class=\"zscal-modal__brandline\" aria-hidden=\"true\">\r\n          <span>ZALA SPRINGS<\/span>\r\n          <i><\/i>\r\n          <span>RESIDENCES<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"zscal-modal__eyebrow\">\r\n          <span><\/span>\r\n          <b data-zscal-eyebrow>SZEM\u00c9LYES BEMUTAT\u00d3<\/b>\r\n        <\/div>\r\n\r\n        <h2 id=\"zscal-title\" data-zscal-title>\r\n          Foglaljon id\u0151pontot lak\u00e1sbemutat\u00f3ra!\r\n        <\/h2>\r\n\r\n        <p id=\"zscal-description\" data-zscal-description>\r\n          V\u00e1lassza ki az \u00d6nnek megfelel\u0151 id\u0151pontot, \u00e9s tal\u00e1lkozzunk szem\u00e9lyesen a Zala Springsben.\r\n        <\/p>\r\n\r\n        <div class=\"zscal-modal__note\">\r\n          <span class=\"zscal-modal__note-icon\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 0 24 24\">\r\n              <circle cx=\"12\" cy=\"12\" r=\"8.5\"><\/circle>\r\n              <path d=\"M12 7.5V12l3 2\"><\/path>\r\n            <\/svg>\r\n          <\/span>\r\n          <span data-zscal-note>A foglal\u00e1s n\u00e9h\u00e1ny percet vesz ig\u00e9nybe.<\/span>\r\n        <\/div>\r\n\r\n        <a\r\n          class=\"zscal-modal__fallback-link\"\r\n          href=\"https:\/\/calendly.com\/zalaspringssales\/30min\"\r\n          target=\"_blank\"\r\n          rel=\"noopener noreferrer\"\r\n          data-zscal-fallback-link\r\n        >\r\n          <span data-zscal-fallback-label>Foglal\u00e1s megnyit\u00e1sa \u00faj ablakban<\/span>\r\n          <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n            <path d=\"M7 17 17 7M9 7h8v8\"><\/path>\r\n          <\/svg>\r\n        <\/a>\r\n      <\/aside>\r\n\r\n      <section class=\"zscal-modal__calendar\" aria-label=\"Calendly\">\r\n        <div class=\"zscal-modal__calendar-head\">\r\n          <span data-zscal-calendar-label>V\u00c1LASSZON ID\u0150PONTOT<\/span>\r\n          <i><\/i>\r\n        <\/div>\r\n\r\n        <div class=\"zscal-modal__loading\" data-zscal-loading>\r\n          <span class=\"zscal-modal__loader\" aria-hidden=\"true\"><\/span>\r\n          <p data-zscal-loading-label>Id\u0151pontfoglal\u00f3 bet\u00f6lt\u00e9se\u2026<\/p>\r\n        <\/div>\r\n\r\n        <div class=\"zscal-modal__mount\" data-zscal-mount><\/div>\r\n\r\n        <div class=\"zscal-modal__error\" hidden data-zscal-error>\r\n          <p data-zscal-error-label>\r\n            Az id\u0151pontfoglal\u00f3 most nem t\u00f6lthet\u0151 be.\r\n          <\/p>\r\n          <a\r\n            href=\"https:\/\/calendly.com\/zalaspringssales\/30min\"\r\n            target=\"_blank\"\r\n            rel=\"noopener noreferrer\"\r\n            data-zscal-error-link\r\n          >\r\n            <span data-zscal-error-link-label>Foglal\u00e1s megnyit\u00e1sa<\/span>\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M5 12h14M14 7l5 5-5 5\"><\/path>\r\n            <\/svg>\r\n          <\/a>\r\n        <\/div>\r\n      <\/section>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <style>\r\n    #zs-viewing-booking,\r\n    #zs-viewing-booking *,\r\n    #zs-viewing-booking *::before,\r\n    #zs-viewing-booking *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-viewing-booking {\r\n      --zscal-gold: var(--zs-brand-gold, #c2a22f);\r\n      --zscal-dark: var(--zs-brand-midnight, #26352c);\r\n      --zscal-forest: var(--zs-brand-forest, #394a40);\r\n      --zscal-viridian: var(--zs-brand-viridian, #6b887c);\r\n      --zscal-ivory: var(--zs-surface, #fbfaf7);\r\n      --zscal-soft: var(--zs-bg, #f5f3ed);\r\n      --zscal-text: var(--zs-text, #26312b);\r\n      --zscal-muted: var(--zs-text-soft, #68716c);\r\n\r\n      \/*\r\n       * IMPORTANT:\r\n       * Do not create a stacking context here.\r\n       * The fixed CTA\/modal must participate in the document-level stack.\r\n       *\/\r\n      position: static !important;\r\n      z-index: auto !important;\r\n      overflow: visible !important;\r\n      isolation: auto !important;\r\n      transform: none !important;\r\n      filter: none !important;\r\n\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-viewing-booking *,\r\n    #zs-viewing-booking *::before,\r\n    #zs-viewing-booking *::after {\r\n      font-family:\r\n        \"Brandon book\",\r\n        \"Brandon Grotesque\",\r\n        Arial,\r\n        Helvetica,\r\n        sans-serif !important;\r\n    }\r\n\r\n    #zs-viewing-booking button,\r\n    #zs-viewing-booking a {\r\n      -webkit-tap-highlight-color: transparent;\r\n    }\r\n\r\n    #zs-viewing-booking button {\r\n      font: inherit;\r\n    }\r\n\r\n    \/*\r\n     * Booking is a true full-screen modal. Hide the custom MAIN header while\r\n     * it is open instead of trying to win a z-index race against another\r\n     * fixed viewport component. The WordPress admin bar is not affected.\r\n     *\/\r\n    html.zscal-booking-open [data-zsfh-shell] {\r\n      opacity: 0 !important;\r\n      visibility: hidden !important;\r\n      pointer-events: none !important;\r\n    }\r\n\r\n    body.zsfh-menu-open .zscal-fab,\r\n    html.zscal-booking-open .zscal-fab {\r\n      opacity: 0 !important;\r\n      visibility: hidden !important;\r\n      pointer-events: none !important;\r\n      transform: translateY(12px) scale(.98) !important;\r\n    }\r\n\r\n    .zscal-fab {\r\n      position: fixed !important;\r\n      z-index: 99997 !important;\r\n\r\n      left: max(22px, env(safe-area-inset-left, 0px));\r\n      bottom: max(24px, calc(env(safe-area-inset-bottom, 0px) + 18px));\r\n\r\n      min-height: 68px;\r\n      max-width: min(390px, calc(100vw - 44px));\r\n\r\n      display: grid;\r\n      grid-template-columns: 48px minmax(0, 1fr) 38px;\r\n      align-items: center;\r\n      gap: 13px;\r\n\r\n      padding: 8px 10px 8px 9px;\r\n\r\n      border: 1px solid rgba(194,162,47,.42);\r\n      border-radius: 999px;\r\n\r\n      background:\r\n        linear-gradient(\r\n          135deg,\r\n          rgba(38,53,44,.97),\r\n          rgba(29,45,35,.98)\r\n        );\r\n\r\n      color: #fff;\r\n\r\n      box-shadow:\r\n        0 20px 54px rgba(21,36,27,.24),\r\n        0 5px 18px rgba(21,36,27,.14),\r\n        inset 0 1px 0 rgba(255,255,255,.06);\r\n\r\n      cursor: pointer;\r\n\r\n      visibility: visible !important;\r\n      opacity: 1 !important;\r\n      pointer-events: auto !important;\r\n\r\n      isolation: isolate;\r\n\r\n      transition:\r\n        transform .38s cubic-bezier(.16,.74,.2,1),\r\n        opacity .24s ease,\r\n        box-shadow .25s ease,\r\n        border-color .25s ease;\r\n    }\r\n\r\n    \/*\r\n     * Keep the floating CTA out of the footer\/content area.\r\n     * IntersectionObserver toggles this state shortly before the footer\r\n     * reaches the viewport. It slides fully off-canvas to the left and\r\n     * comes back automatically when scrolling upward.\r\n     *\/\r\n    .zscal-fab.is-footer-away {\r\n      opacity: 0 !important;\r\n      pointer-events: none !important;\r\n      transform:\r\n        translateX(\r\n          calc(-100% - 72px)\r\n        ) !important;\r\n    }\r\n\r\n    .zscal-fab::before {\r\n      content: \"\";\r\n\r\n      position: absolute;\r\n      z-index: -1;\r\n\r\n      inset: -1px;\r\n\r\n      border: 1px solid rgba(194,162,47,.24);\r\n      border-radius: inherit;\r\n\r\n      animation: zscalPulse 3.4s ease-out infinite;\r\n    }\r\n\r\n    .zscal-fab__icon {\r\n      width: 48px;\r\n      height: 48px;\r\n\r\n      display: grid;\r\n      place-items: center;\r\n\r\n      border-radius: 50%;\r\n\r\n      background:\r\n        linear-gradient(\r\n          145deg,\r\n          #d2b44a,\r\n          var(--zscal-gold)\r\n        );\r\n\r\n      color: var(--zscal-dark);\r\n\r\n      box-shadow:\r\n        inset 0 1px 0 rgba(255,255,255,.25);\r\n    }\r\n\r\n    .zscal-fab__icon svg {\r\n      width: 21px;\r\n      height: 21px;\r\n\r\n      fill: none;\r\n      stroke: currentColor;\r\n      stroke-width: 1.55;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n    }\r\n\r\n    .zscal-fab__copy {\r\n      min-width: 0;\r\n\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: flex-start;\r\n\r\n      text-align: left;\r\n    }\r\n\r\n    .zscal-fab__copy small {\r\n      margin-bottom: 2px;\r\n\r\n      color: rgba(255,255,255,.56);\r\n\r\n      font-size: 8px;\r\n      font-weight: 700;\r\n\r\n      line-height: 1.2;\r\n\r\n      letter-spacing: .17em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    .zscal-fab__copy strong {\r\n      color: #fff;\r\n\r\n      font-size: 15px;\r\n      font-weight: 500;\r\n\r\n      line-height: 1.18;\r\n\r\n      white-space: nowrap;\r\n    }\r\n\r\n    .zscal-fab__arrow {\r\n      width: 38px;\r\n      height: 38px;\r\n\r\n      display: grid;\r\n      place-items: center;\r\n\r\n      border: 1px solid rgba(255,255,255,.15);\r\n      border-radius: 50%;\r\n\r\n      color: #e2ce77;\r\n\r\n      transition:\r\n        background .22s ease,\r\n        transform .22s ease;\r\n    }\r\n\r\n    .zscal-fab__arrow svg {\r\n      width: 17px;\r\n      height: 17px;\r\n\r\n      fill: none;\r\n      stroke: currentColor;\r\n      stroke-width: 1.5;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n    }\r\n\r\n    @keyframes zscalPulse {\r\n      0% {\r\n        opacity: .55;\r\n        transform: scale(1);\r\n      }\r\n\r\n      70%,\r\n      100% {\r\n        opacity: 0;\r\n        transform: scale(1.075);\r\n      }\r\n    }\r\n\r\n    .zscal-modal {\r\n      position: fixed !important;\r\n      z-index: 99998 !important;\r\n\r\n      inset: 0;\r\n\r\n      display: grid;\r\n      place-items: center;\r\n\r\n      padding:\r\n        max(24px, env(safe-area-inset-top, 0px))\r\n        max(24px, env(safe-area-inset-right, 0px))\r\n        max(24px, env(safe-area-inset-bottom, 0px))\r\n        max(24px, env(safe-area-inset-left, 0px));\r\n\r\n      opacity: 0;\r\n      visibility: hidden;\r\n      pointer-events: none;\r\n\r\n      transition:\r\n        opacity .26s ease,\r\n        visibility .26s ease;\r\n    }\r\n\r\n    \/*\r\n     * Keep the modal laid out while visually hidden so the preloaded Calendly\r\n     * iframe receives a real desktop\/mobile width and can render correctly.\r\n     *\/\r\n    .zscal-modal[hidden] {\r\n      display: grid !important;\r\n    }\r\n\r\n    .zscal-modal.is-open {\r\n      opacity: 1;\r\n      visibility: visible;\r\n      pointer-events: auto;\r\n    }\r\n\r\n    .zscal-modal__backdrop {\r\n      position: absolute;\r\n\r\n      inset: 0;\r\n\r\n      background:\r\n        rgba(16,29,21,.66);\r\n\r\n      backdrop-filter:\r\n        blur(9px) saturate(92%);\r\n\r\n      -webkit-backdrop-filter:\r\n        blur(9px) saturate(92%);\r\n    }\r\n\r\n    .zscal-modal__dialog {\r\n      position: relative;\r\n      z-index: 2;\r\n\r\n      width:\r\n        min(1280px, calc(100vw - 40px));\r\n\r\n      height:\r\n        min(800px, calc(100dvh - 48px));\r\n\r\n      min-height: 560px;\r\n\r\n      display: grid;\r\n      grid-template-columns:\r\n        minmax(400px, .92fr)\r\n        minmax(0, 1.48fr);\r\n\r\n      overflow: hidden;\r\n\r\n      border:\r\n        1px solid rgba(255,255,255,.72);\r\n\r\n      border-radius: 28px;\r\n\r\n      background:\r\n        var(--zscal-ivory);\r\n\r\n      box-shadow:\r\n        0 34px 100px rgba(14,28,19,.32);\r\n\r\n      opacity: 0;\r\n\r\n      transform:\r\n        translateY(18px)\r\n        scale(.985);\r\n\r\n      transition:\r\n        opacity .35s ease,\r\n        transform .45s cubic-bezier(.16,.74,.2,1);\r\n    }\r\n\r\n    .zscal-modal.is-open\r\n    .zscal-modal__dialog {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n    .zscal-modal__close {\r\n      position: fixed !important;\r\n      z-index: 99998 !important;\r\n\r\n      top: max(24px, env(safe-area-inset-top, 0px));\r\n      right: max(24px, env(safe-area-inset-right, 0px));\r\n\r\n      width: 46px;\r\n      height: 46px;\r\n\r\n      display: grid;\r\n      place-items: center;\r\n\r\n      padding: 0;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.12);\r\n\r\n      border-radius: 50%;\r\n\r\n      background:\r\n        rgba(251,250,247,.94);\r\n\r\n      color:\r\n        var(--zscal-dark);\r\n\r\n      box-shadow:\r\n        0 8px 24px rgba(38,53,44,.08);\r\n\r\n      cursor: pointer;\r\n\r\n      transition:\r\n        transform .22s ease,\r\n        border-color .22s ease,\r\n        background .22s ease;\r\n    }\r\n\r\n    .zscal-modal__close svg {\r\n      width: 18px;\r\n      height: 18px;\r\n\r\n      fill: none;\r\n      stroke: currentColor;\r\n      stroke-width: 1.5;\r\n      stroke-linecap: round;\r\n    }\r\n\r\n    .zscal-modal__intro {\r\n      position: relative;\r\n\r\n      display: flex;\r\n      flex-direction: column;\r\n\r\n      padding:\r\n        clamp(52px,4.4vw,72px)\r\n        clamp(34px,3vw,44px)\r\n        40px;\r\n\r\n      overflow: hidden;\r\n\r\n      background:\r\n        radial-gradient(\r\n          circle at 5% 92%,\r\n          rgba(194,162,47,.12),\r\n          transparent 32%\r\n        ),\r\n        linear-gradient(\r\n          150deg,\r\n          #31443a,\r\n          #203128\r\n        );\r\n\r\n      color: #fff;\r\n    }\r\n\r\n    .zscal-modal__intro::after {\r\n      content: \"\";\r\n\r\n      position: absolute;\r\n\r\n      right: -120px;\r\n      bottom: -120px;\r\n\r\n      width: 310px;\r\n      height: 310px;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.09);\r\n\r\n      border-radius: 50%;\r\n\r\n      pointer-events: none;\r\n    }\r\n\r\n    .zscal-modal__brandline {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n\r\n      margin-bottom:\r\n        clamp(52px,7vh,88px);\r\n\r\n      color:\r\n        rgba(255,255,255,.42);\r\n\r\n      font-size: 8px;\r\n      font-weight: 600;\r\n\r\n      letter-spacing: .19em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    .zscal-modal__brandline i {\r\n      width: 32px;\r\n      height: 1px;\r\n\r\n      background:\r\n        rgba(194,162,47,.75);\r\n    }\r\n\r\n    .zscal-modal__eyebrow {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n\r\n      margin-bottom: 15px;\r\n\r\n      color: #e0cb74;\r\n\r\n      font-size: 9px;\r\n      font-weight: 700;\r\n\r\n      letter-spacing: .18em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    .zscal-modal__eyebrow > span {\r\n      width: 30px;\r\n      height: 1px;\r\n\r\n      background:\r\n        var(--zscal-gold);\r\n    }\r\n\r\n    .zscal-modal__eyebrow b {\r\n      font-weight: 700;\r\n    }\r\n\r\n    .zscal-modal__intro h2 {\r\n      margin: 0 !important;\r\n\r\n      color: #fff !important;\r\n\r\n      max-width: 100%;\r\n\r\n      font-size:\r\n        clamp(36px,2.9vw,50px);\r\n\r\n      font-weight: 400 !important;\r\n\r\n      line-height: 1.08 !important;\r\n\r\n      overflow: visible;\r\n      overflow-wrap: normal;\r\n      word-break: normal;\r\n      hyphens: auto;\r\n\r\n      letter-spacing: -.018em;\r\n\r\n      text-wrap: balance;\r\n    }\r\n\r\n    .zscal-modal__intro > p {\r\n      max-width: 400px;\r\n\r\n      margin:\r\n        24px 0 0;\r\n\r\n      color:\r\n        rgba(255,255,255,.70);\r\n\r\n      font-size: 15px;\r\n\r\n      line-height: 1.62;\r\n    }\r\n\r\n    .zscal-modal__note {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n\r\n      margin-top: 26px;\r\n\r\n      color:\r\n        rgba(255,255,255,.54);\r\n\r\n      font-size: 11px;\r\n\r\n      line-height: 1.4;\r\n    }\r\n\r\n    .zscal-modal__note-icon {\r\n      width: 30px;\r\n      height: 30px;\r\n\r\n      flex: 0 0 30px;\r\n\r\n      display: grid;\r\n      place-items: center;\r\n\r\n      border:\r\n        1px solid rgba(255,255,255,.15);\r\n\r\n      border-radius: 50%;\r\n    }\r\n\r\n    .zscal-modal__note-icon svg {\r\n      width: 15px;\r\n      height: 15px;\r\n\r\n      fill: none;\r\n      stroke: #e0cb74;\r\n      stroke-width: 1.45;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n    }\r\n\r\n    .zscal-modal__fallback-link {\r\n      width: fit-content;\r\n\r\n      display: inline-flex !important;\r\n      align-items: center;\r\n      gap: 9px;\r\n\r\n      margin-top: auto;\r\n      padding-top: 34px;\r\n\r\n      color:\r\n        rgba(255,255,255,.70) !important;\r\n\r\n      font-size: 11px;\r\n      font-weight: 500;\r\n\r\n      text-decoration: none !important;\r\n\r\n      transition:\r\n        color .2s ease;\r\n    }\r\n\r\n    .zscal-modal__fallback-link svg {\r\n      width: 15px;\r\n      height: 15px;\r\n\r\n      fill: none;\r\n      stroke: currentColor;\r\n      stroke-width: 1.45;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n    }\r\n\r\n    .zscal-modal__calendar {\r\n      position: relative;\r\n\r\n      min-width: 0;\r\n\r\n      overflow-x: hidden;\r\n      overflow-y: auto;\r\n      overscroll-behavior: contain;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          #fbfaf7,\r\n          #f6f3ec\r\n        );\r\n    }\r\n\r\n    .zscal-modal__calendar-head {\r\n      position: absolute;\r\n      z-index: 4;\r\n\r\n      top: 25px;\r\n      left: 30px;\r\n\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n\r\n      color:\r\n        #8e7520;\r\n\r\n      font-size: 8px;\r\n      font-weight: 700;\r\n\r\n      letter-spacing: .17em;\r\n      text-transform: uppercase;\r\n\r\n      pointer-events: none;\r\n    }\r\n\r\n    .zscal-modal__calendar-head i {\r\n      width: 28px;\r\n      height: 1px;\r\n\r\n      background:\r\n        var(--zscal-gold);\r\n    }\r\n\r\n    .zscal-modal__mount {\r\n      min-width: 0;\r\n      min-height: 700px;\r\n      width: 100%;\r\n\r\n      padding-top: 12px;\r\n    }\r\n\r\n    .zscal-modal__mount\r\n    .calendly-inline-widget {\r\n      min-width: 320px !important;\r\n      width: 100% !important;\r\n      height: 700px;\r\n      overflow-y: hidden !important;\r\n      transition: height .18s ease;\r\n    }\r\n\r\n    .zscal-modal__mount iframe {\r\n      display: block;\r\n      width: 100% !important;\r\n      min-width: 320px !important;\r\n      min-height: 700px !important;\r\n      border: 0 !important;\r\n    }\r\n\r\n    .zscal-modal__loading,\r\n    .zscal-modal__error {\r\n      position: absolute;\r\n      z-index: 3;\r\n\r\n      inset: 0;\r\n\r\n      display: grid;\r\n      align-content: center;\r\n      justify-items: center;\r\n      gap: 16px;\r\n\r\n      padding: 40px;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          rgba(251,250,247,.98),\r\n          rgba(246,243,236,.98)\r\n        );\r\n\r\n      color:\r\n        var(--zscal-muted);\r\n\r\n      text-align: center;\r\n    }\r\n\r\n    .zscal-modal__loading.is-hidden {\r\n      display: none;\r\n    }\r\n\r\n    .zscal-modal__loader {\r\n      width: 42px;\r\n      height: 42px;\r\n\r\n      border:\r\n        2px solid rgba(38,53,44,.12);\r\n\r\n      border-top-color:\r\n        var(--zscal-gold);\r\n\r\n      border-radius: 50%;\r\n\r\n      animation:\r\n        zscalSpin .8s linear infinite;\r\n    }\r\n\r\n    .zscal-modal__loading p,\r\n    .zscal-modal__error p {\r\n      margin: 0;\r\n\r\n      color:\r\n        var(--zscal-muted);\r\n\r\n      font-size: 14px;\r\n    }\r\n\r\n    .zscal-modal__error[hidden] {\r\n      display: none !important;\r\n    }\r\n\r\n    .zscal-modal__error a {\r\n      min-height: 50px;\r\n\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n\r\n      padding:\r\n        0 20px;\r\n\r\n      border-radius: 999px;\r\n\r\n      background:\r\n        var(--zscal-gold);\r\n\r\n      color:\r\n        var(--zscal-dark) !important;\r\n\r\n      font-size: 13px;\r\n      font-weight: 700;\r\n\r\n      text-decoration: none !important;\r\n    }\r\n\r\n    .zscal-modal__error a svg {\r\n      width: 16px;\r\n      height: 16px;\r\n\r\n      fill: none;\r\n      stroke: currentColor;\r\n      stroke-width: 1.5;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n    }\r\n\r\n    @keyframes zscalSpin {\r\n      to {\r\n        transform: rotate(360deg);\r\n      }\r\n    }\r\n\r\n    @media (hover:hover) and (pointer:fine) {\r\n      .zscal-fab:hover {\r\n        transform:\r\n          translateY(-3px);\r\n\r\n        border-color:\r\n          rgba(194,162,47,.70);\r\n\r\n        box-shadow:\r\n          0 24px 64px rgba(21,36,27,.28),\r\n          0 7px 22px rgba(21,36,27,.16);\r\n      }\r\n\r\n      .zscal-fab:hover\r\n      .zscal-fab__arrow {\r\n        background:\r\n          rgba(194,162,47,.11);\r\n\r\n        transform:\r\n          translateX(3px);\r\n      }\r\n\r\n      .zscal-modal__close:hover {\r\n        transform:\r\n          rotate(4deg);\r\n\r\n        border-color:\r\n          rgba(194,162,47,.34);\r\n\r\n        background:\r\n          #fff;\r\n      }\r\n\r\n      .zscal-modal__fallback-link:hover {\r\n        color:\r\n          #e0cb74 !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1366px) {\r\n      .zscal-modal__dialog {\r\n        width:\r\n          min(1080px, calc(100vw - 44px));\r\n\r\n        grid-template-columns:\r\n          minmax(370px,.88fr)\r\n          minmax(0,1.42fr);\r\n      }\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n      .zscal-modal {\r\n        padding: 20px;\r\n      }\r\n\r\n      .zscal-modal__dialog {\r\n        width:\r\n          min(1000px, calc(100vw - 40px));\r\n\r\n        height:\r\n          min(760px, calc(100dvh - 40px));\r\n\r\n        grid-template-columns:\r\n          minmax(340px,.84fr)\r\n          minmax(0,1.36fr);\r\n      }\r\n\r\n      .zscal-modal__intro {\r\n        padding:\r\n          54px 34px 36px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n      .zscal-modal {\r\n        padding:\r\n          max(16px, env(safe-area-inset-top, 0px))\r\n          max(16px, env(safe-area-inset-right, 0px))\r\n          max(16px, env(safe-area-inset-bottom, 0px))\r\n          max(16px, env(safe-area-inset-left, 0px));\r\n      }\r\n\r\n      .zscal-modal__dialog {\r\n        width: 100%;\r\n        height:\r\n          min(820px, calc(100dvh - 32px));\r\n\r\n        grid-template-columns:\r\n          minmax(320px,.82fr)\r\n          minmax(0,1.18fr);\r\n\r\n        border-radius: 24px;\r\n      }\r\n\r\n      .zscal-modal__intro {\r\n        padding:\r\n          48px 28px 32px;\r\n      }\r\n\r\n      .zscal-modal__brandline {\r\n        margin-bottom: 46px;\r\n      }\r\n\r\n      .zscal-modal__intro h2 {\r\n        font-size:\r\n          clamp(34px,4.7vw,48px);\r\n      }\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n      .zscal-modal {\r\n        align-items: end;\r\n\r\n        padding:\r\n          max(10px, env(safe-area-inset-top, 0px))\r\n          max(10px, env(safe-area-inset-right, 0px))\r\n          max(10px, env(safe-area-inset-bottom, 0px))\r\n          max(10px, env(safe-area-inset-left, 0px));\r\n      }\r\n\r\n      .zscal-modal__dialog {\r\n        height:\r\n          calc(100dvh - 20px);\r\n\r\n        min-height: 0;\r\n\r\n        grid-template-columns: 1fr;\r\n        grid-template-rows: auto minmax(0,1fr);\r\n\r\n        border-radius: 22px;\r\n      }\r\n\r\n      .zscal-modal__intro {\r\n        display: block;\r\n\r\n        padding:\r\n          34px 68px 24px 24px;\r\n      }\r\n\r\n      .zscal-modal__brandline,\r\n      .zscal-modal__note,\r\n      .zscal-modal__fallback-link {\r\n        display: none !important;\r\n      }\r\n\r\n      .zscal-modal__eyebrow {\r\n        margin-bottom: 9px;\r\n\r\n        font-size: 8px;\r\n      }\r\n\r\n      .zscal-modal__intro h2 {\r\n        max-width: 650px;\r\n\r\n        font-size:\r\n          clamp(30px,6vw,42px);\r\n      }\r\n\r\n      .zscal-modal__intro > p {\r\n        max-width: 640px;\r\n\r\n        margin-top: 10px;\r\n\r\n        font-size: 13px;\r\n\r\n        line-height: 1.45;\r\n      }\r\n\r\n      .zscal-modal__calendar {\r\n        min-height: 0;\r\n      }\r\n\r\n      .zscal-modal__calendar-head {\r\n        display: none;\r\n      }\r\n\r\n      .zscal-modal__mount {\r\n        min-height: 690px;\r\n\r\n        padding-top: 0;\r\n      }\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n      .zscal-fab {\r\n        left:\r\n          max(12px, env(safe-area-inset-left, 0px));\r\n\r\n        bottom:\r\n          max(14px, calc(env(safe-area-inset-bottom, 0px) + 10px));\r\n\r\n        min-height: 60px;\r\n        max-width:\r\n          calc(100vw - 24px);\r\n\r\n        grid-template-columns:\r\n          42px minmax(0,1fr) 34px;\r\n\r\n        gap: 10px;\r\n\r\n        padding:\r\n          7px 8px 7px 7px;\r\n      }\r\n\r\n      .zscal-fab__icon {\r\n        width: 42px;\r\n        height: 42px;\r\n      }\r\n\r\n      .zscal-fab__icon svg {\r\n        width: 19px;\r\n        height: 19px;\r\n      }\r\n\r\n      .zscal-fab__copy small {\r\n        font-size: 7px;\r\n      }\r\n\r\n      .zscal-fab__copy strong {\r\n        overflow: hidden;\r\n\r\n        font-size: 13px;\r\n\r\n        text-overflow: ellipsis;\r\n        white-space: nowrap;\r\n      }\r\n\r\n      .zscal-fab__arrow {\r\n        width: 34px;\r\n        height: 34px;\r\n      }\r\n\r\n      .zscal-modal__dialog {\r\n        border-radius: 18px;\r\n      }\r\n\r\n      .zscal-modal__close {\r\n        top: max(14px, env(safe-area-inset-top, 0px));\r\n        right: max(14px, env(safe-area-inset-right, 0px));\r\n\r\n        width: 42px;\r\n        height: 42px;\r\n      }\r\n\r\n      .zscal-modal__intro {\r\n        padding:\r\n          24px 62px 18px 20px;\r\n      }\r\n\r\n      .zscal-modal__eyebrow {\r\n        gap: 7px;\r\n\r\n        margin-bottom: 8px;\r\n\r\n        font-size: 7px;\r\n\r\n        letter-spacing: .14em;\r\n      }\r\n\r\n      .zscal-modal__eyebrow > span {\r\n        width: 20px;\r\n      }\r\n\r\n      .zscal-modal__intro h2 {\r\n        font-size:\r\n          clamp(27px,8vw,36px);\r\n\r\n        line-height:\r\n          1.04 !important;\r\n      }\r\n\r\n      .zscal-modal__intro > p {\r\n        display: none;\r\n      }\r\n\r\n      .zscal-modal__mount {\r\n        min-height: 700px;\r\n      }\r\n\r\n      .zscal-modal__mount\r\n      .calendly-inline-widget,\r\n      .zscal-modal__mount iframe {\r\n        min-height: 700px !important;\r\n        height: 700px;\r\n        overflow-y: hidden !important;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion: reduce) {\r\n      .zscal-fab::before,\r\n      .zscal-modal__loader {\r\n        animation: none !important;\r\n      }\r\n\r\n      .zscal-fab,\r\n      .zscal-modal,\r\n      .zscal-modal__dialog,\r\n      .zscal-modal__close,\r\n      .zscal-fab__arrow {\r\n        transition: none !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <script>\r\n  (() => {\r\n    \"use strict\";\r\n\r\n    const root =\r\n      document.querySelector(\r\n        \"[data-zscal-root]\"\r\n      );\r\n\r\n    if (\r\n      !root ||\r\n      root.dataset.ready === \"1\"\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    root.dataset.ready = \"1\";\r\n\r\n    \/*\r\n     * Elementor containers may use transform\/filter\/overflow and therefore\r\n     * trap or clip position:fixed descendants. Portal the whole component\r\n     * directly under BODY so its fixed positioning and z-index are truly\r\n     * viewport-level on every real-estate page.\r\n     *\/\r\n    if (\r\n      document.body &&\r\n      root.parentElement !== document.body\r\n    ) {\r\n      document.body.appendChild(\r\n        root\r\n      );\r\n    }\r\n\r\n    const openButton =\r\n      root.querySelector(\r\n        \"[data-zscal-open]\"\r\n      );\r\n\r\n    const modal =\r\n      root.querySelector(\r\n        \"[data-zscal-modal]\"\r\n      );\r\n\r\n    const closeButton =\r\n      root.querySelector(\r\n        \"[data-zscal-close]\"\r\n      );\r\n\r\n    const backdrop =\r\n      root.querySelector(\r\n        \"[data-zscal-backdrop]\"\r\n      );\r\n\r\n    const mount =\r\n      root.querySelector(\r\n        \"[data-zscal-mount]\"\r\n      );\r\n\r\n    const loading =\r\n      root.querySelector(\r\n        \"[data-zscal-loading]\"\r\n      );\r\n\r\n    const errorBox =\r\n      root.querySelector(\r\n        \"[data-zscal-error]\"\r\n      );\r\n\r\n    if (\r\n      !openButton ||\r\n      !modal ||\r\n      !closeButton ||\r\n      !mount\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    const CALENDLY_BASE =\r\n      \"https:\/\/calendly.com\/zalaspringssales\/30min\";\r\n\r\n    const CALENDLY_EMBED =\r\n      CALENDLY_BASE +\r\n      \"?hide_event_type_details=1\" +\r\n      \"&hide_gdpr_banner=1\" +\r\n      \"&background_color=fbfaf7\" +\r\n      \"&text_color=26352c\" +\r\n      \"&primary_color=c2a22f\";\r\n\r\n    const translations = {\r\n      hu: {\r\n        fabKicker:\r\n          \"LAK\u00c1SBEMUTAT\u00d3\",\r\n\r\n        fabLabel:\r\n          \"Id\u0151pontfoglal\u00e1s\",\r\n\r\n        eyebrow:\r\n          \"SZEM\u00c9LYES BEMUTAT\u00d3\",\r\n\r\n        title:\r\n          \"Foglaljon id\u0151pontot lak\u00e1sbemutat\u00f3ra!\",\r\n\r\n        description:\r\n          \"V\u00e1lassza ki az \u00d6nnek megfelel\u0151 id\u0151pontot, \u00e9s tal\u00e1lkozzunk szem\u00e9lyesen a Zala Springsben.\",\r\n\r\n        note:\r\n          \"A foglal\u00e1s n\u00e9h\u00e1ny percet vesz ig\u00e9nybe.\",\r\n\r\n        calendar:\r\n          \"V\u00c1LASSZON ID\u0150PONTOT\",\r\n\r\n        loading:\r\n          \"Id\u0151pontfoglal\u00f3 bet\u00f6lt\u00e9se\u2026\",\r\n\r\n        fallback:\r\n          \"Foglal\u00e1s megnyit\u00e1sa \u00faj ablakban\",\r\n\r\n        error:\r\n          \"Az id\u0151pontfoglal\u00f3 most nem t\u00f6lthet\u0151 be.\",\r\n\r\n        errorLink:\r\n          \"Foglal\u00e1s megnyit\u00e1sa\",\r\n\r\n        close:\r\n          \"Bez\u00e1r\u00e1s\"\r\n      },\r\n\r\n      en: {\r\n        fabKicker:\r\n          \"PRIVATE VIEWING\",\r\n\r\n        fabLabel:\r\n          \"Book an appointment\",\r\n\r\n        eyebrow:\r\n          \"PRIVATE APARTMENT VIEWING\",\r\n\r\n        title:\r\n          \"Book an appointment for a private apartment viewing!\",\r\n\r\n        description:\r\n          \"Choose a convenient time and meet our real-estate team personally at Zala Springs.\",\r\n\r\n        note:\r\n          \"Booking only takes a few minutes.\",\r\n\r\n        calendar:\r\n          \"CHOOSE A TIME\",\r\n\r\n        loading:\r\n          \"Loading appointment calendar\u2026\",\r\n\r\n        fallback:\r\n          \"Open booking in a new window\",\r\n\r\n        error:\r\n          \"The appointment calendar cannot be loaded right now.\",\r\n\r\n        errorLink:\r\n          \"Open booking\",\r\n\r\n        close:\r\n          \"Close\"\r\n      },\r\n\r\n      de: {\r\n        fabKicker:\r\n          \"WOHNUNGSBESICHTIGUNG\",\r\n\r\n        fabLabel:\r\n          \"Termin vereinbaren\",\r\n\r\n        eyebrow:\r\n          \"PRIVATE WOHNUNGSBESICHTIGUNG\",\r\n\r\n        title:\r\n          \"Vereinbaren Sie einen Termin f\u00fcr eine private Wohnungsbesichtigung!\",\r\n\r\n        description:\r\n          \"W\u00e4hlen Sie Ihren Wunschtermin und treffen Sie unser Immobilienteam pers\u00f6nlich im Zala Springs.\",\r\n\r\n        note:\r\n          \"Die Terminbuchung dauert nur wenige Minuten.\",\r\n\r\n        calendar:\r\n          \"TERMIN AUSW\u00c4HLEN\",\r\n\r\n        loading:\r\n          \"Terminkalender wird geladen\u2026\",\r\n\r\n        fallback:\r\n          \"Buchung in neuem Fenster \u00f6ffnen\",\r\n\r\n        error:\r\n          \"Der Terminkalender kann derzeit nicht geladen werden.\",\r\n\r\n        errorLink:\r\n          \"Buchung \u00f6ffnen\",\r\n\r\n        close:\r\n          \"Schlie\u00dfen\"\r\n      }\r\n    };\r\n\r\n    const getLanguage = () => {\r\n      const path =\r\n        window.location.pathname\r\n          .toLowerCase();\r\n\r\n      const match =\r\n        path.match(\r\n          \/^\\\/(hu|en|de)(?:\\\/|$)\/\r\n        );\r\n\r\n      if (\r\n        match &&\r\n        translations[match[1]]\r\n      ) {\r\n        return match[1];\r\n      }\r\n\r\n      const htmlLang =\r\n        (\r\n          document.documentElement\r\n            .lang || \"\"\r\n        )\r\n          .slice(0,2)\r\n          .toLowerCase();\r\n\r\n      return translations[htmlLang]\r\n        ? htmlLang\r\n        : \"hu\";\r\n    };\r\n\r\n    const lang =\r\n      getLanguage();\r\n\r\n    const copy =\r\n      translations[lang];\r\n\r\n    const setText =\r\n      (selector, value) => {\r\n        const element =\r\n          root.querySelector(\r\n            selector\r\n          );\r\n\r\n        if (element) {\r\n          element.textContent =\r\n            value;\r\n        }\r\n      };\r\n\r\n    setText(\r\n      \"[data-zscal-fab-kicker]\",\r\n      copy.fabKicker\r\n    );\r\n\r\n    setText(\r\n      \"[data-zscal-fab-label]\",\r\n      copy.fabLabel\r\n    );\r\n\r\n    setText(\r\n      \"[data-zscal-eyebrow]\",\r\n      copy.eyebrow\r\n    );\r\n\r\n    setText(\r\n      \"[data-zscal-title]\",\r\n      copy.title\r\n    );\r\n\r\n    setText(\r\n      \"[data-zscal-description]\",\r\n      copy.description\r\n    );\r\n\r\n    setText(\r\n      \"[data-zscal-note]\",\r\n      copy.note\r\n    );\r\n\r\n    setText(\r\n      \"[data-zscal-calendar-label]\",\r\n      copy.calendar\r\n    );\r\n\r\n    setText(\r\n      \"[data-zscal-loading-label]\",\r\n      copy.loading\r\n    );\r\n\r\n    setText(\r\n      \"[data-zscal-fallback-label]\",\r\n      copy.fallback\r\n    );\r\n\r\n    setText(\r\n      \"[data-zscal-error-label]\",\r\n      copy.error\r\n    );\r\n\r\n    setText(\r\n      \"[data-zscal-error-link-label]\",\r\n      copy.errorLink\r\n    );\r\n\r\n    closeButton.setAttribute(\r\n      \"aria-label\",\r\n      copy.close\r\n    );\r\n\r\n    let calendlyInitialized =\r\n      false;\r\n\r\n    let previousFocus =\r\n      null;\r\n\r\n    let scrollState =\r\n      null;\r\n\r\n    let calendlyHeightHandler =\r\n      null;\r\n\r\n    let preloadStarted =\r\n      false;\r\n\r\n    let footerAvoidanceCleanup =\r\n      null;\r\n\r\n    const loadCalendlyScript =\r\n      () => {\r\n        if (\r\n          window.Calendly &&\r\n          typeof\r\n            window.Calendly\r\n              .initInlineWidget ===\r\n            \"function\"\r\n        ) {\r\n          return Promise.resolve();\r\n        }\r\n\r\n        if (\r\n          window\r\n            .__zsCalendlyScriptPromise\r\n        ) {\r\n          return window\r\n            .__zsCalendlyScriptPromise;\r\n        }\r\n\r\n        window\r\n          .__zsCalendlyScriptPromise =\r\n          new Promise(\r\n            (resolve, reject) => {\r\n              const existing =\r\n                document.querySelector(\r\n                  'script[src*=\"assets.calendly.com\/assets\/external\/widget.js\"]'\r\n                );\r\n\r\n              if (existing) {\r\n                const waitForApi =\r\n                  (attempt = 0) => {\r\n                    if (\r\n                      window.Calendly &&\r\n                      typeof\r\n                        window.Calendly\r\n                          .initInlineWidget ===\r\n                        \"function\"\r\n                    ) {\r\n                      resolve();\r\n                      return;\r\n                    }\r\n\r\n                    if (attempt > 80) {\r\n                      reject(\r\n                        new Error(\r\n                          \"Calendly API timeout\"\r\n                        )\r\n                      );\r\n                      return;\r\n                    }\r\n\r\n                    window.setTimeout(\r\n                      () =>\r\n                        waitForApi(\r\n                          attempt + 1\r\n                        ),\r\n                      50\r\n                    );\r\n                  };\r\n\r\n                waitForApi();\r\n\r\n                return;\r\n              }\r\n\r\n              const script =\r\n                document.createElement(\r\n                  \"script\"\r\n                );\r\n\r\n              script.src =\r\n                \"https:\/\/assets.calendly.com\/assets\/external\/widget.js\";\r\n\r\n              script.async =\r\n                true;\r\n\r\n              script.onload =\r\n                () => {\r\n                  if (\r\n                    window.Calendly &&\r\n                    typeof\r\n                      window.Calendly\r\n                        .initInlineWidget ===\r\n                      \"function\"\r\n                  ) {\r\n                    resolve();\r\n                  } else {\r\n                    reject(\r\n                      new Error(\r\n                        \"Calendly API unavailable\"\r\n                      )\r\n                    );\r\n                  }\r\n                };\r\n\r\n              script.onerror =\r\n                () =>\r\n                  reject(\r\n                    new Error(\r\n                      \"Calendly script failed\"\r\n                    )\r\n                  );\r\n\r\n              document.head\r\n                .appendChild(\r\n                  script\r\n                );\r\n            }\r\n          );\r\n\r\n        return window\r\n          .__zsCalendlyScriptPromise;\r\n      };\r\n\r\n    const installCalendlyHeightListener =\r\n      () => {\r\n        if (calendlyHeightHandler) {\r\n          return;\r\n        }\r\n\r\n        calendlyHeightHandler =\r\n          event => {\r\n            if (\r\n              event.origin !==\r\n                \"https:\/\/calendly.com\" ||\r\n              !event.data ||\r\n              event.data.event !==\r\n                \"calendly.page_height\"\r\n            ) {\r\n              return;\r\n            }\r\n\r\n            const rawHeight =\r\n              event.data.payload &&\r\n              event.data.payload.height;\r\n\r\n            const height =\r\n              parseInt(\r\n                rawHeight,\r\n                10\r\n              );\r\n\r\n            if (\r\n              !Number.isFinite(height) ||\r\n              height < 480 ||\r\n              height > 1600\r\n            ) {\r\n              return;\r\n            }\r\n\r\n            const widget =\r\n              mount.querySelector(\r\n                \".calendly-inline-widget\"\r\n              );\r\n\r\n            const safeHeight =\r\n              Math.min(\r\n                Math.max(\r\n                  height,\r\n                  700\r\n                ),\r\n                1400\r\n              );\r\n\r\n            if (widget) {\r\n              widget.style.height =\r\n                safeHeight + \"px\";\r\n            }\r\n\r\n            const iframe =\r\n              mount.querySelector(\r\n                \"iframe\"\r\n              );\r\n\r\n            if (iframe) {\r\n              iframe.style.height =\r\n                safeHeight + \"px\";\r\n            }\r\n\r\n            mount.style.minHeight =\r\n              safeHeight + \"px\";\r\n          };\r\n\r\n        window.addEventListener(\r\n          \"message\",\r\n          calendlyHeightHandler\r\n        );\r\n      };\r\n\r\n    const initCalendly =\r\n      async () => {\r\n        if (\r\n          calendlyInitialized\r\n        ) {\r\n          return;\r\n        }\r\n\r\n        calendlyInitialized =\r\n          true;\r\n\r\n        if (loading) {\r\n          loading.classList\r\n            .remove(\r\n              \"is-hidden\"\r\n            );\r\n        }\r\n\r\n        if (errorBox) {\r\n          errorBox.hidden =\r\n            true;\r\n        }\r\n\r\n        try {\r\n          await loadCalendlyScript();\r\n\r\n          mount.innerHTML = \"\";\r\n\r\n          installCalendlyHeightListener();\r\n\r\n          window.Calendly\r\n            .initInlineWidget({\r\n              url:\r\n                CALENDLY_EMBED,\r\n\r\n              parentElement:\r\n                mount\r\n            });\r\n\r\n          window.setTimeout(\r\n            () => {\r\n              if (loading) {\r\n                loading.classList\r\n                  .add(\r\n                    \"is-hidden\"\r\n                  );\r\n              }\r\n            },\r\n            350\r\n          );\r\n        } catch (error) {\r\n          calendlyInitialized =\r\n            false;\r\n\r\n          if (loading) {\r\n            loading.classList\r\n              .add(\r\n                \"is-hidden\"\r\n              );\r\n          }\r\n\r\n          if (errorBox) {\r\n            errorBox.hidden =\r\n              false;\r\n          }\r\n        }\r\n      };\r\n\r\n    const lockScroll =\r\n      () => {\r\n        if (scrollState) {\r\n          return;\r\n        }\r\n\r\n        const body =\r\n          document.body;\r\n\r\n        const html =\r\n          document.documentElement;\r\n\r\n        const scrollX =\r\n          window.scrollX ||\r\n          window.pageXOffset ||\r\n          0;\r\n\r\n        const scrollY =\r\n          window.scrollY ||\r\n          window.pageYOffset ||\r\n          0;\r\n\r\n        const scrollbar =\r\n          Math.max(\r\n            0,\r\n            window.innerWidth -\r\n              html.clientWidth\r\n          );\r\n\r\n        const paddingRight =\r\n          parseFloat(\r\n            window\r\n              .getComputedStyle(\r\n                body\r\n              )\r\n              .paddingRight\r\n          ) || 0;\r\n\r\n        scrollState = {\r\n          x: scrollX,\r\n          y: scrollY,\r\n          htmlOverflow:\r\n            html.style.overflow,\r\n          bodyPosition:\r\n            body.style.position,\r\n          bodyTop:\r\n            body.style.top,\r\n          bodyLeft:\r\n            body.style.left,\r\n          bodyRight:\r\n            body.style.right,\r\n          bodyWidth:\r\n            body.style.width,\r\n          bodyOverflow:\r\n            body.style.overflow,\r\n          bodyPaddingRight:\r\n            body.style.paddingRight\r\n        };\r\n\r\n        html.style.overflow =\r\n          \"hidden\";\r\n\r\n        body.style.position =\r\n          \"fixed\";\r\n\r\n        body.style.top =\r\n          (-scrollY) + \"px\";\r\n\r\n        body.style.left =\r\n          (-scrollX) + \"px\";\r\n\r\n        body.style.right =\r\n          \"0\";\r\n\r\n        body.style.width =\r\n          \"100%\";\r\n\r\n        body.style.overflow =\r\n          \"hidden\";\r\n\r\n        if (scrollbar > 0) {\r\n          body.style.paddingRight =\r\n            (paddingRight +\r\n              scrollbar) +\r\n            \"px\";\r\n        }\r\n      };\r\n\r\n    const unlockScroll =\r\n      () => {\r\n        if (!scrollState) {\r\n          return;\r\n        }\r\n\r\n        const state =\r\n          scrollState;\r\n\r\n        scrollState =\r\n          null;\r\n\r\n        const body =\r\n          document.body;\r\n\r\n        const html =\r\n          document.documentElement;\r\n\r\n        html.style.overflow =\r\n          state.htmlOverflow;\r\n\r\n        body.style.position =\r\n          state.bodyPosition;\r\n\r\n        body.style.top =\r\n          state.bodyTop;\r\n\r\n        body.style.left =\r\n          state.bodyLeft;\r\n\r\n        body.style.right =\r\n          state.bodyRight;\r\n\r\n        body.style.width =\r\n          state.bodyWidth;\r\n\r\n        body.style.overflow =\r\n          state.bodyOverflow;\r\n\r\n        body.style.paddingRight =\r\n          state.bodyPaddingRight;\r\n\r\n        window.scrollTo(\r\n          state.x,\r\n          state.y\r\n        );\r\n      };\r\n\r\n    const setupFooterAvoidance =\r\n      () => {\r\n        \/*\r\n         * Elementor can render several footer-like wrappers\/templates.\r\n         * Instead of observing the first matching node, always resolve the\r\n         * lowest visible footer candidate and calculate against its real\r\n         * viewport position.\r\n         *\/\r\n        const getFooter =\r\n          () => {\r\n            const selectors = [\r\n              \".zsmf\",\r\n              \".elementor-location-footer\",\r\n              '[data-elementor-type=\"footer\"]',\r\n              \"footer\"\r\n            ];\r\n\r\n            const nodes =\r\n              Array.from(\r\n                document.querySelectorAll(\r\n                  selectors.join(\",\")\r\n                )\r\n              );\r\n\r\n            const visible =\r\n              nodes.filter(\r\n                node => {\r\n                  const rect =\r\n                    node.getBoundingClientRect();\r\n\r\n                  const style =\r\n                    window.getComputedStyle(\r\n                      node\r\n                    );\r\n\r\n                  return (\r\n                    rect.width > 0 &&\r\n                    rect.height > 0 &&\r\n                    style.display !==\r\n                      \"none\" &&\r\n                    style.visibility !==\r\n                      \"hidden\"\r\n                  );\r\n                }\r\n              );\r\n\r\n            if (!visible.length) {\r\n              return null;\r\n            }\r\n\r\n            visible.sort(\r\n              (a,b) => {\r\n                const aTop =\r\n                  a.getBoundingClientRect()\r\n                    .top +\r\n                  window.scrollY;\r\n\r\n                const bTop =\r\n                  b.getBoundingClientRect()\r\n                    .top +\r\n                  window.scrollY;\r\n\r\n                return bTop - aTop;\r\n              }\r\n            );\r\n\r\n            return visible[0];\r\n          };\r\n\r\n        let ticking =\r\n          false;\r\n\r\n        let lastAway =\r\n          null;\r\n\r\n        const update =\r\n          () => {\r\n            ticking =\r\n              false;\r\n\r\n            const footer =\r\n              getFooter();\r\n\r\n            if (!footer) {\r\n              if (lastAway !== false) {\r\n                openButton.classList\r\n                  .remove(\r\n                    \"is-footer-away\"\r\n                  );\r\n\r\n                lastAway =\r\n                  false;\r\n              }\r\n\r\n              return;\r\n            }\r\n\r\n            const rect =\r\n              footer\r\n                .getBoundingClientRect();\r\n\r\n            \/*\r\n             * Begin sliding out just before the visible footer reaches the\r\n             * bottom of the viewport. Keep it hidden while the footer is on\r\n             * screen. Scrolling upward reverses this automatically.\r\n             *\/\r\n            const shouldHide =\r\n              rect.top <=\r\n                window.innerHeight +\r\n                  140 &&\r\n              rect.bottom >\r\n                -40;\r\n\r\n            if (\r\n              shouldHide ===\r\n              lastAway\r\n            ) {\r\n              return;\r\n            }\r\n\r\n            lastAway =\r\n              shouldHide;\r\n\r\n            openButton.classList\r\n              .toggle(\r\n                \"is-footer-away\",\r\n                shouldHide\r\n              );\r\n          };\r\n\r\n        const requestUpdate =\r\n          () => {\r\n            if (ticking) {\r\n              return;\r\n            }\r\n\r\n            ticking =\r\n              true;\r\n\r\n            window.requestAnimationFrame(\r\n              update\r\n            );\r\n          };\r\n\r\n        window.addEventListener(\r\n          \"scroll\",\r\n          requestUpdate,\r\n          {\r\n            passive:\r\n              true\r\n          }\r\n        );\r\n\r\n        window.addEventListener(\r\n          \"resize\",\r\n          requestUpdate,\r\n          {\r\n            passive:\r\n              true\r\n          }\r\n        );\r\n\r\n        let resizeObserver =\r\n          null;\r\n\r\n        if (\r\n          \"ResizeObserver\" in\r\n          window\r\n        ) {\r\n          resizeObserver =\r\n            new ResizeObserver(\r\n              requestUpdate\r\n            );\r\n\r\n          resizeObserver.observe(\r\n            document.documentElement\r\n          );\r\n        }\r\n\r\n        const mutationObserver =\r\n          new MutationObserver(\r\n            requestUpdate\r\n          );\r\n\r\n        mutationObserver.observe(\r\n          document.body,\r\n          {\r\n            childList:\r\n              true,\r\n            subtree:\r\n              true\r\n          }\r\n        );\r\n\r\n        footerAvoidanceCleanup =\r\n          () => {\r\n            window.removeEventListener(\r\n              \"scroll\",\r\n              requestUpdate\r\n            );\r\n\r\n            window.removeEventListener(\r\n              \"resize\",\r\n              requestUpdate\r\n            );\r\n\r\n            if (resizeObserver) {\r\n              resizeObserver\r\n                .disconnect();\r\n            }\r\n\r\n            mutationObserver\r\n              .disconnect();\r\n          };\r\n\r\n        requestUpdate();\r\n      };\r\n\r\n    const preloadCalendly =\r\n      () => {\r\n        if (preloadStarted) {\r\n          return;\r\n        }\r\n\r\n        preloadStarted =\r\n          true;\r\n\r\n        [\r\n          \"https:\/\/assets.calendly.com\",\r\n          \"https:\/\/calendly.com\"\r\n        ].forEach(\r\n          href => {\r\n            if (\r\n              document.querySelector(\r\n                'link[rel=\"preconnect\"][href=\"' +\r\n                  href +\r\n                '\"]'\r\n              )\r\n            ) {\r\n              return;\r\n            }\r\n\r\n            const link =\r\n              document.createElement(\r\n                \"link\"\r\n              );\r\n\r\n            link.rel =\r\n              \"preconnect\";\r\n\r\n            link.href =\r\n              href;\r\n\r\n            link.crossOrigin =\r\n              \"anonymous\";\r\n\r\n            document.head\r\n              .appendChild(\r\n                link\r\n              );\r\n          }\r\n        );\r\n\r\n        \/*\r\n         * The modal stays visibility:hidden but participates in layout.\r\n         * Initialising here means Calendly has the correct width and is\r\n         * already loaded by the time the visitor clicks the floating CTA.\r\n         *\/\r\n        initCalendly();\r\n      };\r\n\r\n    const openModal =\r\n      () => {\r\n        if (\r\n          modal.classList\r\n            .contains(\r\n              \"is-open\"\r\n            )\r\n        ) {\r\n          return;\r\n        }\r\n\r\n        previousFocus =\r\n          document.activeElement\r\n            instanceof HTMLElement\r\n            ? document.activeElement\r\n            : null;\r\n\r\n        lockScroll();\r\n\r\n        document.documentElement\r\n          .classList.add(\r\n            \"zscal-booking-open\"\r\n          );\r\n\r\n        modal.hidden =\r\n          false;\r\n\r\n        modal.setAttribute(\r\n          \"aria-hidden\",\r\n          \"false\"\r\n        );\r\n\r\n        openButton.setAttribute(\r\n          \"aria-expanded\",\r\n          \"true\"\r\n        );\r\n\r\n        window\r\n          .requestAnimationFrame(\r\n            () =>\r\n              window\r\n                .requestAnimationFrame(\r\n                  () => {\r\n                    modal.classList\r\n                      .add(\r\n                        \"is-open\"\r\n                      );\r\n\r\n                    closeButton.focus({\r\n                      preventScroll:\r\n                        true\r\n                    });\r\n                  }\r\n                )\r\n          );\r\n\r\n        preloadCalendly();\r\n      };\r\n\r\n    const closeModal =\r\n      () => {\r\n        if (\r\n          !modal.classList\r\n            .contains(\r\n              \"is-open\"\r\n            )\r\n        ) {\r\n          return;\r\n        }\r\n\r\n        modal.classList\r\n          .remove(\r\n            \"is-open\"\r\n          );\r\n\r\n        modal.setAttribute(\r\n          \"aria-hidden\",\r\n          \"true\"\r\n        );\r\n\r\n        openButton.setAttribute(\r\n          \"aria-expanded\",\r\n          \"false\"\r\n        );\r\n\r\n        unlockScroll();\r\n\r\n        window.setTimeout(\r\n          () => {\r\n            document.documentElement\r\n              .classList.remove(\r\n                \"zscal-booking-open\"\r\n              );\r\n\r\n            if (\r\n              previousFocus &&\r\n              document.contains(\r\n                previousFocus\r\n              )\r\n            ) {\r\n              try {\r\n                previousFocus.focus({\r\n                  preventScroll:\r\n                    true\r\n                });\r\n              } catch (error) {\r\n                previousFocus.focus();\r\n              }\r\n            }\r\n\r\n            previousFocus =\r\n              null;\r\n          },\r\n          280\r\n        );\r\n      };\r\n\r\n    const getFocusable =\r\n      () =>\r\n        Array.from(\r\n          modal.querySelectorAll(\r\n            'a[href],button:not([disabled]),iframe,[tabindex]:not([tabindex=\"-1\"])'\r\n          )\r\n        )\r\n          .filter(\r\n            element =>\r\n              element\r\n                .getClientRects()\r\n                .length > 0\r\n          );\r\n\r\n    modal.hidden =\r\n      false;\r\n\r\n    setupFooterAvoidance();\r\n\r\n    const schedulePreload =\r\n      () => {\r\n        if (\r\n          \"requestIdleCallback\" in\r\n          window\r\n        ) {\r\n          window.requestIdleCallback(\r\n            preloadCalendly,\r\n            {\r\n              timeout: 1200\r\n            }\r\n          );\r\n        } else {\r\n          window.setTimeout(\r\n            preloadCalendly,\r\n            450\r\n          );\r\n        }\r\n      };\r\n\r\n    if (\r\n      document.readyState ===\r\n      \"complete\"\r\n    ) {\r\n      schedulePreload();\r\n    } else {\r\n      window.addEventListener(\r\n        \"load\",\r\n        schedulePreload,\r\n        {\r\n          once: true\r\n        }\r\n      );\r\n    }\r\n\r\n    openButton\r\n      .addEventListener(\r\n        \"click\",\r\n        openModal\r\n      );\r\n\r\n    closeButton\r\n      .addEventListener(\r\n        \"click\",\r\n        closeModal\r\n      );\r\n\r\n    if (backdrop) {\r\n      backdrop.addEventListener(\r\n        \"click\",\r\n        closeModal\r\n      );\r\n    }\r\n\r\n    document\r\n      .addEventListener(\r\n        \"keydown\",\r\n        event => {\r\n          if (\r\n            !modal.classList\r\n              .contains(\r\n                \"is-open\"\r\n              )\r\n          ) {\r\n            return;\r\n          }\r\n\r\n          if (\r\n            event.key ===\r\n            \"Escape\"\r\n          ) {\r\n            event.preventDefault();\r\n\r\n            closeModal();\r\n\r\n            return;\r\n          }\r\n\r\n          if (\r\n            event.key !==\r\n            \"Tab\"\r\n          ) {\r\n            return;\r\n          }\r\n\r\n          const focusable =\r\n            getFocusable();\r\n\r\n          if (!focusable.length) {\r\n            return;\r\n          }\r\n\r\n          const first =\r\n            focusable[0];\r\n\r\n          const last =\r\n            focusable[\r\n              focusable.length -\r\n              1\r\n            ];\r\n\r\n          if (\r\n            event.shiftKey &&\r\n            document.activeElement ===\r\n              first\r\n          ) {\r\n            event.preventDefault();\r\n\r\n            last.focus();\r\n\r\n            return;\r\n          }\r\n\r\n          if (\r\n            !event.shiftKey &&\r\n            document.activeElement ===\r\n              last\r\n          ) {\r\n            event.preventDefault();\r\n\r\n            first.focus();\r\n          }\r\n        }\r\n      );\r\n\r\n    window.addEventListener(\r\n      \"pagehide\",\r\n      () => {\r\n        unlockScroll();\r\n\r\n        document.documentElement\r\n          .classList.remove(\r\n            \"zscal-booking-open\"\r\n          );\r\n\r\n        if (\r\n          typeof\r\n            footerAvoidanceCleanup ===\r\n            \"function\"\r\n        ) {\r\n          footerAvoidanceCleanup();\r\n\r\n          footerAvoidanceCleanup =\r\n            null;\r\n        }\r\n\r\n        if (\r\n          calendlyHeightHandler\r\n        ) {\r\n          window.removeEventListener(\r\n            \"message\",\r\n            calendlyHeightHandler\r\n          );\r\n\r\n          calendlyHeightHandler =\r\n            null;\r\n        }\r\n      }\r\n    );\r\n  })();\r\n  <\/script>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>ZALA SPRINGS INGATLAN EXKLUZ\u00cdV OTTHONOK A ZALA SPRINGSBEN Luxus vill\u00e1k Regisztr\u00e1ljon a legjobb aj\u00e1nlatok\u00e9rt! Felfedez\u00e9s LUXUS VILL\u00c1K LUXUS VILL\u00c1K Zala Springs Residences ZALA SPRINGS RESIDENCES Luxus villaparkunk kivitelez\u00e9se hamarosan kezdet\u00e9t veszi Az els\u0151 f\u00e1zisban 6 telek k\u00f6z\u00fcl v\u00e1laszthatja ki az \u00d6n sz\u00e1m\u00e1ra legide\u00e1lisabbat. Ha \u00d6n sem szeretne lemaradni a legjobb t\u00f3parti telkekr\u0151l, akkor vegye fel [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-449","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/pages\/449","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/comments?post=449"}],"version-history":[{"count":19,"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/pages\/449\/revisions"}],"predecessor-version":[{"id":2750,"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/pages\/449\/revisions\/2750"}],"wp:attachment":[{"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/media?parent=449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}