{"id":441,"date":"2026-09-08T16:33:37","date_gmt":"2026-09-08T14:33:37","guid":{"rendered":"https:\/\/zalasprings.hu\/?page_id=441"},"modified":"2026-10-12T11:32:31","modified_gmt":"2026-10-12T09:32:31","slug":"immobilienkauf","status":"publish","type":"page","link":"https:\/\/zalasprings.hu\/de\/ingatlan-bemutato\/","title":{"rendered":"Ingatlan bemutat\u00f3"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"441\" class=\"elementor elementor-441\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-438db23 e-con-full e-flex e-con e-parent\" data-id=\"438db23\" 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-5be5d02 elementor-widget elementor-widget-html\" data-id=\"5be5d02\" 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-property-presentation-hero\" class=\"zs-main zspphero\" aria-labelledby=\"zspphero-title\">\r\n  <div class=\"zspphero__shell\">\r\n    <div class=\"zspphero__media\" aria-hidden=\"true\">\r\n      <img\r\n        src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-header.jpg\"\r\n        alt=\"\"\r\n        fetchpriority=\"high\"\r\n        decoding=\"async\"\r\n      >\r\n    <\/div>\r\n\r\n    <div class=\"zspphero__overlay\" aria-hidden=\"true\"><\/div>\r\n    <div class=\"zspphero__glow\" aria-hidden=\"true\"><\/div>\r\n\r\n    <div class=\"zspphero__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=\"zspphero__content\">\r\n      <div class=\"zspphero__eyebrow\">\r\n        <span><\/span>\r\n        <b>PR\u00c9MIUM \u00c9LET\u00c9RZ\u00c9S<\/b>\r\n      <\/div>\r\n\r\n      <h1 id=\"zspphero-title\">\r\n        Otthon \u00e9s befektet\u00e9s\r\n      <\/h1>\r\n\r\n      <a\r\n        class=\"zspphero__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=\"zspphero__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=\"zspphero__bottom\" aria-hidden=\"true\">\r\n      <div class=\"zspphero__scroll-label\">\r\n        <span>Felfedez\u00e9s<\/span>\r\n        <i><b><\/b><\/i>\r\n      <\/div>\r\n\r\n      <div class=\"zspphero__signature\">\r\n        ZALA SPRINGS RESIDENCES\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <style>\r\n    #zs-property-presentation-hero,\r\n    #zs-property-presentation-hero *,\r\n    #zs-property-presentation-hero *::before,\r\n    #zs-property-presentation-hero *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-property-presentation-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-property-presentation-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-property-presentation-hero a {\r\n      text-decoration: none;\r\n    }\r\n\r\n    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__eyebrow > span {\r\n      width: 34px;\r\n      height: 1px;\r\n\r\n      background: var(--gold);\r\n    }\r\n\r\n    .zspphero__eyebrow b {\r\n      font-weight: 700;\r\n    }\r\n\r\n    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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    .zspphero__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-property-presentation-hero.is-entered\r\n    .zspphero__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-property-presentation-hero.is-entered\r\n    .zspphero__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-property-presentation-hero.is-entered\r\n    .zspphero__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-property-presentation-hero.is-entered\r\n    .zspphero__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-property-presentation-hero.is-entered\r\n    .zspphero__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      .zspphero__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      .zspphero__cta:hover\r\n      .zspphero__cta-icon {\r\n        background:\r\n          rgba(38,53,44,.15);\r\n      }\r\n\r\n      .zspphero__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-property-presentation-hero {\r\n        --frame: 22px;\r\n        --radius: 28px;\r\n\r\n        min-height: 600px;\r\n      }\r\n\r\n      .zspphero__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-property-presentation-hero {\r\n        --frame: 18px;\r\n        --radius: 24px;\r\n      }\r\n\r\n      .zspphero__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-property-presentation-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      .zspphero__content {\r\n        left: 50px;\r\n\r\n        width:\r\n          min(760px, 80vw);\r\n      }\r\n\r\n      .zspphero__topline {\r\n        left: 50px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n\r\n      #zs-property-presentation-hero {\r\n        --frame: 12px;\r\n        --radius: 19px;\r\n\r\n        min-height: 650px;\r\n      }\r\n\r\n      .zspphero__content {\r\n        right: 34px;\r\n        left: 34px;\r\n\r\n        width: auto;\r\n      }\r\n\r\n      .zspphero__topline {\r\n        left: 34px;\r\n      }\r\n\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n\r\n      #zs-property-presentation-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      .zspphero__media img {\r\n        object-position:\r\n          58% center;\r\n      }\r\n\r\n      .zspphero__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      .zspphero__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      .zspphero__topline i {\r\n        width: 26px;\r\n      }\r\n\r\n      .zspphero__content {\r\n        right: 22px;\r\n        bottom: 68px;\r\n        left: 22px;\r\n      }\r\n\r\n      .zspphero__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      .zspphero__content h1 {\r\n        font-size:\r\n          clamp(44px, 12vw, 62px);\r\n      }\r\n\r\n      .zspphero__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      .zspphero__cta-icon {\r\n        width: 42px;\r\n        height: 42px;\r\n\r\n        flex-basis: 42px;\r\n      }\r\n\r\n      .zspphero__bottom {\r\n        right: 20px;\r\n        bottom: 20px;\r\n        left: 20px;\r\n      }\r\n\r\n      .zspphero__signature {\r\n        display: none;\r\n      }\r\n\r\n      .zspphero__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-property-presentation-hero *,\r\n      #zs-property-presentation-hero *::before,\r\n      #zs-property-presentation-hero *::after {\r\n        animation: none !important;\r\n        transition: none !important;\r\n      }\r\n\r\n      .zspphero__topline,\r\n      .zspphero__eyebrow,\r\n      .zspphero__content h1,\r\n      .zspphero__cta,\r\n      .zspphero__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-property-presentation-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-e76b728 e-con-full e-flex e-con e-parent\" data-id=\"e76b728\" 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-d3f08c2 elementor-widget elementor-widget-shortcode\" data-id=\"d3f08c2\" 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>.zs-content-block,.zs-content-block *,.zs-content-block *::before,.zs-content-block *::after{box-sizing:border-box}.zs-content-block{--gold:#c2a22f;--goldDark:#9f842c;--dark:#26352c;--forest:#394a40;--muted:#707974;--ivory:#fbfaf6;--cream:#f4f0e7;--white:#fff;--radius:28px;--media-ratio:4\/3;width:100%;position:relative;color:var(--dark);font-family:\"Brandon book\",Arial,Helvetica,sans-serif!important}.zs-content-block *{font-family:\"Brandon book\",Arial,Helvetica,sans-serif!important}.zs-content-block--theme-light{background:#fff}.zs-content-block--theme-cream{background:linear-gradient(180deg,#fbfaf6 0%,#f5f0e6 100%)}.zs-content-block--theme-dark{background:#26352c;color:#fff}.zs-content-block--spacing-tight{padding:24px clamp(18px,4vw,70px)}.zs-content-block--spacing-compact{padding:50px clamp(18px,4.5vw,78px)}.zs-content-block--spacing-normal{padding:82px clamp(18px,5vw,86px)}.zs-content-block--spacing-large{padding:120px clamp(18px,5vw,86px)}.zs-content-block--promo_strip.zs-content-block--spacing-tight{padding-block:10px}.zs-content-block--promo_strip.zs-content-block--spacing-compact{padding-block:20px}.zs-content-block--promo_strip.zs-content-block--spacing-normal{padding-block:34px}.zs-content-block--promo_strip.zs-content-block--spacing-large{padding-block:52px}.zs-content-block--width-full .zscb__inner{max-width:none}.zs-content-block--width-wide .zscb__inner{max-width:1480px}.zs-content-block--width-content .zscb__inner{max-width:1180px}.zs-content-block--width-narrow .zscb__inner{max-width:900px}.zscb__inner{width:100%;margin:0 auto}.zs-content-block--radius-none{--radius:0}.zs-content-block--radius-medium{--radius:16px}.zs-content-block--radius-large{--radius:28px}.zs-content-block--ratio-auto{--media-ratio:auto}.zs-content-block--ratio-wide{--media-ratio:16\/9}.zs-content-block--ratio-landscape{--media-ratio:4\/3}.zs-content-block--ratio-square{--media-ratio:1\/1}.zs-content-block--ratio-portrait{--media-ratio:4\/5}.zscb__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:var(--goldDark);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.zs-content-block--theme-dark .zscb__eyebrow{color:#dbc96e}.zscb__eyebrow span{width:40px;height:1px;background:var(--gold)}.zscb__title{margin:0;color:inherit;font-size:clamp(40px,4.4vw,76px);font-weight:400;line-height:1.04}.zs-content-block--title-compact .zscb__title{font-size:clamp(28px,2.8vw,48px)}.zs-content-block--title-display .zscb__title{font-size:clamp(52px,6vw,100px)}.zscb__rich{color:var(--muted);font-size:clamp(15px,1.1vw,19px);line-height:1.65}.zs-content-block--theme-dark .zscb__rich{color:rgba(255,255,255,.72)}.zscb__rich>*:first-child{margin-top:0}.zscb__rich>*:last-child{margin-bottom:0}.zscb__cta{display:inline-flex;align-items:center;gap:12px;margin-top:24px;color:inherit;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.045em;text-transform:uppercase;transition:.2s ease}.zscb__cta i{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(38,53,44,.18);border-radius:50%;font-style:normal;transition:.2s ease}.zs-content-block--theme-dark .zscb__cta i{border-color:rgba(255,255,255,.25)}.zs-content-block--cta-link .zscb__cta:hover i{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateX(3px)}.zs-content-block--cta-outline .zscb__cta,.zs-content-block--cta-solid .zscb__cta{padding:12px 16px;border-radius:999px}.zs-content-block--cta-outline .zscb__cta{border:1px solid currentColor}.zs-content-block--cta-solid .zscb__cta{background:var(--dark);color:#fff}.zs-content-block--theme-dark.zs-content-block--cta-solid .zscb__cta{background:var(--gold);color:var(--dark)}.zs-content-block--cta-outline .zscb__cta i,.zs-content-block--cta-solid .zscb__cta i{width:auto;height:auto;border:0}.zs-content-block--align-center .zscb__eyebrow{justify-content:center}.zs-content-block--align-center .zscb-editorial,.zs-content-block--align-center .zscb-image-text__copy,.zs-content-block--align-center .zscb-split__copy,.zs-content-block--align-center .zscb-hero__copy,.zs-content-block--align-center .zscb-notice>div:first-child,.zs-content-block--align-center .zscb-strip__copy{text-align:center}.zscb-date{max-width:920px;margin:0 auto}.zscb-date__head{text-align:center;margin-bottom:30px}.zscb-date__head .zscb__eyebrow{justify-content:center}.zscb-date__list{border-top:1px solid rgba(38,53,44,.14)}.zscb-date__row{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:15px 12px;border-bottom:1px solid rgba(38,53,44,.14);font-size:15px}.zscb-date__date{color:#77817b}.zscb-date__label{text-align:right;color:inherit}.zs-content-block--theme-dark .zscb-date__list,.zs-content-block--theme-dark .zscb-date__row{border-color:rgba(255,255,255,.14)}.zscb-price{max-width:920px;margin:0 auto}.zscb-price__head{text-align:center;margin-bottom:30px}.zscb-price__head .zscb__eyebrow{justify-content:center}.zscb-price__list{border-top:1px solid rgba(38,53,44,.14)}.zscb-price__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding:15px 12px;border-bottom:1px solid rgba(38,53,44,.14);font-size:15px}.zscb-price__item{color:inherit}.zscb-price__value{text-align:right;color:inherit;font-weight:600;white-space:nowrap}.zs-content-block--theme-dark .zscb-price__list,.zs-content-block--theme-dark .zscb-price__row{border-color:rgba(255,255,255,.14)}.zscb-editorial{max-width:940px}.zs-content-block--align-center .zscb-editorial{margin-inline:auto;text-align:center}.zscb-editorial__head{margin-bottom:28px}.zscb-image-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(38px,6vw,100px);align-items:center}.zscb-image-text--no-media{grid-template-columns:1fr;max-width:940px}.zscb-image-text--image-right .zscb-image-text__media{order:2}.zscb-image-text__media,.zscb-split__media,.zscb-centered__media{border-radius:var(--radius);overflow:hidden;background:rgba(38,53,44,.055)}.zscb-image-text__media{aspect-ratio:var(--media-ratio);min-height:0}.zscb-image-text__media img,.zscb-split__media img,.zscb-centered__media img{display:block;width:100%;height:100%;object-fit:cover}.zs-content-block--fit-contain .zscb-image-text__media img,.zs-content-block--fit-contain .zscb-split__media img,.zs-content-block--fit-contain .zscb-centered__media img,.zs-content-block--fit-contain .zscb-strip__media img{object-fit:contain}.zscb-image-text__copy .zscb__rich{margin-top:26px}.zscb-hero{min-height:580px;display:flex;align-items:flex-end;padding:clamp(34px,6vw,78px);border-radius:var(--radius);background:#425349;color:#fff;overflow:hidden;position:relative}.zscb-hero.has-image{background-image:linear-gradient(90deg,rgba(22,35,28,.76),rgba(22,35,28,.24)),var(--zscb-hero-image);background-position:center;background-size:cover}.zscb-hero__copy{max-width:760px;position:relative;z-index:1}.zscb-hero .zscb__rich{max-width:650px;margin-top:24px;color:rgba(255,255,255,.84)}.zscb-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,3vw,42px);align-items:center;padding:clamp(18px,2.3vw,30px);border:1px solid rgba(38,53,44,.09);border-radius:var(--radius);background:rgba(255,255,255,.82);box-shadow:0 12px 34px rgba(38,53,44,.06)}.zs-content-block--theme-light .zscb-strip{background:#f8f5ed}.zs-content-block--theme-dark .zscb-strip{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12)}.zscb-strip__media{width:clamp(110px,11vw,170px);height:clamp(72px,7vw,105px);display:grid;place-items:center;border-radius:calc(var(--radius)*.65);overflow:hidden;background:#fff}.zscb-strip__media img{display:block;width:100%;height:100%;object-fit:cover}.zscb-strip__copy .zscb__eyebrow{margin-bottom:8px}.zscb-strip__copy .zscb__title{font-size:clamp(28px,2.8vw,48px)}.zscb-strip__copy .zscb__rich{margin-top:8px;font-size:15px}.zscb-strip__copy .zscb__rich p{margin-block:0}.zscb-strip__action .zscb__cta{margin-top:0;white-space:nowrap}.zscb-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}.zscb-split__body .zscb__rich{font-size:18px}.zscb-split__media{margin-top:34px;aspect-ratio:var(--media-ratio)}.zscb-centered{max-width:1080px;margin:0 auto;text-align:center}.zscb-centered__media{margin:0 auto 38px;aspect-ratio:var(--media-ratio);box-shadow:0 16px 45px rgba(38,53,44,.07)}.zscb-centered__copy{max-width:960px;margin:0 auto}.zscb-centered .zscb__eyebrow{justify-content:center}.zscb-centered .zscb__rich{max-width:700px;margin:26px auto 0}.zscb-quote{max-width:1180px;margin:0 auto;text-align:center}.zscb-quote .zscb__eyebrow{justify-content:center}.zscb-quote .zscb__title{color:var(--gold)}.zscb-quote__body{max-width:720px;margin:28px auto 0;color:var(--muted);font-size:18px;line-height:1.65}.zs-content-block--theme-dark .zscb-quote__body{color:rgba(255,255,255,.72)}.zscb-cards .zscb__title{max-width:850px}.zscb-cards__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}.zscb-card{min-height:210px;padding:26px;border:1px solid rgba(38,53,44,.10);border-radius:var(--radius);background:rgba(255,255,255,.58)}.zs-content-block--theme-dark .zscb-card{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.045)}.zscb-card__line{display:block;width:30px;height:1px;margin-bottom:38px;background:var(--gold)}.zscb-card h3{margin:0 0 10px;font-size:23px;font-weight:400}.zscb-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}.zs-content-block--theme-dark .zscb-card p{color:rgba(255,255,255,.62)}.zscb-notice{display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center;padding:38px clamp(28px,5vw,66px);border-radius:var(--radius);background:#fff;border:1px solid rgba(38,53,44,.08);box-shadow:0 16px 46px rgba(38,53,44,.055)}.zs-content-block--theme-dark .zscb-notice{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.zscb-notice .zscb__title{font-size:clamp(32px,3vw,50px)}.zscb-notice .zscb__rich{max-width:760px;margin-top:14px}.zscb-notice .zscb__cta{margin-top:0;white-space:nowrap}@media(max-width:1024px){.zscb-image-text,.zscb-split{grid-template-columns:1fr}.zscb-image-text--image-right .zscb-image-text__media{order:0}.zs-content-block--mobile-text_first .zscb-image-text__media{order:2}.zs-content-block--mobile-text_first .zscb-image-text__copy{order:1}.zscb-cards__grid{grid-template-columns:repeat(2,1fr)}.zscb-notice{grid-template-columns:1fr}.zscb-notice .zscb__cta{margin-top:8px}.zscb-strip{grid-template-columns:auto 1fr}.zscb-strip__action{grid-column:2}.zscb-strip__action .zscb__cta{margin-top:4px}}@media(max-width:767px){.zs-content-block--spacing-tight{padding:16px 16px}.zs-content-block--spacing-compact,.zs-content-block--spacing-normal,.zs-content-block--spacing-large{padding:52px 18px}.zs-content-block--promo_strip{padding:12px 14px!important}.zscb__title{font-size:clamp(34px,9vw,50px)}.zs-content-block--title-compact .zscb__title{font-size:30px}.zs-content-block--title-display .zscb__title{font-size:48px}.zscb-date__head .zscb__title{font-size:28px}.zscb-date__row{grid-template-columns:1fr;gap:5px;padding:13px 5px}.zscb-date__label{text-align:left;font-size:16px}.zscb-price__head .zscb__title{font-size:28px}.zscb-price__row{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:13px 5px}.zscb-price__value{text-align:right;font-size:16px}.zscb-image-text__media{aspect-ratio:4\/3}.zscb-hero{min-height:480px;padding:26px 20px}.zscb-strip{grid-template-columns:1fr;gap:14px;padding:18px}.zscb-strip__media{width:100%;height:110px}.zscb-strip__action{grid-column:auto}.zscb-strip__action .zscb__cta{white-space:normal}.zs-content-block--mobile-text_first .zscb-strip__copy{order:1}.zs-content-block--mobile-text_first .zscb-strip__media{order:2}.zs-content-block--mobile-text_first .zscb-strip__action{order:3}.zscb-centered__media{margin-bottom:26px}.zscb-cards__grid{grid-template-columns:1fr}.zscb-card{min-height:auto}.zscb-notice{padding:28px 22px}}<\/style>        <section id=\"zs-block-2129-1\" class=\"zs-content-block zs-content-block--image_left zs-content-block--theme-light zs-content-block--align-left zs-content-block--spacing-normal zs-content-block--width-wide zs-content-block--title-compact zs-content-block--radius-large zs-content-block--cta-link zs-content-block--ratio-wide zs-content-block--fit-contain zs-content-block--mobile-media_first\" lang=\"de\">\n            <div class=\"zscb__inner\">\n                <div class=\"zscb-image-text zscb-image-text--image_left\"><div class=\"zscb-image-text__media\"><img src=\"https:\/\/zalasprings.hu\/wp-content\/uploads\/2026\/09\/10-eves-promo-hu_1024x640.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/div><div class=\"zscb-image-text__copy\"><h2 class=\"zscb__title\">W\u00e4hlen Sie Ihr ideales Jubil\u00e4umsangebot<\/h2><div class=\"zscb__rich\"><p><strong>10 Jahre + 10 N\u00e4chte<\/strong><br \/>\nBeim Kauf einer Wohnung mit unserem R\u00fcckvermietungsmodell erhalten Sie 10 Jahre lang j\u00e4hrlich +10 zus\u00e4tzliche N\u00e4chte \u2013 somit sind Ihnen 24\u201331 N\u00e4chte Eigennutzung pro Jahr bei garantierten 3\u20134 % Mietrendite gesichert.<\/p>\n<p><strong>10 Jahre \u2013 10 Millionen HUF<\/strong><br \/>\nBeim Kauf einer Immobilie im Wert von \u00fcber 400.000 \u20ac erhalten Sie einen Preisnachlass von 10 Millionen HUF<\/p>\n<\/div><a class=\"zscb__cta\" href=\"https:\/\/zalasprings.hu\/de\/immobilienkauf\/\"><span>Registrieren Sie sich f\u00fcr unsere Jubil\u00e4umsangebote<\/span><i aria-hidden=\"true\">\u2192<\/i><\/a><\/div><\/div>            <\/div>\n        <\/section>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-afce043 e-con-full e-flex e-con e-parent\" data-id=\"afce043\" 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-7a30a88 elementor-widget elementor-widget-html\" data-id=\"7a30a88\" 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 \/ ESEM\u00c9NYEK\r\n     Basis: MAIN Programs event card\r\n     Filter: zs_event_category slug = ingatlan\r\n     Layout: 1 event \/ row\r\n-->\r\n<section id=\"zs-property-events\" class=\"zs-main zspevents zspevents--property\" aria-labelledby=\"zs-property-events-title\" hidden>\r\n\r\n  <div class=\"zspevents__i18n\" aria-hidden=\"true\">\r\n    <span data-zspevents-i18n=\"details\">R\u00e9szletek<\/span>\r\n    <span data-zspevents-i18n=\"featured\">Kiemelt<\/span>\r\n  <\/div>\r\n\r\n  <div class=\"zspevents__inner\">\r\n\r\n    <header class=\"zspevents__header\" data-reveal>\r\n      <div class=\"zspevents__kicker\"><span><\/span><b>ZALA SPRINGS<\/b><span><\/span><\/div>\r\n      <h2 id=\"zs-property-events-title\">Aktu\u00e1lis programok<\/h2>\r\n      <p>Fedezze fel ingatlanjainkhoz kapcsol\u00f3d\u00f3 aktu\u00e1lis esem\u00e9nyeinket \u00e9s programjainkat.<\/p>\r\n    <\/header>\r\n\r\n    <div class=\"zspevents__grid\" data-grid aria-live=\"polite\">\r\n      <article class=\"zspevents__skeleton\" aria-hidden=\"true\">\r\n        <div class=\"zspevents__skeleton-media\"><\/div>\r\n        <div class=\"zspevents__skeleton-body\"><span><\/span><span><\/span><span><\/span><span><\/span><\/div>\r\n      <\/article>\r\n    <\/div>\r\n\r\n    <div class=\"zspevents__empty\" data-empty hidden>\r\n      <div class=\"zspevents__empty-mark\">ZS<\/div>\r\n      <h3>Jelenleg nincs megjelen\u00edthet\u0151 program<\/h3>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <style>\r\n    #zs-property-events,\r\n    #zs-property-events *,\r\n    #zs-property-events *::before,\r\n    #zs-property-events *::after{box-sizing:border-box}\r\n\r\n    #zs-property-events{\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      --muted:var(--zs-text-soft,#68716c);\r\n      --line:var(--zs-line,rgba(38,53,44,.12));\r\n      width:100%;\r\n      padding:clamp(92px,8vw,140px) clamp(18px,4vw,64px) clamp(96px,8vw,140px);\r\n      overflow:hidden;\r\n      background:\r\n        radial-gradient(circle at 100% 0%,rgba(194,162,47,.07),transparent 24%),\r\n        linear-gradient(180deg,#f7f4ed 0%,#fbfaf7 100%);\r\n      color:var(--dark);\r\n      font-family:\"Brandon book\",\"Brandon Grotesque\",Arial,Helvetica,sans-serif!important\r\n    }\r\n\r\n    #zs-property-events *{\r\n      font-family:\"Brandon book\",\"Brandon Grotesque\",Arial,Helvetica,sans-serif!important\r\n    }\r\n\r\n    #zs-property-events a{text-decoration:none}\r\n\r\n    #zs-property-events[hidden]{display:none!important}\r\n\r\n    .zspevents__inner{\r\n      width:min(100%,1240px);\r\n      margin:0 auto\r\n    }\r\n\r\n    .zspevents__i18n{\r\n      position:absolute!important;\r\n      width:1px!important;\r\n      height:1px!important;\r\n      margin:-1px!important;\r\n      padding:0!important;\r\n      overflow:hidden!important;\r\n      clip:rect(0,0,0,0)!important;\r\n      white-space:nowrap!important;\r\n      border:0!important\r\n    }\r\n\r\n    .zspevents__header{\r\n      width:min(100%,900px);\r\n      margin:0 auto clamp(46px,5vw,68px);\r\n      text-align:center\r\n    }\r\n\r\n    .zspevents__kicker{\r\n      display:flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      gap:14px;\r\n      margin-bottom:17px;\r\n      color:#9f842b\r\n    }\r\n\r\n    .zspevents__kicker span{\r\n      width:54px;\r\n      height:1px;\r\n      background:rgba(194,162,47,.72)\r\n    }\r\n\r\n    .zspevents__kicker b{\r\n      font-size:10px;\r\n      font-weight:700;\r\n      letter-spacing:.23em\r\n    }\r\n\r\n    .zspevents__header h2{\r\n      margin:0!important;\r\n      color:var(--dark)!important;\r\n      font-size:clamp(44px,4.7vw,76px);\r\n      font-weight:400!important;\r\n      line-height:1.04!important;\r\n      letter-spacing:-.02em\r\n    }\r\n\r\n    .zspevents__header p{\r\n      margin:16px 0 0!important;\r\n      color:var(--muted);\r\n      font-size:clamp(15px,1.05vw,18px);\r\n      line-height:1.55\r\n    }\r\n\r\n    \/* ONE EVENT PER ROW *\/\r\n    .zspevents__grid{\r\n      display:grid;\r\n      grid-template-columns:1fr;\r\n      gap:24px\r\n    }\r\n\r\n    .zspevents__card{\r\n      position:relative;\r\n      min-width:0;\r\n      min-height:390px;\r\n      display:grid;\r\n      grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr);\r\n      overflow:hidden;\r\n      border:1px solid rgba(38,53,44,.09);\r\n      border-radius:28px;\r\n      background:rgba(255,255,255,.92);\r\n      box-shadow:0 20px 58px rgba(38,53,44,.065);\r\n      opacity:0;\r\n      transform:translateY(26px);\r\n      transition:\r\n        opacity .65s ease,\r\n        transform .85s cubic-bezier(.2,.72,.2,1),\r\n        border-color .35s ease,\r\n        box-shadow .35s ease\r\n    }\r\n\r\n    .zspevents__card.is-visible{\r\n      opacity:1;\r\n      transform:none\r\n    }\r\n\r\n    .zspevents__card.is-featured{\r\n      border-color:rgba(194,162,47,.34);\r\n      box-shadow:0 22px 64px rgba(38,53,44,.08)\r\n    }\r\n\r\n    .zspevents__media{\r\n      position:relative;\r\n      min-width:0;\r\n      overflow:hidden;\r\n      margin:9px;\r\n      border-radius:19px;\r\n      background:#d9dfda\r\n    }\r\n\r\n    .zspevents__media img{\r\n      position:absolute!important;\r\n      inset:0!important;\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      transform:scale(1.02);\r\n      transition:transform .8s cubic-bezier(.2,.72,.2,1)\r\n    }\r\n\r\n    .zspevents__media::after{\r\n      content:\"\";\r\n      position:absolute;\r\n      inset:0;\r\n      background:linear-gradient(180deg,transparent 52%,rgba(16,31,23,.34));\r\n      pointer-events:none\r\n    }\r\n\r\n    .zspevents__category{\r\n      position:absolute;\r\n      z-index:3;\r\n      top:16px;\r\n      left:16px;\r\n      min-height:34px;\r\n      display:inline-flex;\r\n      align-items:center;\r\n      padding:0 12px;\r\n      border:1px solid rgba(255,255,255,.55);\r\n      border-radius:999px;\r\n      background:rgba(255,255,255,.92);\r\n      color:var(--dark);\r\n      font-size:9px;\r\n      font-weight:700;\r\n      letter-spacing:.12em;\r\n      text-transform:uppercase;\r\n      backdrop-filter:blur(10px);\r\n      -webkit-backdrop-filter:blur(10px)\r\n    }\r\n\r\n    .zspevents__featured{\r\n      position:absolute;\r\n      z-index:4;\r\n      top:16px;\r\n      right:16px;\r\n      min-height:34px;\r\n      display:inline-flex;\r\n      align-items:center;\r\n      gap:7px;\r\n      padding:0 12px;\r\n      border:1px solid rgba(222,197,100,.45);\r\n      border-radius:999px;\r\n      background:rgba(38,53,44,.90);\r\n      color:#fff;\r\n      font-size:9px;\r\n      font-weight:700;\r\n      letter-spacing:.12em;\r\n      text-transform:uppercase;\r\n      backdrop-filter:blur(10px);\r\n      -webkit-backdrop-filter:blur(10px);\r\n      box-shadow:0 8px 22px rgba(18,32,24,.16)\r\n    }\r\n\r\n    .zspevents__featured::before{\r\n      content:\"\";\r\n      width:7px;\r\n      height:7px;\r\n      border-radius:50%;\r\n      background:#d8bd53;\r\n      box-shadow:0 0 0 4px rgba(216,189,83,.13)\r\n    }\r\n\r\n    .zspevents__date{\r\n      position:absolute;\r\n      z-index:4;\r\n      left:18px;\r\n      bottom:18px;\r\n      min-width:69px;\r\n      padding:10px 13px;\r\n      border:1px solid rgba(255,255,255,.48);\r\n      border-radius:14px;\r\n      background:rgba(255,255,255,.92);\r\n      color:var(--dark);\r\n      backdrop-filter:blur(12px);\r\n      -webkit-backdrop-filter:blur(12px)\r\n    }\r\n\r\n    .zspevents__date strong{\r\n      display:block;\r\n      font-size:27px;\r\n      font-weight:400;\r\n      line-height:.95;\r\n      font-variant-numeric:tabular-nums\r\n    }\r\n\r\n    .zspevents__date span{\r\n      display:block;\r\n      margin-top:4px;\r\n      color:#9a8029;\r\n      font-size:9px;\r\n      font-weight:700;\r\n      letter-spacing:.14em;\r\n      text-transform:uppercase\r\n    }\r\n\r\n    .zspevents__body{\r\n      min-width:0;\r\n      display:flex;\r\n      flex-direction:column;\r\n      justify-content:center;\r\n      padding:38px 42px 34px 34px\r\n    }\r\n\r\n    .zspevents__meta{\r\n      display:flex;\r\n      flex-wrap:wrap;\r\n      gap:7px 14px;\r\n      min-height:25px;\r\n      margin-bottom:17px;\r\n      color:#7b837f;\r\n      font-size:11px;\r\n      line-height:1.3\r\n    }\r\n\r\n    .zspevents__meta-item{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      gap:6px\r\n    }\r\n\r\n    .zspevents__meta-item svg{\r\n      width:14px;\r\n      height:14px;\r\n      flex:0 0 14px;\r\n      fill:none;\r\n      stroke:var(--gold);\r\n      stroke-width:1.7;\r\n      stroke-linecap:round;\r\n      stroke-linejoin:round\r\n    }\r\n\r\n    .zspevents__title{\r\n      margin:0!important;\r\n      color:var(--dark)!important;\r\n      font-size:clamp(31px,2.6vw,46px);\r\n      font-weight:400!important;\r\n      line-height:1.06!important;\r\n      letter-spacing:-.016em\r\n    }\r\n\r\n    .zspevents__description{\r\n      margin:15px 0 0!important;\r\n      display:-webkit-box;\r\n      -webkit-box-orient:vertical;\r\n      -webkit-line-clamp:4;\r\n      overflow:hidden;\r\n      color:var(--muted);\r\n      font-size:15px;\r\n      line-height:1.62\r\n    }\r\n\r\n    .zspevents__footer{\r\n      display:flex;\r\n      align-items:center;\r\n      justify-content:space-between;\r\n      gap:15px;\r\n      margin-top:auto;\r\n      padding-top:26px\r\n    }\r\n\r\n    .zspevents__cta{\r\n      min-height:45px;\r\n      display:inline-flex;\r\n      align-items:center;\r\n      gap:15px;\r\n      padding:0 18px;\r\n      border:1px solid rgba(38,53,44,.16);\r\n      border-radius:999px;\r\n      color:var(--dark)!important;\r\n      font-size:11px;\r\n      font-weight:700;\r\n      letter-spacing:.04em;\r\n      transition:.3s ease\r\n    }\r\n\r\n    .zspevents__cta svg{\r\n      width:16px;\r\n      height:16px;\r\n      fill:none;\r\n      stroke:currentColor;\r\n      stroke-width:1.7;\r\n      stroke-linecap:round;\r\n      stroke-linejoin:round;\r\n      transition:transform .3s ease\r\n    }\r\n\r\n    .zspevents__index{\r\n      color:rgba(38,53,44,.17);\r\n      font-size:12px;\r\n      font-weight:600;\r\n      font-variant-numeric:tabular-nums\r\n    }\r\n\r\n    .zspevents__skeleton{\r\n      min-height:390px;\r\n      display:grid;\r\n      grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr);\r\n      overflow:hidden;\r\n      border:1px solid rgba(38,53,44,.07);\r\n      border-radius:28px;\r\n      background:rgba(255,255,255,.72)\r\n    }\r\n\r\n    .zspevents__skeleton-media{\r\n      margin:9px;\r\n      border-radius:19px;\r\n      background:linear-gradient(100deg,#e1e5e1 20%,#f4f6f3 38%,#e1e5e1 56%);\r\n      background-size:240% 100%;\r\n      animation:zspeventsSkeleton 1.4s linear infinite\r\n    }\r\n\r\n    .zspevents__skeleton-body{\r\n      display:flex;\r\n      flex-direction:column;\r\n      gap:14px;\r\n      padding:42px 38px\r\n    }\r\n\r\n    .zspevents__skeleton-body span{\r\n      height:12px;\r\n      border-radius:999px;\r\n      background:linear-gradient(100deg,#e5e8e5 20%,#f7f8f6 38%,#e5e8e5 56%);\r\n      background-size:240% 100%;\r\n      animation:zspeventsSkeleton 1.4s linear infinite\r\n    }\r\n\r\n    .zspevents__skeleton-body span:nth-child(1){width:35%}\r\n    .zspevents__skeleton-body span:nth-child(2){width:88%;height:34px}\r\n    .zspevents__skeleton-body span:nth-child(3){width:100%}\r\n    .zspevents__skeleton-body span:nth-child(4){width:52%}\r\n\r\n    @keyframes zspeventsSkeleton{\r\n      to{background-position-x:-240%}\r\n    }\r\n\r\n    [data-reveal]{\r\n      opacity:0;\r\n      transform:translateY(24px);\r\n      transition:opacity .75s ease,transform .9s cubic-bezier(.2,.72,.2,1)\r\n    }\r\n\r\n    [data-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      .zspevents__card:hover{\r\n        transform:translateY(-5px);\r\n        border-color:rgba(194,162,47,.38);\r\n        box-shadow:0 28px 72px rgba(38,53,44,.11)\r\n      }\r\n\r\n      .zspevents__card:hover .zspevents__media img{\r\n        transform:scale(1.065)\r\n      }\r\n\r\n      .zspevents__cta:hover{\r\n        border-color:var(--dark);\r\n        background:var(--dark);\r\n        color:#fff!important\r\n      }\r\n\r\n      .zspevents__cta:hover svg{\r\n        transform:translateX(4px)\r\n      }\r\n    }\r\n\r\n    @media(max-width:1366px){\r\n      #zs-property-events{padding:100px 38px 110px}\r\n    }\r\n\r\n    @media(max-width:1200px){\r\n      #zs-property-events{padding:92px 30px 102px}\r\n      .zspevents__card,\r\n      .zspevents__skeleton{\r\n        grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)\r\n      }\r\n      .zspevents__body{padding:34px 34px 30px 28px}\r\n    }\r\n\r\n    @media(max-width:1024px){\r\n      #zs-property-events{padding:84px 22px 94px}\r\n      .zspevents__card,\r\n      .zspevents__skeleton{\r\n        grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)\r\n      }\r\n    }\r\n\r\n    @media(max-width:880px){\r\n      #zs-property-events{padding:76px 18px 86px}\r\n      .zspevents__card,\r\n      .zspevents__skeleton{\r\n        grid-template-columns:1fr;\r\n        min-height:0\r\n      }\r\n      .zspevents__media{\r\n        min-height:330px;\r\n        aspect-ratio:1.55\/1\r\n      }\r\n      .zspevents__body{padding:25px 26px 27px}\r\n      .zspevents__skeleton-media{min-height:320px}\r\n    }\r\n\r\n    @media(max-width:767px){\r\n      #zs-property-events{padding:68px 12px 76px}\r\n      .zspevents__header{margin-bottom:35px}\r\n      .zspevents__header h2{font-size:clamp(38px,10vw,51px)}\r\n      .zspevents__card,\r\n      .zspevents__skeleton{border-radius:20px}\r\n      .zspevents__media{\r\n        min-height:260px;\r\n        aspect-ratio:1.35\/1;\r\n        border-radius:14px\r\n      }\r\n      .zspevents__body{padding:20px 20px 22px}\r\n      .zspevents__title{font-size:clamp(29px,8vw,38px)}\r\n      .zspevents__description{font-size:14px}\r\n      .zspevents__skeleton-media{min-height:250px}\r\n    }\r\n\r\n    @media(max-width:480px){\r\n      .zspevents__media{min-height:230px}\r\n      .zspevents__footer{padding-top:18px}\r\n    }\r\n\r\n    @media(prefers-reduced-motion:reduce){\r\n      #zs-property-events *,\r\n      #zs-property-events *::before,\r\n      #zs-property-events *::after{\r\n        animation:none!important;\r\n        transition:none!important\r\n      }\r\n\r\n      [data-reveal],\r\n      .zspevents__card{\r\n        opacity:1!important;\r\n        transform:none!important\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <script>\r\n  (() => {\r\n\r\n    const root=document.getElementById('zs-property-events');\r\n\r\n    if(!root||root.dataset.ready==='1')return;\r\n\r\n    root.dataset.ready='1';\r\n\r\n    const TARGET_CATEGORY_SLUG='ingatlan';\r\n\r\n    const language=(()=>{\r\n      const q=new URLSearchParams(location.search).get('lang');\r\n\r\n      if(q&&['hu','en','de'].includes(q.toLowerCase())){\r\n        return q.toLowerCase();\r\n      }\r\n\r\n      const m=location.pathname.match(\/^\\\/(hu|en|de)(?:\\\/|$)\/i);\r\n\r\n      return m?m[1].toLowerCase():'hu';\r\n    })();\r\n\r\n    const label=key=>{\r\n      const el=root.querySelector('[data-zspevents-i18n=\"'+key+'\"]');\r\n      return el?el.textContent.trim():'';\r\n    };\r\n\r\n    const restBase=()=>{\r\n      const discovery=document.querySelector('link[rel=\"https:\/\/api.w.org\/\"]');\r\n\r\n      if(discovery&&discovery.href){\r\n        return discovery.href.endsWith('\/')\r\n          ? discovery.href\r\n          : discovery.href+'\/';\r\n      }\r\n\r\n      return new URL('\/wp-json\/',location.origin).href;\r\n    };\r\n\r\n    const endpoint=()=>{\r\n      const url=new URL('zs\/v1\/events\/internal',restBase());\r\n\r\n      url.searchParams.set('lang',language);\r\n      url.searchParams.set('featured_first','true');\r\n      url.searchParams.set('orderby','sort_order');\r\n      url.searchParams.set('order','asc');\r\n      url.searchParams.set('limit','100');\r\n      url.searchParams.set('url_mode','relative');\r\n\r\n      return url;\r\n    };\r\n\r\n    const strip=value=>{\r\n      const el=document.createElement('div');\r\n      el.innerHTML=String(value||'');\r\n      return(el.textContent||'').trim();\r\n    };\r\n\r\n    const escapeHtml=value=>{\r\n      const el=document.createElement('div');\r\n      el.textContent=String(value||'');\r\n      return el.innerHTML;\r\n    };\r\n\r\n    const safeUrl=value=>{\r\n      value=String(value||'').trim();\r\n\r\n      if(!value)return'#';\r\n      if(value.startsWith('\/'))return value;\r\n\r\n      try{\r\n        const u=new URL(value,location.origin);\r\n\r\n        if(!\/^https?:$\/.test(u.protocol))return'#';\r\n\r\n        if(u.origin===location.origin){\r\n          return u.pathname+u.search+u.hash;\r\n        }\r\n\r\n        return u.href;\r\n      }catch(e){\r\n        return'#';\r\n      }\r\n    };\r\n\r\n    const isTrue=value=>\r\n      value===true||\r\n      value===1||\r\n      String(value||'').toLowerCase()==='true'||\r\n      String(value||'')==='1';\r\n\r\n    const categorySlugs=item=>{\r\n      if(Array.isArray(item&&item.category_slugs)){\r\n        return item.category_slugs.map(value=>String(value||'').trim().toLowerCase());\r\n      }\r\n\r\n      if(Array.isArray(item&&item.categories)){\r\n        return item.categories\r\n          .map(term=>String(term&&term.slug||'').trim().toLowerCase())\r\n          .filter(Boolean);\r\n      }\r\n\r\n      return[];\r\n    };\r\n\r\n    const belongsToProperty=item=>\r\n      categorySlugs(item).includes(TARGET_CATEGORY_SLUG);\r\n\r\n    const locale=\r\n      language==='de'\r\n        ?'de-DE'\r\n        :(language==='en'?'en-GB':'hu-HU');\r\n\r\n    const MONTHS={\r\n      hu:['JAN','FEB','M\u00c1R','\u00c1PR','M\u00c1J','J\u00daN','J\u00daL','AUG','SZE','OKT','NOV','DEC'],\r\n      en:['JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'],\r\n      de:['JAN','FEB','M\u00c4R','APR','MAI','JUN','JUL','AUG','SEP','OKT','NOV','DEZ']\r\n    };\r\n\r\n    const eventTimestamp=item=>{\r\n      const direct=Number(item&&item.event_start_timestamp);\r\n\r\n      if(Number.isFinite(direct)&&direct>0)return direct;\r\n\r\n      const nested=Number(item&&item.event_start&&item.event_start.timestamp);\r\n\r\n      if(Number.isFinite(nested)&&nested>0)return nested;\r\n\r\n      const iso=String(\r\n        (item&&item.event_start_iso)||\r\n        (item&&item.event_start&&item.event_start.iso)||\r\n        ''\r\n      ).trim();\r\n\r\n      if(iso){\r\n        const parsed=Date.parse(iso);\r\n\r\n        if(Number.isFinite(parsed)){\r\n          return Math.floor(parsed\/1000);\r\n        }\r\n      }\r\n\r\n      return 0;\r\n    };\r\n\r\n    const parseTextDate=value=>{\r\n      const text=strip(value);\r\n\r\n      if(!text)return null;\r\n\r\n      const ymd=text.match(\/(\\d{4})[.\\\/-](\\d{1,2})[.\\\/-](\\d{1,2})\/);\r\n\r\n      if(!ymd)return null;\r\n\r\n      const date=new Date(\r\n        Number(ymd[1]),\r\n        Number(ymd[2])-1,\r\n        Number(ymd[3])\r\n      );\r\n\r\n      if(Number.isNaN(date.getTime()))return null;\r\n\r\n      return date;\r\n    };\r\n\r\n    const dateInfo=item=>{\r\n      const textDate=strip(item&&item.date);\r\n      const textTime=strip(item&&item.time);\r\n\r\n      let date=parseTextDate(textDate);\r\n\r\n      if(!date){\r\n        const timestamp=eventTimestamp(item);\r\n\r\n        if(timestamp>0){\r\n          date=new Date(timestamp*1000);\r\n        }\r\n      }\r\n\r\n      if(date&& !Number.isNaN(date.getTime())){\r\n        return{\r\n          day:String(date.getDate()).padStart(2,'0'),\r\n          month:(MONTHS[language]||MONTHS.hu)[date.getMonth()],\r\n          full:textDate||new Intl.DateTimeFormat(\r\n            locale,\r\n            {year:'numeric',month:'long',day:'numeric'}\r\n          ).format(date),\r\n          time:textTime\r\n        };\r\n      }\r\n\r\n      if(textDate||textTime){\r\n        return{\r\n          day:'',\r\n          month:'',\r\n          full:textDate,\r\n          time:textTime\r\n        };\r\n      }\r\n\r\n      return null;\r\n    };\r\n\r\n    const CALENDAR='<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M6 3v4m12-4v4M4 9h16M5 5h14a1 1 0 0 1 1 1v14H4V6a1 1 0 0 1 1-1Z\"\/><\/svg>';\r\n    const CLOCK='<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v5l3 2\"\/><\/svg>';\r\n    const PIN='<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z\"\/><circle cx=\"12\" cy=\"10\" r=\"2.5\"\/><\/svg>';\r\n    const ARROW='<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12h14M14 7l5 5-5 5\"\/><\/svg>';\r\n\r\n    const card=(item,index)=>{\r\n      const title=strip(item.title)||'Zala Springs';\r\n      const description=strip(item.short_description);\r\n\r\n      const image=safeUrl(\r\n        item.featured_image_path||\r\n        item.featured_image_url||\r\n        (\r\n          item.featured_image&&\r\n          (\r\n            item.featured_image.url_path||\r\n            item.featured_image.url\r\n          )\r\n        )||\r\n        ''\r\n      );\r\n\r\n      const url=safeUrl(\r\n        item.permalink_path||\r\n        item.permalink\r\n      );\r\n\r\n      const categories=Array.isArray(item.category_names)\r\n        ?item.category_names\r\n        :[];\r\n\r\n      const category=categories.length\r\n        ?strip(categories[0])\r\n        :'';\r\n\r\n      const location=strip(item.location);\r\n      const date=dateInfo(item);\r\n      const featured=isTrue(item.featured_on_main);\r\n\r\n      let meta='';\r\n\r\n      if(date&&date.full){\r\n        meta+='<span class=\"zspevents__meta-item\">'+CALENDAR+escapeHtml(date.full)+'<\/span>';\r\n      }\r\n\r\n      if(date&&date.time){\r\n        meta+='<span class=\"zspevents__meta-item\">'+CLOCK+escapeHtml(date.time)+'<\/span>';\r\n      }\r\n\r\n      if(location){\r\n        meta+='<span class=\"zspevents__meta-item\">'+PIN+escapeHtml(location)+'<\/span>';\r\n      }\r\n\r\n      const dateTile=\r\n        date&&date.day&&date.month\r\n          ?'<div class=\"zspevents__date\"><strong>'+escapeHtml(date.day)+'<\/strong><span>'+escapeHtml(date.month)+'<\/span><\/div>'\r\n          :'';\r\n\r\n      return ''+\r\n        '<article class=\"zspevents__card'+(featured?' is-featured':'')+'\" data-card>'+\r\n          '<a class=\"zspevents__media\" href=\"'+escapeHtml(url)+'\">'+\r\n            (image!=='#'\r\n              ?'<img src=\"'+escapeHtml(image)+'\" alt=\"'+escapeHtml(title)+'\" loading=\"lazy\" decoding=\"async\">'\r\n              :'')+\r\n            (category\r\n              ?'<span class=\"zspevents__category\">'+escapeHtml(category)+'<\/span>'\r\n              :'')+\r\n            (featured\r\n              ?'<span class=\"zspevents__featured\">'+escapeHtml(label('featured'))+'<\/span>'\r\n              :'')+\r\n            dateTile+\r\n          '<\/a>'+\r\n          '<div class=\"zspevents__body\">'+\r\n            (meta\r\n              ?'<div class=\"zspevents__meta\">'+meta+'<\/div>'\r\n              :'')+\r\n            '<h3 class=\"zspevents__title\">'+escapeHtml(title)+'<\/h3>'+\r\n            (description\r\n              ?'<p class=\"zspevents__description\">'+escapeHtml(description)+'<\/p>'\r\n              :'')+\r\n            '<div class=\"zspevents__footer\">'+\r\n              '<a class=\"zspevents__cta\" href=\"'+escapeHtml(url)+'\">'+\r\n                '<span>'+escapeHtml(label('details'))+'<\/span>'+\r\n                ARROW+\r\n              '<\/a>'+\r\n              '<span class=\"zspevents__index\" aria-hidden=\"true\">'+String(index+1).padStart(2,'0')+'<\/span>'+\r\n            '<\/div>'+\r\n          '<\/div>'+\r\n        '<\/article>';\r\n    };\r\n\r\n    const grid=root.querySelector('[data-grid]');\r\n\r\n    fetch(\r\n      endpoint().href,\r\n      {\r\n        credentials:'same-origin',\r\n        cache:'no-store',\r\n        headers:{Accept:'application\/json'}\r\n      }\r\n    )\r\n    .then(response=>{\r\n      if(!response.ok){\r\n        throw new Error('HTTP '+response.status);\r\n      }\r\n\r\n      return response.json();\r\n    })\r\n    .then(payload=>{\r\n\r\n      const raw=Array.isArray(payload)\r\n        ?payload\r\n        :(payload&&Array.isArray(payload.items)?payload.items:[]);\r\n\r\n      const filtered=raw\r\n        .filter(belongsToProperty)\r\n        .sort((a,b)=>{\r\n          const af=isTrue(a.featured_on_main)?1:0;\r\n          const bf=isTrue(b.featured_on_main)?1:0;\r\n\r\n          if(af!==bf)return bf-af;\r\n\r\n          const ao=Number(a.sort_order);\r\n          const bo=Number(b.sort_order);\r\n\r\n          const safeA=Number.isFinite(ao)?ao:Number.MAX_SAFE_INTEGER;\r\n          const safeB=Number.isFinite(bo)?bo:Number.MAX_SAFE_INTEGER;\r\n\r\n          if(safeA!==safeB)return safeA-safeB;\r\n\r\n          return Number(a.id||0)-Number(b.id||0);\r\n        });\r\n\r\n      if(!filtered.length){\r\n        grid.innerHTML='';\r\n        root.hidden=true;\r\n        return;\r\n      }\r\n\r\n      grid.innerHTML=filtered.map(card).join('');\r\n      root.hidden=false;\r\n\r\n      [...grid.querySelectorAll('[data-card]')]\r\n        .forEach((element,index)=>{\r\n          window.setTimeout(\r\n            ()=>element.classList.add('is-visible'),\r\n            60+index*80\r\n          );\r\n        });\r\n\r\n      initReveal();\r\n    })\r\n    .catch(error=>{\r\n      console.error('[ZS MAIN] Property event loading error:',error);\r\n      grid.innerHTML='';\r\n      root.hidden=true;\r\n    });\r\n\r\n    function initReveal(){\r\n      const reveal=root.querySelectorAll('[data-reveal]');\r\n\r\n      if(!('IntersectionObserver'in window)){\r\n        reveal.forEach(el=>el.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:.1,\r\n          rootMargin:'0px 0px -6% 0px'\r\n        }\r\n      );\r\n\r\n      reveal.forEach(el=>observer.observe(el));\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-101050e e-con-full e-flex e-con e-parent\" data-id=\"101050e\" 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-4c7e39e elementor-widget elementor-widget-html\" data-id=\"4c7e39e\" 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 \/ LOK\u00c1CI\u00d3 ZOOM T\u00c9RK\u00c9P\r\n     4-step cinematic zoom:\r\n     01 Europe -> Hungary\r\n     02 Hungary -> Zala \/ Balaton western region\r\n     03 Balaton -> Zala Springs\r\n     04 Zala Springs resort \/ golf course\r\n-->\r\n<section id=\"zs-property-location\" class=\"zs-main zslocation\" aria-labelledby=\"zslocation-title\">\r\n\r\n  <div class=\"zslocation__inner\">\r\n\r\n    <!-- ======================================================\r\n         INTERACTIVE MAP \/ ZOOM\r\n         ====================================================== -->\r\n\r\n    <div class=\"zslocation__visual zslocation__reveal\">\r\n\r\n      <div\r\n        class=\"zslocation__stage\"\r\n        data-stage\r\n        tabindex=\"0\"\r\n        aria-label=\"Zala Springs elhelyezked\u00e9se \u2013 n\u00e9gyl\u00e9pcs\u0151s t\u00e9rk\u00e9pes nagy\u00edt\u00e1s\"\r\n      >\r\n\r\n        <div class=\"zslocation__image-layer is-active\" data-layer=\"a\">\r\n          <img decoding=\"async\"\r\n            src=\"\/wp-content\/uploads\/2026\/09\/terkep-hu.jpg\"\r\n            alt=\"A Zala Springs elhelyezked\u00e9se Eur\u00f3p\u00e1ban\"\r\n            data-map-image\r\n            draggable=\"false\"\r\n          >\r\n        <\/div>\r\n\r\n        <div class=\"zslocation__image-layer\" data-layer=\"b\">\r\n          <img decoding=\"async\"\r\n            src=\"\/wp-content\/uploads\/2026\/09\/terkep-hu.jpg\"\r\n            alt=\"\"\r\n            data-map-image\r\n            draggable=\"false\"\r\n          >\r\n        <\/div>\r\n\r\n\r\n        <!-- TOP LABEL -->\r\n\r\n        <div class=\"zslocation__stage-top\">\r\n          <div class=\"zslocation__level\">\r\n            <span data-level-number>01<\/span>\r\n            <i><\/i>\r\n            <strong data-level-label>Eur\u00f3pa<\/strong>\r\n          <\/div>\r\n\r\n          <div class=\"zslocation__hint\">\r\n            K\u00f6zel mindenhez\r\n          <\/div>\r\n        <\/div>\r\n\r\n\r\n        <!-- ZOOM CONTROLS -->\r\n\r\n        <div\r\n          class=\"zslocation__zoom-controls\"\r\n          aria-label=\"T\u00e9rk\u00e9p nagy\u00edt\u00e1sa\"\r\n        >\r\n\r\n          <button\r\n            class=\"zslocation__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=\"zslocation__progress\" aria-hidden=\"true\">\r\n            <span data-progress-bar><\/span>\r\n          <\/div>\r\n\r\n          <button\r\n            class=\"zslocation__zoom-button zslocation__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\r\n        <!-- STEP NAV -->\r\n\r\n        <div class=\"zslocation__steps\" aria-label=\"T\u00e9rk\u00e9pszintek\">\r\n\r\n          <button\r\n            type=\"button\"\r\n            class=\"zslocation__step is-active\"\r\n            data-step=\"0\"\r\n            aria-label=\"Eur\u00f3pa\"\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=\"zslocation__step\"\r\n            data-step=\"1\"\r\n            aria-label=\"Magyarorsz\u00e1g\"\r\n          >\r\n            <span>02<\/span>\r\n          <\/button>\r\n\r\n          <button\r\n            type=\"button\"\r\n            class=\"zslocation__step\"\r\n            data-step=\"2\"\r\n            aria-label=\"Balaton\"\r\n          >\r\n            <span>03<\/span>\r\n          <\/button>\r\n\r\n          <button\r\n            type=\"button\"\r\n            class=\"zslocation__step\"\r\n            data-step=\"3\"\r\n            aria-label=\"Zala Springs\"\r\n          >\r\n            <span>04<\/span>\r\n          <\/button>\r\n\r\n        <\/div>\r\n\r\n\r\n        <!-- FOCAL PULSE: visually reinforces the zoom target -->\r\n\r\n        <div\r\n          class=\"zslocation__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      <\/div>\r\n\r\n      <div class=\"zslocation__caption\">\r\n        <span>Nagy\u00edtson a t\u00e9rk\u00e9pen<\/span>\r\n        <i><\/i>\r\n        <strong data-caption>Zala Springs Eur\u00f3pa sz\u00edv\u00e9ben<\/strong>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n\r\n    <!-- ======================================================\r\n         COPY\r\n         ====================================================== -->\r\n\r\n    <article class=\"zslocation__content zslocation__reveal\">\r\n\r\n      <div class=\"zslocation__eyebrow\">\r\n        <span><\/span>\r\n        <b>ZALA SPRINGS RESIDENCES<\/b>\r\n      <\/div>\r\n\r\n      <h2 id=\"zslocation-title\">\r\n        Egyed\u00fcl\u00e1ll\u00f3 ingatlanfejleszt\u00e9s Magyarorsz\u00e1gon\r\n      <\/h2>\r\n\r\n      <div class=\"zslocation__gold-line\"><\/div>\r\n\r\n      <p class=\"zslocation__lead\">\r\n        A nyugat-balatoni r\u00e9gi\u00f3ban \u00e9p\u00fcl K\u00f6z\u00e9p-Eur\u00f3pa els\u0151 luxus resortja!\r\n      <\/p>\r\n\r\n      <p>\r\n        A Zala Springs Health &amp; Golf Resort Magyarorsz\u00e1g kiemelked\u0151\r\n        ingatlanfejleszt\u00e9se, ahol 160 hekt\u00e1ros ter\u00fcleten a 18 szakaszos,\r\n        nemzetk\u00f6zileg elismert Robert Trent Jones Jr. tervezte golfp\u00e1lya\r\n        mellett egy \u00f6tcsillagos sz\u00e1lloda, villapark, \u00fczletek, wellness\r\n        k\u00f6zpont, \u00e9ttermek \u00e9s luxus lak\u00f3ingatlan fejleszt\u00e9s is a projekt r\u00e9sze.\r\n      <\/p>\r\n\r\n      <p>\r\n        A beruh\u00e1z\u00e1s c\u00e9lja egy exkluz\u00edv golfklub \u00e9s golffalu l\u00e9trehoz\u00e1sa,\r\n        mely sz\u00e9ps\u00e9g\u00e9vel \u00e9s kiemelked\u0151 min\u0151s\u00e9g\u00e9vel nemcsak itthon, de\r\n        nemzetk\u00f6zileg is m\u00e9lt\u00e1n sz\u00e1m\u00edthat ingatlanbefektet\u00e9st keres\u0151k\r\n        \u00e9rdekl\u0151d\u00e9s\u00e9re.\r\n      <\/p>\r\n\r\n      <p>\r\n        Az Eur\u00f3pa-szerte \u00e9rt\u00e9kes term\u00e1lviz\u00e9r\u0151l ismert H\u00e9v\u00edzt\u0151l mind\u00f6ssze\r\n        8 km-re, a fest\u0151i k\u00f6rnyezet\u0171 Zalai-dombok \u00f6lel\u00e9s\u00e9ben \u00e9p\u00fcl\u0151\r\n        luxuskomplexum befektet\u00e9sk\u00e9nt \u00e9s \u00e9letvitelszer\u0171 tart\u00f3zkod\u00e1sra\r\n        egyar\u00e1nt a k\u00f6rny\u00e9k legjobb v\u00e1laszt\u00e1sa.\r\n      <\/p>\r\n\r\n    <\/article>\r\n\r\n  <\/div>\r\n\r\n\r\n  <style>\r\n    #zs-property-location,\r\n    #zs-property-location *,\r\n    #zs-property-location *::before,\r\n    #zs-property-location *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-property-location {\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      --viridian:\r\n        var(--zs-brand-viridian, #6b887c);\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(95px, 8vw, 145px)\r\n        clamp(20px, 4vw, 64px);\r\n\r\n      overflow: hidden;\r\n\r\n      background:\r\n        radial-gradient(\r\n          circle at 9% 8%,\r\n          rgba(194,162,47,.065),\r\n          transparent 25%\r\n        ),\r\n        linear-gradient(\r\n          180deg,\r\n          #fbfaf7,\r\n          #f6f3eb\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-location * {\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    button {\r\n      font: inherit;\r\n    }\r\n\r\n    .zslocation__inner {\r\n      width:\r\n        min(100%, 1480px);\r\n\r\n      margin:\r\n        0 auto;\r\n\r\n      display:\r\n        grid;\r\n\r\n      grid-template-columns:\r\n        minmax(0, 1.12fr)\r\n        minmax(390px, .88fr);\r\n\r\n      gap:\r\n        clamp(58px, 7vw, 112px);\r\n\r\n      align-items:\r\n        center;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       MAP STAGE\r\n       ========================================================= *\/\r\n\r\n    .zslocation__visual {\r\n      min-width: 0;\r\n    }\r\n\r\n    .zslocation__stage {\r\n      position: relative;\r\n\r\n      width: 100%;\r\n      aspect-ratio: 1.6 \/ 1;\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:\r\n        28px;\r\n\r\n      background:\r\n        #fff;\r\n\r\n      box-shadow:\r\n        0 28px 80px\r\n        rgba(38,53,44,.09);\r\n\r\n      isolation: isolate;\r\n\r\n      outline: none;\r\n\r\n      touch-action:\r\n        pan-y;\r\n    }\r\n\r\n    .zslocation__stage:focus-visible {\r\n      box-shadow:\r\n        0 0 0 3px rgba(194,162,47,.28),\r\n        0 28px 80px rgba(38,53,44,.09);\r\n    }\r\n\r\n    .zslocation__image-layer {\r\n      position: absolute;\r\n\r\n      inset: 0;\r\n\r\n      z-index: 1;\r\n\r\n      opacity: 0;\r\n\r\n      overflow: hidden;\r\n\r\n      pointer-events: none;\r\n\r\n      will-change:\r\n        opacity,\r\n        transform;\r\n    }\r\n\r\n    .zslocation__image-layer.is-active {\r\n      opacity: 1;\r\n    }\r\n\r\n    .zslocation__image-layer img {\r\n      position: absolute !important;\r\n\r\n      inset: 0 !important;\r\n\r\n      display: block !important;\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      transform:\r\n        scale(1);\r\n\r\n      transform-origin:\r\n        50% 50%;\r\n\r\n      will-change:\r\n        transform,\r\n        opacity;\r\n\r\n      user-select: none;\r\n\r\n      -webkit-user-drag: none;\r\n    }\r\n\r\n\r\n    \/*\r\n     * FORWARD:\r\n     * current image dramatically zooms exactly into the point\r\n     * where the next map lives.\r\n     *\/\r\n\r\n    .zslocation__image-layer.is-zooming-outgoing img {\r\n      animation:\r\n        zslocationZoomOutgoing\r\n        .82s\r\n        cubic-bezier(.58,.02,.3,1)\r\n        both;\r\n    }\r\n\r\n    .zslocation__image-layer.is-zooming-outgoing {\r\n      animation:\r\n        zslocationFadeOutgoing\r\n        .82s\r\n        cubic-bezier(.58,.02,.3,1)\r\n        both;\r\n    }\r\n\r\n    .zslocation__image-layer.is-zooming-incoming img {\r\n      animation:\r\n        zslocationZoomIncoming\r\n        .82s\r\n        cubic-bezier(.18,.75,.24,1)\r\n        both;\r\n    }\r\n\r\n    .zslocation__image-layer.is-zooming-incoming {\r\n      animation:\r\n        zslocationFadeIncoming\r\n        .82s\r\n        cubic-bezier(.18,.75,.24,1)\r\n        both;\r\n    }\r\n\r\n\r\n    \/*\r\n     * REVERSE \/ ZOOM OUT.\r\n     *\/\r\n\r\n    .zslocation__image-layer.is-unzooming-outgoing img {\r\n      animation:\r\n        zslocationUnzoomOutgoing\r\n        .78s\r\n        cubic-bezier(.58,.02,.3,1)\r\n        both;\r\n    }\r\n\r\n    .zslocation__image-layer.is-unzooming-outgoing {\r\n      animation:\r\n        zslocationFadeOutgoing\r\n        .78s\r\n        ease\r\n        both;\r\n    }\r\n\r\n    .zslocation__image-layer.is-unzooming-incoming img {\r\n      animation:\r\n        zslocationUnzoomIncoming\r\n        .78s\r\n        cubic-bezier(.18,.75,.24,1)\r\n        both;\r\n    }\r\n\r\n    .zslocation__image-layer.is-unzooming-incoming {\r\n      animation:\r\n        zslocationFadeIncoming\r\n        .78s\r\n        ease\r\n        both;\r\n    }\r\n\r\n    @keyframes zslocationZoomOutgoing {\r\n      0% {\r\n        transform:\r\n          scale(1);\r\n      }\r\n\r\n      100% {\r\n        transform:\r\n          scale(2.55);\r\n      }\r\n    }\r\n\r\n    @keyframes zslocationZoomIncoming {\r\n      0% {\r\n        transform:\r\n          scale(.82);\r\n      }\r\n\r\n      100% {\r\n        transform:\r\n          scale(1);\r\n      }\r\n    }\r\n\r\n    @keyframes zslocationUnzoomOutgoing {\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 zslocationUnzoomIncoming {\r\n      0% {\r\n        transform:\r\n          scale(2.2);\r\n      }\r\n\r\n      100% {\r\n        transform:\r\n          scale(1);\r\n      }\r\n    }\r\n\r\n    @keyframes zslocationFadeOutgoing {\r\n      0%,\r\n      38% {\r\n        opacity: 1;\r\n      }\r\n\r\n      100% {\r\n        opacity: 0;\r\n      }\r\n    }\r\n\r\n    @keyframes zslocationFadeIncoming {\r\n      0%,\r\n      27% {\r\n        opacity: 0;\r\n      }\r\n\r\n      100% {\r\n        opacity: 1;\r\n      }\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       MAP TOP\r\n       ========================================================= *\/\r\n\r\n    .zslocation__stage-top {\r\n      position: absolute;\r\n\r\n      z-index: 10;\r\n\r\n      top: 20px;\r\n      right: 20px;\r\n      left: 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: 20px;\r\n\r\n      pointer-events: none;\r\n    }\r\n\r\n    .zslocation__level {\r\n      min-height: 38px;\r\n\r\n      display:\r\n        inline-flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      gap: 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,.92);\r\n\r\n      box-shadow:\r\n        0 7px 24px rgba(38,53,44,.05);\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    .zslocation__level > span {\r\n      color:\r\n        var(--gold);\r\n\r\n      font-size: 10px;\r\n      font-weight: 700;\r\n\r\n      font-variant-numeric:\r\n        tabular-nums;\r\n    }\r\n\r\n    .zslocation__level i {\r\n      width: 24px;\r\n      height: 1px;\r\n\r\n      background:\r\n        rgba(38,53,44,.19);\r\n    }\r\n\r\n    .zslocation__level strong {\r\n      color:\r\n        var(--dark);\r\n\r\n      font-size: 9px;\r\n      font-weight: 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    .zslocation__hint {\r\n      color:\r\n        rgba(38,53,44,.56);\r\n\r\n      font-size: 8px;\r\n      font-weight: 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\r\n    \/* =========================================================\r\n       ZOOM CONTROL\r\n       ========================================================= *\/\r\n\r\n    .zslocation__zoom-controls {\r\n      position: absolute;\r\n\r\n      z-index: 15;\r\n\r\n      right: 20px;\r\n      bottom: 20px;\r\n\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      gap: 7px;\r\n\r\n      padding: 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,.94);\r\n\r\n      box-shadow:\r\n        0 12px 35px\r\n        rgba(38,53,44,.10);\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    .zslocation__zoom-button {\r\n      width: 46px;\r\n      height: 46px;\r\n\r\n      display:\r\n        grid;\r\n\r\n      place-items:\r\n        center;\r\n\r\n      padding: 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: 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    .zslocation__zoom-button svg {\r\n      width: 20px;\r\n      height: 20px;\r\n\r\n      fill: 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    .zslocation__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\r\n        rgba(194,162,47,.20);\r\n    }\r\n\r\n    .zslocation__zoom-button:disabled {\r\n      opacity: .30;\r\n\r\n      cursor:\r\n        default;\r\n    }\r\n\r\n    .zslocation__progress {\r\n      width: 68px;\r\n      height: 2px;\r\n\r\n      overflow: 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    .zslocation__progress span {\r\n      display: block;\r\n\r\n      width: 25%;\r\n      height: 100%;\r\n\r\n      border-radius:\r\n        inherit;\r\n\r\n      background:\r\n        var(--gold);\r\n\r\n      transform-origin:\r\n        left center;\r\n\r\n      transition:\r\n        width .55s\r\n        cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       STEPS\r\n       ========================================================= *\/\r\n\r\n    .zslocation__steps {\r\n      position: absolute;\r\n\r\n      z-index: 15;\r\n\r\n      bottom: 25px;\r\n      left: 24px;\r\n\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      gap: 7px;\r\n    }\r\n\r\n    .zslocation__step {\r\n      position:\r\n        relative;\r\n\r\n      width: 29px;\r\n      height: 29px;\r\n\r\n      display:\r\n        grid;\r\n\r\n      place-items:\r\n        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:\r\n        50%;\r\n\r\n      background:\r\n        rgba(251,250,247,.90);\r\n\r\n      color:\r\n        rgba(38,53,44,.45);\r\n\r\n      cursor:\r\n        pointer;\r\n\r\n      transition:\r\n        .3s ease;\r\n    }\r\n\r\n    .zslocation__step span {\r\n      font-size:\r\n        8px;\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    .zslocation__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       FOCAL PULSE\r\n       ========================================================= *\/\r\n\r\n    .zslocation__focus {\r\n      position:\r\n        absolute;\r\n\r\n      z-index:\r\n        12;\r\n\r\n      left:\r\n        var(--focus-x, 71%);\r\n\r\n      top:\r\n        var(--focus-y, 55%);\r\n\r\n      width:\r\n        34px;\r\n\r\n      height:\r\n        34px;\r\n\r\n      transform:\r\n        translate(-50%, -50%);\r\n\r\n      pointer-events:\r\n        none;\r\n\r\n      opacity:\r\n        0;\r\n\r\n      transition:\r\n        left .55s ease,\r\n        top .55s ease;\r\n    }\r\n\r\n    .zslocation__focus.is-pulsing {\r\n      opacity:\r\n        1;\r\n    }\r\n\r\n    .zslocation__focus span,\r\n    .zslocation__focus i {\r\n      position:\r\n        absolute;\r\n\r\n      inset:\r\n        50% auto auto 50%;\r\n\r\n      border:\r\n        1px solid rgba(194,162,47,.82);\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    .zslocation__focus span {\r\n      width: 11px;\r\n      height: 11px;\r\n\r\n      background:\r\n        var(--gold);\r\n    }\r\n\r\n    .zslocation__focus i {\r\n      width: 34px;\r\n      height: 34px;\r\n\r\n      animation:\r\n        zslocationPulse 1.25s\r\n        ease-out infinite;\r\n    }\r\n\r\n    @keyframes zslocationPulse {\r\n      0% {\r\n        opacity: .8;\r\n        transform:\r\n          translate(-50%, -50%)\r\n          scale(.45);\r\n      }\r\n\r\n      100% {\r\n        opacity: 0;\r\n        transform:\r\n          translate(-50%, -50%)\r\n          scale(1.35);\r\n      }\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       CAPTION\r\n       ========================================================= *\/\r\n\r\n    .zslocation__caption {\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      gap: 12px;\r\n\r\n      margin-top:\r\n        18px;\r\n\r\n      color:\r\n        #8a918d;\r\n\r\n      font-size:\r\n        10px;\r\n\r\n      letter-spacing:\r\n        .06em;\r\n    }\r\n\r\n    .zslocation__caption > span {\r\n      color:\r\n        #a18730;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      text-transform:\r\n        uppercase;\r\n\r\n      letter-spacing:\r\n        .13em;\r\n    }\r\n\r\n    .zslocation__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    .zslocation__caption strong {\r\n      color:\r\n        var(--muted);\r\n\r\n      font-weight:\r\n        400;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       CONTENT\r\n       ========================================================= *\/\r\n\r\n    .zslocation__content {\r\n      max-width:\r\n        590px;\r\n    }\r\n\r\n    .zslocation__eyebrow {\r\n      display:\r\n        flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      gap:\r\n        12px;\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      text-transform:\r\n        uppercase;\r\n    }\r\n\r\n    .zslocation__eyebrow span {\r\n      width:\r\n        32px;\r\n\r\n      height:\r\n        1px;\r\n\r\n      background:\r\n        var(--gold);\r\n    }\r\n\r\n    .zslocation__eyebrow b {\r\n      font-weight:\r\n        700;\r\n    }\r\n\r\n    .zslocation__content 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, 4vw, 67px);\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      text-wrap:\r\n        balance;\r\n    }\r\n\r\n    .zslocation__gold-line {\r\n      width:\r\n        58px;\r\n\r\n      height:\r\n        1px;\r\n\r\n      margin:\r\n        27px 0 28px;\r\n\r\n      background:\r\n        var(--gold);\r\n    }\r\n\r\n    .zslocation__content p {\r\n      margin:\r\n        0 0 19px !important;\r\n\r\n      color:\r\n        var(--muted);\r\n\r\n      font-size:\r\n        clamp(15px, 1.03vw, 17px);\r\n\r\n      line-height:\r\n        1.72;\r\n    }\r\n\r\n    .zslocation__content\r\n    .zslocation__lead {\r\n      color:\r\n        var(--dark);\r\n\r\n      font-size:\r\n        clamp(18px, 1.32vw, 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    .zslocation__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\r\n        cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zslocation__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      .zslocation__zoom-button:not(:disabled):hover {\r\n        background:\r\n          var(--forest);\r\n\r\n        color:\r\n          #fff;\r\n\r\n        transform:\r\n          translateY(-2px);\r\n      }\r\n\r\n      .zslocation__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      .zslocation__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       1366\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:1366px) {\r\n\r\n      #zs-property-location {\r\n        padding:\r\n          105px 40px;\r\n      }\r\n\r\n      .zslocation__inner {\r\n        gap:\r\n          70px;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       1200\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:1200px) {\r\n\r\n      #zs-property-location {\r\n        padding:\r\n          94px 32px;\r\n      }\r\n\r\n      .zslocation__inner {\r\n        grid-template-columns:\r\n          minmax(0, 1.05fr)\r\n          minmax(360px, .95fr);\r\n\r\n        gap:\r\n          55px;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       1024\r\n       Image \/ map ALWAYS first.\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:1024px) {\r\n\r\n      #zs-property-location {\r\n        padding:\r\n          84px 24px 96px;\r\n      }\r\n\r\n      .zslocation__inner {\r\n        display:\r\n          flex;\r\n\r\n        flex-direction:\r\n          column;\r\n\r\n        gap:\r\n          52px;\r\n      }\r\n\r\n      .zslocation__visual {\r\n        order:\r\n          1;\r\n\r\n        width:\r\n          min(100%, 850px);\r\n      }\r\n\r\n      .zslocation__content {\r\n        order:\r\n          2;\r\n\r\n        width:\r\n          min(100%, 850px);\r\n\r\n        max-width:\r\n          none;\r\n      }\r\n\r\n      .zslocation__stage {\r\n        aspect-ratio:\r\n          1.6 \/ 1;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       880\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:880px) {\r\n\r\n      #zs-property-location {\r\n        padding:\r\n          76px 18px 86px;\r\n      }\r\n\r\n      .zslocation__stage {\r\n        border-radius:\r\n          22px;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       767\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:767px) {\r\n\r\n      #zs-property-location {\r\n        padding:\r\n          68px 12px 78px;\r\n      }\r\n\r\n      .zslocation__inner {\r\n        gap:\r\n          38px;\r\n      }\r\n\r\n      .zslocation__stage {\r\n        aspect-ratio:\r\n          1 \/ .88;\r\n\r\n        border-radius:\r\n          19px;\r\n      }\r\n\r\n      .zslocation__image-layer img {\r\n        object-fit:\r\n          cover !important;\r\n      }\r\n\r\n      .zslocation__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      .zslocation__hint {\r\n        display:\r\n          none;\r\n      }\r\n\r\n      .zslocation__level {\r\n        min-height:\r\n          34px;\r\n\r\n        padding:\r\n          0 11px;\r\n      }\r\n\r\n      .zslocation__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      .zslocation__zoom-button {\r\n        width:\r\n          42px;\r\n\r\n        height:\r\n          42px;\r\n      }\r\n\r\n      .zslocation__progress {\r\n        width:\r\n          44px;\r\n      }\r\n\r\n      .zslocation__steps {\r\n        bottom:\r\n          17px;\r\n\r\n        left:\r\n          14px;\r\n\r\n        gap:\r\n          5px;\r\n      }\r\n\r\n      .zslocation__step {\r\n        width:\r\n          26px;\r\n\r\n        height:\r\n          26px;\r\n      }\r\n\r\n      .zslocation__caption {\r\n        margin-top:\r\n          13px;\r\n\r\n        font-size:\r\n          9px;\r\n      }\r\n\r\n      .zslocation__caption strong {\r\n        display:\r\n          none;\r\n      }\r\n\r\n      .zslocation__content h2 {\r\n        font-size:\r\n          clamp(38px, 10vw, 50px);\r\n      }\r\n\r\n      .zslocation__content\r\n      .zslocation__lead {\r\n        font-size:\r\n          17px;\r\n      }\r\n\r\n      .zslocation__content p {\r\n        font-size:\r\n          15px;\r\n\r\n        line-height:\r\n          1.68;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    @media (max-width:480px) {\r\n\r\n      .zslocation__stage {\r\n        aspect-ratio:\r\n          .92 \/ 1;\r\n      }\r\n\r\n      .zslocation__zoom-controls {\r\n        gap:\r\n          4px;\r\n      }\r\n\r\n      .zslocation__progress {\r\n        width:\r\n          34px;\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-property-location *,\r\n      #zs-property-location *::before,\r\n      #zs-property-location *::after {\r\n        animation:\r\n          none !important;\r\n\r\n        transition:\r\n          none !important;\r\n      }\r\n\r\n      .zslocation__reveal {\r\n        opacity:\r\n          1 !important;\r\n\r\n        transform:\r\n          none !important;\r\n      }\r\n\r\n      .zslocation__image-layer {\r\n        opacity:\r\n          0 !important;\r\n      }\r\n\r\n      .zslocation__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-property-location'\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       MAP DATA\r\n       focalX \/ focalY:\r\n       exact visual point toward which the CURRENT map zooms\r\n       before revealing the NEXT level.\r\n       ========================================================= *\/\r\n\r\n    const maps = [\r\n\r\n      {\r\n        src:\r\n          '\/wp-content\/uploads\/2026\/09\/terkep-hu.jpg',\r\n\r\n        alt:\r\n          'A Zala Springs elhelyezked\u00e9se Eur\u00f3p\u00e1ban',\r\n\r\n        label:\r\n          'Eur\u00f3pa',\r\n\r\n        caption:\r\n          'Zala Springs Eur\u00f3pa sz\u00edv\u00e9ben',\r\n\r\n        focalX:\r\n          71.0,\r\n\r\n        focalY:\r\n          56.0\r\n      },\r\n\r\n      {\r\n        src:\r\n          '\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-02.jpg',\r\n\r\n        alt:\r\n          'A Zala Springs elhelyezked\u00e9se Magyarorsz\u00e1gon',\r\n\r\n        label:\r\n          'Magyarorsz\u00e1g',\r\n\r\n        caption:\r\n          'A Balaton nyugati kapuj\u00e1ban',\r\n\r\n        focalX:\r\n          23.5,\r\n\r\n        focalY:\r\n          60.0\r\n      },\r\n\r\n      {\r\n        src:\r\n          '\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-03.jpg',\r\n\r\n        alt:\r\n          'A Zala Springs a Balaton \u00e9s H\u00e9v\u00edz k\u00f6zel\u00e9ben',\r\n\r\n        label:\r\n          'Balaton',\r\n\r\n        caption:\r\n          'H\u00e9v\u00edzt\u0151l mind\u00f6ssze 8 kilom\u00e9terre',\r\n\r\n        focalX:\r\n          27.8,\r\n\r\n        focalY:\r\n          49.5\r\n      },\r\n\r\n      {\r\n        src:\r\n          '\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-04.jpg',\r\n\r\n        alt:\r\n          'A Zala Springs Golf Resort t\u00e9rk\u00e9pe',\r\n\r\n        label:\r\n          'Zala Springs',\r\n\r\n        caption:\r\n          '160 hekt\u00e1r egyed\u00fcl\u00e1ll\u00f3 k\u00f6rnyezetben',\r\n\r\n        focalX:\r\n          50,\r\n\r\n        focalY:\r\n          52\r\n      }\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\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 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      [\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    \/* =========================================================\r\n       PRELOAD\r\n       ========================================================= *\/\r\n\r\n    maps.forEach(\r\n      item => {\r\n\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\r\n    \/* =========================================================\r\n       UI\r\n       ========================================================= *\/\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        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\r\n              .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            }\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    \/* =========================================================\r\n       FOCUS PULSE\r\n       ========================================================= *\/\r\n\r\n    const pulseFocus =\r\n      fromIndex => {\r\n\r\n        const item =\r\n          maps[fromIndex];\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          720\r\n        );\r\n\r\n      };\r\n\r\n\r\n    \/* =========================================================\r\n       TRANSITION\r\n       ========================================================= *\/\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        \/*\r\n         * For direct dot navigation we still perform one\r\n         * cinematic transition toward the selected level.\r\n         *\/\r\n        const oldIndex =\r\n          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        busy =\r\n          true;\r\n\r\n        pulseFocus(\r\n          forward\r\n            ? oldIndex\r\n            : nextIndex\r\n        );\r\n\r\n\r\n        \/*\r\n         * Critical:\r\n         * transform-origin is the exact geographic point\r\n         * where the next map is located.\r\n         *\/\r\n        const focal =\r\n          forward\r\n            ? maps[oldIndex]\r\n            : maps[nextIndex];\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            'zslocation__image-layer';\r\n\r\n          incoming.className =\r\n            'zslocation__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          'zslocation__image-layer';\r\n\r\n\r\n        void incoming.offsetWidth;\r\n\r\n\r\n        if (forward) {\r\n\r\n          outgoing.className =\r\n            'zslocation__image-layer is-active is-zooming-outgoing';\r\n\r\n          incoming.className =\r\n            'zslocation__image-layer is-zooming-incoming';\r\n\r\n        }\r\n\r\n        else {\r\n\r\n          outgoing.className =\r\n            'zslocation__image-layer is-active is-unzooming-outgoing';\r\n\r\n          incoming.className =\r\n            'zslocation__image-layer is-unzooming-incoming';\r\n\r\n        }\r\n\r\n\r\n        \/*\r\n         * Text\/nav updates around the visual midpoint,\r\n         * making the level change feel attached to the zoom.\r\n         *\/\r\n        window.setTimeout(\r\n          () => {\r\n\r\n            index =\r\n              nextIndex;\r\n\r\n            updateUi();\r\n\r\n          },\r\n          390\r\n        );\r\n\r\n\r\n        window.setTimeout(\r\n          () => {\r\n\r\n            outgoing.className =\r\n              'zslocation__image-layer';\r\n\r\n            incoming.className =\r\n              'zslocation__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          850\r\n        );\r\n\r\n      };\r\n\r\n\r\n    \/* =========================================================\r\n       CONTROLS\r\n       ========================================================= *\/\r\n\r\n    zoomIn.addEventListener(\r\n      'click',\r\n      () =>\r\n        goTo(\r\n          index + 1\r\n        )\r\n    );\r\n\r\n    zoomOut.addEventListener(\r\n      'click',\r\n      () =>\r\n        goTo(\r\n          index - 1\r\n        )\r\n    );\r\n\r\n\r\n    stepButtons.forEach(\r\n      button => {\r\n\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\r\n    stage.addEventListener(\r\n      'keydown',\r\n      event => {\r\n\r\n        if (\r\n          event.key ===\r\n          'ArrowRight' ||\r\n          event.key ===\r\n          '+' ||\r\n          event.key ===\r\n          '='\r\n        ) {\r\n\r\n          event.preventDefault();\r\n\r\n          goTo(\r\n            index + 1\r\n          );\r\n\r\n        }\r\n\r\n        if (\r\n          event.key ===\r\n          'ArrowLeft' ||\r\n          event.key ===\r\n          '-'\r\n        ) {\r\n\r\n          event.preventDefault();\r\n\r\n          goTo(\r\n            index - 1\r\n          );\r\n\r\n        }\r\n\r\n      }\r\n    );\r\n\r\n\r\n    \/* =========================================================\r\n       SWIPE\r\n       ========================================================= *\/\r\n\r\n    stage.addEventListener(\r\n      'touchstart',\r\n      event => {\r\n\r\n        touchStartX =\r\n          event.touches[0]\r\n            .clientX;\r\n\r\n      },\r\n      {\r\n        passive:\r\n          true\r\n      }\r\n    );\r\n\r\n\r\n    stage.addEventListener(\r\n      'touchend',\r\n      event => {\r\n\r\n        const endX =\r\n          event.changedTouches[0]\r\n            .clientX;\r\n\r\n        const delta =\r\n          endX -\r\n          touchStartX;\r\n\r\n        if (\r\n          Math.abs(delta) <\r\n          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      {\r\n        passive:\r\n          true\r\n      }\r\n    );\r\n\r\n\r\n    \/* =========================================================\r\n       REVEAL\r\n       ========================================================= *\/\r\n\r\n    const reveal =\r\n      root.querySelectorAll(\r\n        '.zslocation__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    }\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-fbf40f8 e-con-full e-flex e-con e-parent\" data-id=\"fbf40f8\" 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-cfb5049 elementor-widget elementor-widget-html\" data-id=\"cfb5049\" 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 \/ INGATLANT\u00cdPUSOK -->\r\n<section id=\"zs-property-types\" class=\"zs-main zsptypes\" aria-labelledby=\"zsptypes-title\">\r\n\r\n  <div class=\"zsptypes__inner\">\r\n\r\n    <header class=\"zsptypes__header zsptypes__reveal\">\r\n      <div class=\"zsptypes__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=\"zsptypes-title\">\r\n        Ismerje meg exkluz\u00edv ingatlank\u00edn\u00e1latunkat!\r\n      <\/h2>\r\n\r\n      <p>\r\n        Fedezze fel a Zala Springs k\u00fcl\u00f6nb\u00f6z\u0151 karakter\u0171 otthonait \u2013 a golfp\u00e1lya k\u00f6zvetlen\r\n        k\u00f6zel\u00e9ben, a t\u00f3parton vagy \u00f6n\u00e1ll\u00f3 luxusvillak\u00e9nt.\r\n      <\/p>\r\n    <\/header>\r\n\r\n\r\n    <div class=\"zsptypes__grid\">\r\n\r\n      <!-- GOLF-SIDE -->\r\n      <a class=\"zsptypes__card zsptypes__reveal\" href=\"\/hu\/ingatlan-golf-side-apartmanok\/\">\r\n\r\n        <div class=\"zsptypes__media\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-tipus-02.jpg\"\r\n            alt=\"Golf-Side apartmanok a Zala Springsben\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n\r\n          <div class=\"zsptypes__media-shade\" aria-hidden=\"true\"><\/div>\r\n\r\n          <span class=\"zsptypes__number\" aria-hidden=\"true\">\r\n            01\r\n          <\/span>\r\n        <\/div>\r\n\r\n        <div class=\"zsptypes__body\">\r\n\r\n          <span class=\"zsptypes__type\">\r\n            APARTMANOK\r\n          <\/span>\r\n\r\n          <h3>\r\n            Golf-Side\r\n          <\/h3>\r\n\r\n          <div class=\"zsptypes__line\"><\/div>\r\n\r\n          <p>\r\n            Modern \u00e9s rugalmas otthon profit r\u00e9szesed\u00e9ssel\r\n          <\/p>\r\n\r\n          <strong>\r\n            2 milli\u00f3 Ft-os m\u00b2 \u00e1rt\u00f3l.\r\n          <\/strong>\r\n\r\n          <span class=\"zsptypes__card-cta\">\r\n            <span>Megn\u00e9zem<\/span>\r\n            <span class=\"zsptypes__card-cta-icon\" 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          <\/span>\r\n\r\n        <\/div>\r\n\r\n      <\/a>\r\n\r\n\r\n      <!-- LAKE-SIDE -->\r\n      <a class=\"zsptypes__card zsptypes__reveal\" href=\"\/hu\/ingatlan-lake-side-apartmanok\/\">\r\n\r\n        <div class=\"zsptypes__media\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-tipus-03.jpg\"\r\n            alt=\"Lake-Side apartmanok a Zala Springsben\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n\r\n          <div class=\"zsptypes__media-shade\" aria-hidden=\"true\"><\/div>\r\n\r\n          <span class=\"zsptypes__number\" aria-hidden=\"true\">\r\n            02\r\n          <\/span>\r\n        <\/div>\r\n\r\n        <div class=\"zsptypes__body\">\r\n\r\n          <span class=\"zsptypes__type\">\r\n            APARTMANOK\r\n          <\/span>\r\n\r\n          <h3>\r\n            Lake-Side\r\n          <\/h3>\r\n\r\n          <div class=\"zsptypes__line\"><\/div>\r\n\r\n          <p>\r\n            Panor\u00e1m\u00e1s luxus otthon\r\n          <\/p>\r\n\r\n          <strong>\r\n            1,9 milli\u00f3 Ft-os m\u00b2 \u00e1rt\u00f3l.\r\n          <\/strong>\r\n\r\n          <span class=\"zsptypes__card-cta\">\r\n            <span>Megn\u00e9zem<\/span>\r\n            <span class=\"zsptypes__card-cta-icon\" 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          <\/span>\r\n\r\n        <\/div>\r\n\r\n      <\/a>\r\n\r\n\r\n      <!-- LUXURY VILLAS -->\r\n      <a class=\"zsptypes__card zsptypes__reveal\" href=\"\/hu\/ingatlan-luxus-villak\/\">\r\n\r\n        <div class=\"zsptypes__media\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-tipus-04.jpg\"\r\n            alt=\"Luxus vill\u00e1k a Zala Springsben\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n\r\n          <div class=\"zsptypes__media-shade\" aria-hidden=\"true\"><\/div>\r\n\r\n          <span class=\"zsptypes__number\" aria-hidden=\"true\">\r\n            03\r\n          <\/span>\r\n        <\/div>\r\n\r\n        <div class=\"zsptypes__body\">\r\n\r\n          <span class=\"zsptypes__type\">\r\n            VILL\u00c1K\r\n          <\/span>\r\n\r\n          <h3>\r\n            Luxus vill\u00e1k\r\n          <\/h3>\r\n\r\n          <div class=\"zsptypes__line\"><\/div>\r\n\r\n          <p>\r\n            Egyed\u00fcl\u00e1ll\u00f3 pr\u00e9mium vill\u00e1k\r\n          <\/p>\r\n\r\n          <strong>\r\n            3 milli\u00f3 Ft-os m\u00b2 \u00e1rt\u00f3l.\r\n          <\/strong>\r\n\r\n          <span class=\"zsptypes__card-cta\">\r\n            <span>Megn\u00e9zem<\/span>\r\n            <span class=\"zsptypes__card-cta-icon\" 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          <\/span>\r\n\r\n        <\/div>\r\n\r\n      <\/a>\r\n\r\n    <\/div>\r\n\r\n\r\n    <div class=\"zsptypes__footer zsptypes__reveal\">\r\n\r\n      <a\r\n        class=\"zsptypes__cta\"\r\n        href=\"\/hu\/virtualis-lakaslista\/\"\r\n      >\r\n        <span>\r\n          El\u00e9rhet\u0151 lak\u00e1saink\r\n        <\/span>\r\n\r\n        <span class=\"zsptypes__cta-icon\" 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      <\/a>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <style>\r\n\r\n    #zs-property-types,\r\n    #zs-property-types *,\r\n    #zs-property-types *::before,\r\n    #zs-property-types *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-property-types {\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(94px,8vw,142px)\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          #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-property-types * {\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-types a {\r\n      text-decoration: none;\r\n    }\r\n\r\n    .zsptypes__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    .zsptypes__header {\r\n      width:\r\n        min(100%, 940px);\r\n\r\n      margin:\r\n        0 auto\r\n        clamp(46px,5vw,74px);\r\n\r\n      text-align:\r\n        center;\r\n    }\r\n\r\n    .zsptypes__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    .zsptypes__eyebrow span {\r\n      width:\r\n        50px;\r\n\r\n      height:\r\n        1px;\r\n\r\n      background:\r\n        rgba(194,162,47,.65);\r\n    }\r\n\r\n    .zsptypes__eyebrow b {\r\n      font-weight:\r\n        700;\r\n    }\r\n\r\n    .zsptypes__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,74px);\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      text-wrap:\r\n        balance;\r\n    }\r\n\r\n    .zsptypes__header p {\r\n      width:\r\n        min(100%, 720px);\r\n\r\n      margin:\r\n        18px auto 0 !important;\r\n\r\n      color:\r\n        var(--muted);\r\n\r\n      font-size:\r\n        clamp(15px,1.02vw,18px);\r\n\r\n      line-height:\r\n        1.65;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       GRID\r\n       ========================================================= *\/\r\n\r\n    .zsptypes__grid {\r\n      display:\r\n        grid;\r\n\r\n      grid-template-columns:\r\n        repeat(3,minmax(0,1fr));\r\n\r\n      gap:\r\n        clamp(20px,2vw,30px);\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       CARD\r\n       ========================================================= *\/\r\n\r\n    .zsptypes__card {\r\n      position:\r\n        relative;\r\n\r\n      display:\r\n        block;\r\n\r\n      color:\r\n        inherit !important;\r\n\r\n      cursor:\r\n        pointer;\r\n\r\n      text-decoration:\r\n        none !important;\r\n\r\n      position:\r\n        relative;\r\n\r\n      overflow:\r\n        hidden;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.08);\r\n\r\n      border-radius:\r\n        28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.88);\r\n\r\n      box-shadow:\r\n        0 18px 55px\r\n        rgba(38,53,44,.055);\r\n\r\n      transition:\r\n        transform .45s\r\n        cubic-bezier(.2,.72,.2,1),\r\n        box-shadow .4s ease,\r\n        border-color .35s ease;\r\n    }\r\n\r\n    .zsptypes__media {\r\n      position:\r\n        relative;\r\n\r\n      aspect-ratio:\r\n        1.36 \/ 1;\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        #dbe1dc;\r\n    }\r\n\r\n    .zsptypes__media 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.02);\r\n\r\n      transition:\r\n        transform .85s\r\n        cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zsptypes__media-shade {\r\n      position:\r\n        absolute;\r\n\r\n      inset:\r\n        0;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          rgba(16,31,23,.02),\r\n          rgba(16,31,23,.30)\r\n        );\r\n\r\n      pointer-events:\r\n        none;\r\n    }\r\n\r\n    .zsptypes__number {\r\n      position:\r\n        absolute;\r\n\r\n      left:\r\n        18px;\r\n\r\n      bottom:\r\n        16px;\r\n\r\n      z-index:\r\n        3;\r\n\r\n      display:\r\n        inline-flex;\r\n\r\n      align-items:\r\n        center;\r\n\r\n      justify-content:\r\n        center;\r\n\r\n      min-width:\r\n        42px;\r\n\r\n      height:\r\n        31px;\r\n\r\n      padding:\r\n        0 10px;\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        9px;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      letter-spacing:\r\n        .13em;\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    .zsptypes__body {\r\n      padding:\r\n        25px 26px 29px;\r\n\r\n      text-align:\r\n        center;\r\n    }\r\n\r\n    .zsptypes__type {\r\n      display:\r\n        inline-block;\r\n\r\n      margin-bottom:\r\n        8px;\r\n\r\n      color:\r\n        #a2872e;\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        .18em;\r\n\r\n      text-transform:\r\n        uppercase;\r\n    }\r\n\r\n    .zsptypes__body h3 {\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(31px,2.25vw,42px);\r\n\r\n      font-weight:\r\n        400 !important;\r\n\r\n      line-height:\r\n        1.05 !important;\r\n\r\n      letter-spacing:\r\n        -.018em;\r\n    }\r\n\r\n    .zsptypes__line {\r\n      width:\r\n        42px;\r\n\r\n      height:\r\n        1px;\r\n\r\n      margin:\r\n        16px auto 16px;\r\n\r\n      background:\r\n        var(--gold);\r\n    }\r\n\r\n    .zsptypes__body p {\r\n      margin:\r\n        0 !important;\r\n\r\n      color:\r\n        var(--muted);\r\n\r\n      font-size:\r\n        15px;\r\n\r\n      line-height:\r\n        1.55;\r\n    }\r\n\r\n    .zsptypes__body strong {\r\n      display:\r\n        block;\r\n\r\n      margin-top:\r\n        4px;\r\n\r\n      color:\r\n        var(--dark);\r\n\r\n      font-size:\r\n        15px;\r\n\r\n      font-weight:\r\n        500;\r\n\r\n      line-height:\r\n        1.45;\r\n    }\r\n\r\n\r\n    .zsptypes__card-cta {\r\n      display:\r\n        inline-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        11px;\r\n\r\n      margin-top:\r\n        20px;\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        700;\r\n\r\n      letter-spacing:\r\n        .08em;\r\n\r\n      text-transform:\r\n        uppercase;\r\n    }\r\n\r\n    .zsptypes__card-cta-icon {\r\n      width:\r\n        32px;\r\n\r\n      height:\r\n        32px;\r\n\r\n      display:\r\n        grid;\r\n\r\n      place-items:\r\n        center;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.14);\r\n\r\n      border-radius:\r\n        50%;\r\n\r\n      background:\r\n        #fff;\r\n\r\n      color:\r\n        var(--gold);\r\n\r\n      transition:\r\n        background-color .3s ease,\r\n        color .3s ease,\r\n        border-color .3s ease,\r\n        transform .3s ease;\r\n    }\r\n\r\n    .zsptypes__card-cta-icon svg {\r\n      width:\r\n        14px;\r\n\r\n      height:\r\n        14px;\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.8;\r\n\r\n      stroke-linecap:\r\n        round;\r\n\r\n      stroke-linejoin:\r\n        round;\r\n\r\n      transition:\r\n        transform .3s ease;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       FOOTER CTA\r\n       ========================================================= *\/\r\n\r\n    .zsptypes__footer {\r\n      display:\r\n        flex;\r\n\r\n      justify-content:\r\n        center;\r\n\r\n      margin-top:\r\n        clamp(44px,5vw,70px);\r\n    }\r\n\r\n    .zsptypes__cta {\r\n      min-height:\r\n        58px;\r\n\r\n      display:\r\n        inline-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        20px;\r\n\r\n      padding:\r\n        7px 8px 7px 25px;\r\n\r\n      border:\r\n        1px solid var(--dark);\r\n\r\n      border-radius:\r\n        999px;\r\n\r\n      background:\r\n        var(--dark);\r\n\r\n      color:\r\n        #fff !important;\r\n\r\n      font-size:\r\n        12px;\r\n\r\n      font-weight:\r\n        700;\r\n\r\n      letter-spacing:\r\n        .035em;\r\n\r\n      transition:\r\n        background-color .3s ease,\r\n        border-color .3s ease,\r\n        color .3s ease,\r\n        transform .3s ease,\r\n        box-shadow .3s ease;\r\n    }\r\n\r\n    .zsptypes__cta-icon {\r\n      width:\r\n        43px;\r\n\r\n      height:\r\n        43px;\r\n\r\n      display:\r\n        grid;\r\n\r\n      place-items:\r\n        center;\r\n\r\n      flex:\r\n        0 0 43px;\r\n\r\n      border-radius:\r\n        50%;\r\n\r\n      background:\r\n        var(--gold);\r\n\r\n      color:\r\n        var(--dark);\r\n    }\r\n\r\n    .zsptypes__cta svg {\r\n      width:\r\n        17px;\r\n\r\n      height:\r\n        17px;\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.7;\r\n\r\n      stroke-linecap:\r\n        round;\r\n\r\n      stroke-linejoin:\r\n        round;\r\n\r\n      transition:\r\n        transform .3s ease;\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       REVEAL\r\n       ========================================================= *\/\r\n\r\n    .zsptypes__reveal {\r\n      opacity:\r\n        0;\r\n\r\n      transform:\r\n        translateY(28px);\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    .zsptypes__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      .zsptypes__card:hover {\r\n        transform:\r\n          translateY(-8px);\r\n\r\n        border-color:\r\n          rgba(194,162,47,.30);\r\n\r\n        box-shadow:\r\n          0 28px 75px\r\n          rgba(38,53,44,.10);\r\n      }\r\n\r\n      .zsptypes__card:hover\r\n      .zsptypes__media img {\r\n        transform:\r\n          scale(1.07);\r\n      }\r\n\r\n      .zsptypes__card:hover\r\n      .zsptypes__card-cta-icon {\r\n        border-color:\r\n          var(--gold);\r\n\r\n        background:\r\n          var(--gold);\r\n\r\n        color:\r\n          var(--dark);\r\n\r\n        transform:\r\n          translateX(2px);\r\n      }\r\n\r\n      .zsptypes__card:hover\r\n      .zsptypes__card-cta-icon svg {\r\n        transform:\r\n          translateX(3px);\r\n      }\r\n\r\n      .zsptypes__cta:hover {\r\n        border-color:\r\n          var(--gold);\r\n\r\n        background:\r\n          var(--gold);\r\n\r\n        color:\r\n          var(--dark) !important;\r\n\r\n        transform:\r\n          translateY(-2px);\r\n\r\n        box-shadow:\r\n          0 14px 35px\r\n          rgba(194,162,47,.22);\r\n      }\r\n\r\n      .zsptypes__cta:hover\r\n      .zsptypes__cta-icon {\r\n        background:\r\n          rgba(38,53,44,.10);\r\n      }\r\n\r\n      .zsptypes__cta:hover svg {\r\n        transform:\r\n          translateX(4px);\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       1366\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:1366px) {\r\n\r\n      #zs-property-types {\r\n        padding:\r\n          104px 40px 110px;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       1200\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:1200px) {\r\n\r\n      #zs-property-types {\r\n        padding:\r\n          94px 30px 102px;\r\n      }\r\n\r\n      .zsptypes__grid {\r\n        gap:\r\n          18px;\r\n      }\r\n\r\n      .zsptypes__body {\r\n        padding:\r\n          23px 21px 26px;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       1024\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:1024px) {\r\n\r\n      #zs-property-types {\r\n        padding:\r\n          84px 22px 94px;\r\n      }\r\n\r\n      .zsptypes__grid {\r\n        grid-template-columns:\r\n          1fr;\r\n      }\r\n\r\n      .zsptypes__card {\r\n        width:\r\n          min(100%, 820px);\r\n\r\n        margin:\r\n          0 auto;\r\n\r\n        display:\r\n          grid;\r\n\r\n        grid-template-columns:\r\n          minmax(320px, .95fr)\r\n          minmax(0, 1.05fr);\r\n\r\n        align-items:\r\n          stretch;\r\n      }\r\n\r\n      .zsptypes__media {\r\n        min-height:\r\n          330px;\r\n\r\n        aspect-ratio:\r\n          auto;\r\n      }\r\n\r\n      .zsptypes__body {\r\n        display:\r\n          flex;\r\n\r\n        flex-direction:\r\n          column;\r\n\r\n        align-items:\r\n          center;\r\n\r\n        justify-content:\r\n          center;\r\n\r\n        padding:\r\n          34px;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       880\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:880px) {\r\n\r\n      #zs-property-types {\r\n        padding:\r\n          76px 18px 86px;\r\n      }\r\n\r\n      .zsptypes__card {\r\n        grid-template-columns:\r\n          1fr;\r\n      }\r\n\r\n      .zsptypes__media {\r\n        min-height:\r\n          300px;\r\n\r\n        aspect-ratio:\r\n          1.5 \/ 1;\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =========================================================\r\n       767\r\n       ========================================================= *\/\r\n\r\n    @media (max-width:767px) {\r\n\r\n      #zs-property-types {\r\n        padding:\r\n          68px 12px 76px;\r\n      }\r\n\r\n      .zsptypes__header {\r\n        margin-bottom:\r\n          38px;\r\n      }\r\n\r\n      .zsptypes__eyebrow {\r\n        gap:\r\n          9px;\r\n\r\n        font-size:\r\n          8px;\r\n      }\r\n\r\n      .zsptypes__eyebrow span {\r\n        width:\r\n          28px;\r\n      }\r\n\r\n      .zsptypes__header h2 {\r\n        font-size:\r\n          clamp(38px,10vw,50px);\r\n      }\r\n\r\n      .zsptypes__header p {\r\n        font-size:\r\n          15px;\r\n      }\r\n\r\n      .zsptypes__card {\r\n        border-radius:\r\n          20px;\r\n      }\r\n\r\n      .zsptypes__media {\r\n        min-height:\r\n          250px;\r\n\r\n        margin:\r\n          6px;\r\n\r\n        border-radius:\r\n          14px;\r\n      }\r\n\r\n      .zsptypes__body {\r\n        padding:\r\n          24px 20px 27px;\r\n      }\r\n\r\n      .zsptypes__body h3 {\r\n        font-size:\r\n          clamp(31px,8.5vw,40px);\r\n      }\r\n\r\n      .zsptypes__cta {\r\n        width:\r\n          100%;\r\n\r\n        justify-content:\r\n          space-between;\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-property-types *,\r\n      #zs-property-types *::before,\r\n      #zs-property-types *::after {\r\n        animation:\r\n          none !important;\r\n\r\n        transition:\r\n          none !important;\r\n      }\r\n\r\n      .zsptypes__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-property-types'\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 items =\r\n      root.querySelectorAll(\r\n        '.zsptypes__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.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    items.forEach(\r\n      item =>\r\n        observer.observe(\r\n          item\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-6ac2a88 e-con-full e-flex e-con e-parent\" data-id=\"6ac2a88\" 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-5bf75df elementor-widget elementor-widget-shortcode\" data-id=\"5bf75df\" 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\">        <section class=\"zs-pfx \" data-zs-property-explorer\n            data-lang=\"de\"\n            data-channel=\"main\"\n            data-rest-url=\"https:\/\/zalasprings.hu\/de\/wp-json\/zs\/v1\/property-explorer\"\n            data-resolve-url=\"https:\/\/zalasprings.hu\/de\/wp-json\/zs\/v1\/property-explorer\/resolve\"\n            data-initial-scene=\"\"\n            data-labels=\"{&quot;eyebrow&quot;:&quot;IMMOBILIENSUCHE&quot;,&quot;title&quot;:&quot;Virtuelle Immobiliensuche&quot;,&quot;breadcrumbs&quot;:&quot;Navigation&quot;,&quot;loading&quot;:&quot;Wird geladen\u2026&quot;,&quot;back_to_start&quot;:&quot;Zur Startansicht&quot;,&quot;available&quot;:&quot;Verf\u00fcgbar&quot;,&quot;reserved&quot;:&quot;Reserviert&quot;,&quot;sold&quot;:&quot;Verkauft&quot;,&quot;properties&quot;:&quot;Immobilien&quot;,&quot;open&quot;:&quot;\u00d6ffnen&quot;,&quot;area&quot;:&quot;Fl\u00e4che&quot;,&quot;terrace&quot;:&quot;Terrasse&quot;,&quot;rooms&quot;:&quot;Zimmer&quot;,&quot;bathrooms&quot;:&quot;B\u00e4der&quot;,&quot;building&quot;:&quot;Geb\u00e4ude&quot;,&quot;floor&quot;:&quot;Etage&quot;,&quot;type&quot;:&quot;Typ&quot;,&quot;design&quot;:&quot;Design&quot;,&quot;status&quot;:&quot;Status&quot;,&quot;explore&quot;:&quot;Ansehen&quot;,&quot;no_items&quot;:&quot;In dieser Ansicht gibt es keine anzeigbaren Elemente.&quot;,&quot;error&quot;:&quot;Die Immobiliensuche kann derzeit nicht geladen werden.&quot;,&quot;root&quot;:&quot;Start&quot;,&quot;property_list_cta&quot;:&quot;Alle Immobilien ansehen&quot;,&quot;properties_eyebrow&quot;:&quot;IMMOBILIEN&quot;,&quot;properties_title&quot;:&quot;Immobilienliste&quot;,&quot;properties_intro&quot;:&quot;Durchsuchen Sie die Immobilien von Zala Springs nach Geb\u00e4ude, Zimmerzahl und Verf\u00fcgbarkeit.&quot;,&quot;search&quot;:&quot;Suche&quot;,&quot;search_placeholder&quot;:&quot;Objektcode oder Name\u2026&quot;,&quot;all&quot;:&quot;Alle&quot;,&quot;results&quot;:&quot;Immobilien&quot;,&quot;view&quot;:&quot;Immobilie ansehen&quot;,&quot;no_results&quot;:&quot;Keine Immobilie entspricht den gew\u00e4hlten Filtern.&quot;}\">\n            <div class=\"zs-pfx__shell\">\n                <div class=\"zs-pfx__topbar\">\n                    <div>\n                        <span class=\"zs-pfx__eyebrow\">IMMOBILIENSUCHE<\/span>\n                        <h2>Virtuelle Immobiliensuche<\/h2>\n                    <\/div>\n                    <button type=\"button\" class=\"zs-pfx__root\" data-zs-pfx-root hidden>Zur Startansicht<\/button>\n                <\/div>\n\n                <nav class=\"zs-pfx__breadcrumbs\" data-zs-pfx-breadcrumbs aria-label=\"Navigation\"><\/nav>\n\n                <div class=\"zs-pfx__layout\">\n                    <div class=\"zs-pfx__visual\" data-zs-pfx-visual>\n                        <div class=\"zs-pfx__loading\" data-zs-pfx-loading><span><\/span>Wird geladen\u2026<\/div>\n                    <\/div>\n                    <aside class=\"zs-pfx__panel\" data-zs-pfx-panel><\/aside>\n                <\/div>\n            <\/div>\n            <div class=\"zs-pfx__list-link-wrap\">\n                <a class=\"zs-pfx__list-link\" href=\"\/de\/wohnungliste\/\">\n                    <span>Alle Immobilien ansehen<\/span>\n                    <span aria-hidden=\"true\">\u2192<\/span>\n                <\/a>\n            <\/div>\n        <\/section>\n        \n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e47ae9a e-con-full e-flex e-con e-parent\" data-id=\"e47ae9a\" 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-4260999 elementor-widget elementor-widget-html\" data-id=\"4260999\" 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-8142c7a e-con-full e-flex e-con e-parent\" data-id=\"8142c7a\" 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-d72ce2a elementor-widget elementor-widget-html\" data-id=\"d72ce2a\" 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 \/ RESORT EL\u0150NY\u00d6K -->\r\n<section id=\"zs-property-benefits\" class=\"zs-main zspbenefits\" aria-labelledby=\"zspbenefits-title\">\r\n\r\n  <div class=\"zspbenefits__inner\">\r\n\r\n    <header class=\"zspbenefits__header zspbenefits__reveal\">\r\n      <div class=\"zspbenefits__eyebrow\">\r\n        <span><\/span>\r\n        <b>ZALA SPRINGS RESORT<\/b>\r\n        <span><\/span>\r\n      <\/div>\r\n\r\n      <h2 id=\"zspbenefits-title\">\r\n        Fedezze fel a resort ny\u00fajtotta el\u0151ny\u00f6ket!\r\n      <\/h2>\r\n\r\n      <p>\r\n        Egyed\u00fcl\u00e1ll\u00f3 k\u00f6rnyezet, pr\u00e9mium szolg\u00e1ltat\u00e1sok \u00e9s olyan \u00e9letmin\u0151s\u00e9g,\r\n        amely egyszerre teszi k\u00fcl\u00f6nlegess\u00e9 az otthont \u00e9s az ingatlanbefektet\u00e9st.\r\n      <\/p>\r\n    <\/header>\r\n\r\n\r\n    <div class=\"zspbenefits__grid\">\r\n\r\n      <!-- 01 -->\r\n      <article class=\"zspbenefits__card zspbenefits__reveal\">\r\n        <div class=\"zspbenefits__media\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-szolgaltatas-01-2025.jpg\"\r\n            alt=\"Spa \u00e9s wellness a Zala Springsben\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n          <div class=\"zspbenefits__shade\"><\/div>\r\n          <span class=\"zspbenefits__index\">01<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"zspbenefits__body\">\r\n          <span class=\"zspbenefits__kicker\">WELLNESS<\/span>\r\n          <h3>Spa \u00e9s wellness<\/h3>\r\n          <div class=\"zspbenefits__line\"><\/div>\r\n          <p>\r\n            B\u00fcszkes\u00e9g\u00fcnk, egy exkluz\u00edv \u00e9kszerdobozhoz is hasonl\u00edthat\u00f3\r\n            \u201eboutique\u201d f\u00fcrd\u0151h\u00e1z.\r\n          <\/p>\r\n        <\/div>\r\n      <\/article>\r\n\r\n\r\n      <!-- 02 -->\r\n      <article class=\"zspbenefits__card zspbenefits__reveal\">\r\n        <div class=\"zspbenefits__media\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-szolgaltatas-02-2025.jpg\"\r\n            alt=\"Klubh\u00e1z \u00e9s Bistro a Zala Springsben\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n          <div class=\"zspbenefits__shade\"><\/div>\r\n          <span class=\"zspbenefits__index\">02<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"zspbenefits__body\">\r\n          <span class=\"zspbenefits__kicker\">GASZTRON\u00d3MIA<\/span>\r\n          <h3>Klubh\u00e1z \u00e9s Bistro<\/h3>\r\n          <div class=\"zspbenefits__line\"><\/div>\r\n          <p>\r\n            Modern klubh\u00e1zunkban a Zala Springs Golf Bistro eg\u00e9sz \u00e9vben\r\n            p\u00e1ratlan gasztron\u00f3miai \u00e9lm\u00e9nyekkel, egyed\u00fcl\u00e1ll\u00f3 borvacsor\u00e1kkal\r\n            \u00e9s tematikus zen\u00e9s estekkel v\u00e1rja vend\u00e9geit.\r\n          <\/p>\r\n        <\/div>\r\n      <\/article>\r\n\r\n\r\n      <!-- 03 -->\r\n      <article class=\"zspbenefits__card zspbenefits__reveal\">\r\n        <div class=\"zspbenefits__media\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-szolgaltatas-03-2025.jpg\"\r\n            alt=\"Teljesk\u00f6r\u0171 szolg\u00e1ltat\u00e1s a Zala Springsben\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n          <div class=\"zspbenefits__shade\"><\/div>\r\n          <span class=\"zspbenefits__index\">03<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"zspbenefits__body\">\r\n          <span class=\"zspbenefits__kicker\">K\u00c9NYELEM<\/span>\r\n          <h3>Teljesk\u00f6r\u0171 szolg\u00e1ltat\u00e1s<\/h3>\r\n          <div class=\"zspbenefits__line\"><\/div>\r\n          <p>\r\n            Magas sz\u00ednvonal\u00fa \u00e9s teljesk\u00f6r\u0171 ingatlan \u00fczemeltet\u00e9si szolg\u00e1ltat\u00e1s\r\n            a maxim\u00e1lis k\u00e9nyelem \u00e9s luxus \u00e9let\u00e9rz\u00e9s jegy\u00e9ben.\r\n          <\/p>\r\n        <\/div>\r\n      <\/article>\r\n\r\n\r\n      <!-- 04 -->\r\n      <article class=\"zspbenefits__card zspbenefits__reveal\">\r\n        <div class=\"zspbenefits__media\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-szolgaltatas-04-2025.jpg\"\r\n            alt=\"Kulcsrak\u00e9sz ingatlanok a Zala Springsben\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n          <div class=\"zspbenefits__shade\"><\/div>\r\n          <span class=\"zspbenefits__index\">04<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"zspbenefits__body\">\r\n          <span class=\"zspbenefits__kicker\">PR\u00c9MIUM OTTHON<\/span>\r\n          <h3>Kulcsrak\u00e9sz ingatlanok<\/h3>\r\n          <div class=\"zspbenefits__line\"><\/div>\r\n          <p>\r\n            Az exkluz\u00edv lak\u00e1sokat kiv\u00e1l\u00f3 min\u0151s\u00e9gben teljesen felszerelve\r\n            \u00e9s b\u00fatorozva adjuk \u00e1t \u00faj tulajdonos\u00e1nak.\r\n          <\/p>\r\n        <\/div>\r\n      <\/article>\r\n\r\n\r\n      <!-- 05 -->\r\n      <article class=\"zspbenefits__card zspbenefits__reveal\">\r\n        <div class=\"zspbenefits__media\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-szolgaltatas-05-2025.jpg\"\r\n            alt=\"Id\u0151t\u00e1ll\u00f3 befektet\u00e9s a Zala Springsben\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n          <div class=\"zspbenefits__shade\"><\/div>\r\n          <span class=\"zspbenefits__index\">05<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"zspbenefits__body\">\r\n          <span class=\"zspbenefits__kicker\">BEFEKTET\u00c9S<\/span>\r\n          <h3>Id\u0151t\u00e1ll\u00f3 befektet\u00e9s<\/h3>\r\n          <div class=\"zspbenefits__line\"><\/div>\r\n          <p>\r\n            Aj\u00e1nlati spektrumunk a b\u00e9rbead\u00e1si szolg\u00e1ltat\u00e1st\u00f3l a garant\u00e1lt\r\n            fix hozamig terjed. A realiz\u00e1lhat\u00f3 \u00e1tlagos \u00e9rt\u00e9kn\u00f6veked\u00e9s\r\n            35% volt az ut\u00f3bbi 2 \u00e9vben.\r\n          <\/p>\r\n        <\/div>\r\n      <\/article>\r\n\r\n\r\n      <!-- 06 -->\r\n      <article class=\"zspbenefits__card zspbenefits__reveal\">\r\n        <div class=\"zspbenefits__media\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/ingatlan-bemutato-szolgaltatas-06-2025.jpg\"\r\n            alt=\"Programok eg\u00e9sz \u00e9vben a Zala Springsben\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n          <div class=\"zspbenefits__shade\"><\/div>\r\n          <span class=\"zspbenefits__index\">06<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"zspbenefits__body\">\r\n          <span class=\"zspbenefits__kicker\">\u00c9LM\u00c9NYEK<\/span>\r\n          <h3>Programok eg\u00e9sz \u00e9vben<\/h3>\r\n          <div class=\"zspbenefits__line\"><\/div>\r\n          <p>\r\n            A gy\u00f6ny\u00f6r\u0171 golfp\u00e1lya \u00e9s a p\u00e1ratlan k\u00f6rnyezet\u0171 zalai t\u00e1j sz\u00e1mos\r\n            szabadid\u0151s tev\u00e9kenys\u00e9get ny\u00fajt \u00d6nnek!\r\n          <\/p>\r\n        <\/div>\r\n      <\/article>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n  <style>\r\n    #zs-property-benefits,\r\n    #zs-property-benefits *,\r\n    #zs-property-benefits *::before,\r\n    #zs-property-benefits *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #zs-property-benefits {\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      --surface: var(--zs-surface, #fbfaf7);\r\n      --bg: var(--zs-bg, #f5f3ed);\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(96px,8vw,142px)\r\n        clamp(20px,4vw,64px)\r\n        clamp(100px,8vw,146px);\r\n\r\n      overflow: hidden;\r\n\r\n      background:\r\n        radial-gradient(\r\n          circle at 8% 10%,\r\n          rgba(194,162,47,.055),\r\n          transparent 24%\r\n        ),\r\n        linear-gradient(\r\n          180deg,\r\n          #fbfaf7 0%,\r\n          #f5f2ea 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-property-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    .zspbenefits__inner {\r\n      width: min(100%,1480px);\r\n      margin: 0 auto;\r\n    }\r\n\r\n\r\n    \/* HEADER *\/\r\n\r\n    .zspbenefits__header {\r\n      width: min(100%,920px);\r\n      margin: 0 auto clamp(50px,5vw,76px);\r\n      text-align: center;\r\n    }\r\n\r\n    .zspbenefits__eyebrow {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 13px;\r\n\r\n      margin-bottom: 15px;\r\n\r\n      color: #9f842b;\r\n\r\n      font-size: 9px;\r\n      font-weight: 700;\r\n\r\n      letter-spacing: .21em;\r\n    }\r\n\r\n    .zspbenefits__eyebrow span {\r\n      width: 48px;\r\n      height: 1px;\r\n\r\n      background: rgba(194,162,47,.65);\r\n    }\r\n\r\n    .zspbenefits__eyebrow b {\r\n      font-weight: 700;\r\n    }\r\n\r\n    .zspbenefits__header h2 {\r\n      margin: 0 !important;\r\n\r\n      color: var(--dark) !important;\r\n\r\n      font-size:\r\n        clamp(43px,4.5vw,72px);\r\n\r\n      font-weight: 400 !important;\r\n      line-height: 1.04 !important;\r\n\r\n      letter-spacing: -.025em;\r\n\r\n      text-wrap: balance;\r\n    }\r\n\r\n    .zspbenefits__header p {\r\n      width: min(100%,740px);\r\n\r\n      margin: 18px auto 0 !important;\r\n\r\n      color: var(--muted);\r\n\r\n      font-size:\r\n        clamp(15px,1.04vw,18px);\r\n\r\n      line-height: 1.65;\r\n    }\r\n\r\n\r\n    \/* GRID *\/\r\n\r\n    .zspbenefits__grid {\r\n      display: grid;\r\n\r\n      grid-template-columns:\r\n        repeat(3,minmax(0,1fr));\r\n\r\n      gap:\r\n        clamp(22px,2vw,31px);\r\n    }\r\n\r\n\r\n    \/* CARD *\/\r\n\r\n    .zspbenefits__card {\r\n      position: relative;\r\n\r\n      min-width: 0;\r\n\r\n      overflow: hidden;\r\n\r\n      border:\r\n        1px solid rgba(38,53,44,.08);\r\n\r\n      border-radius: 28px;\r\n\r\n      background:\r\n        rgba(255,255,255,.88);\r\n\r\n      box-shadow:\r\n        0 18px 55px rgba(38,53,44,.055);\r\n\r\n      transition: none;\r\n    }\r\n\r\n    .zspbenefits__media {\r\n      position: relative;\r\n\r\n      aspect-ratio: 1.42 \/ 1;\r\n\r\n      overflow: hidden;\r\n\r\n      margin: 8px;\r\n\r\n      border-radius: 20px;\r\n\r\n      background: #dbe0db;\r\n\r\n      isolation: isolate;\r\n    }\r\n\r\n    .zspbenefits__media img {\r\n      position: absolute !important;\r\n\r\n      inset: 0 !important;\r\n\r\n      display: block !important;\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      transform: scale(1.02);\r\n\r\n      transition: none;\r\n    }\r\n\r\n    .zspbenefits__shade {\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: 2;\r\n\r\n      background:\r\n        linear-gradient(\r\n          180deg,\r\n          rgba(16,31,23,.01) 50%,\r\n          rgba(16,31,23,.30) 100%\r\n        );\r\n\r\n      pointer-events: none;\r\n    }\r\n\r\n    .zspbenefits__index {\r\n      position: absolute;\r\n\r\n      z-index: 3;\r\n\r\n      right: 16px;\r\n      bottom: 16px;\r\n\r\n      min-width: 42px;\r\n      height: 31px;\r\n\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n\r\n      padding: 0 10px;\r\n\r\n      border:\r\n        1px solid rgba(255,255,255,.38);\r\n\r\n      border-radius: 999px;\r\n\r\n      background:\r\n        rgba(255,255,255,.13);\r\n\r\n      color: #fff;\r\n\r\n      font-size: 9px;\r\n      font-weight: 700;\r\n\r\n      letter-spacing: .13em;\r\n\r\n      backdrop-filter: blur(10px);\r\n      -webkit-backdrop-filter: blur(10px);\r\n    }\r\n\r\n    .zspbenefits__body {\r\n      padding: 25px 27px 30px;\r\n      text-align: center;\r\n    }\r\n\r\n    .zspbenefits__kicker {\r\n      display: inline-block;\r\n\r\n      margin-bottom: 8px;\r\n\r\n      color: #a2872e;\r\n\r\n      font-size: 9px;\r\n      font-weight: 700;\r\n\r\n      letter-spacing: .18em;\r\n    }\r\n\r\n    .zspbenefits__body h3 {\r\n      margin: 0 !important;\r\n\r\n      color: var(--dark) !important;\r\n\r\n      font-size:\r\n        clamp(29px,2.05vw,39px);\r\n\r\n      font-weight: 400 !important;\r\n\r\n      line-height: 1.06 !important;\r\n\r\n      letter-spacing: -.018em;\r\n    }\r\n\r\n    .zspbenefits__line {\r\n      width: 42px;\r\n      height: 1px;\r\n\r\n      margin: 16px auto 16px;\r\n\r\n      background: var(--gold);\r\n    }\r\n\r\n    .zspbenefits__body p {\r\n      margin: 0 !important;\r\n\r\n      color: var(--muted);\r\n\r\n      font-size: 15px;\r\n\r\n      line-height: 1.62;\r\n    }\r\n\r\n\r\n    \/* REVEAL *\/\r\n\r\n    .zspbenefits__reveal {\r\n      opacity: 0;\r\n\r\n      transform:\r\n        translateY(28px);\r\n\r\n      transition:\r\n        opacity .75s ease,\r\n        transform .9s cubic-bezier(.2,.72,.2,1);\r\n    }\r\n\r\n    .zspbenefits__reveal.is-visible {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n\r\n    \/* RESPONSIVE *\/\r\n\r\n    @media (max-width:1366px) {\r\n      #zs-property-benefits {\r\n        padding:\r\n          104px 40px 112px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1200px) {\r\n      #zs-property-benefits {\r\n        padding:\r\n          94px 30px 102px;\r\n      }\r\n\r\n      .zspbenefits__grid {\r\n        gap: 18px;\r\n      }\r\n\r\n      .zspbenefits__body {\r\n        padding:\r\n          23px 21px 27px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:1024px) {\r\n      #zs-property-benefits {\r\n        padding:\r\n          84px 22px 94px;\r\n      }\r\n\r\n      .zspbenefits__grid {\r\n        grid-template-columns:\r\n          repeat(2,minmax(0,1fr));\r\n      }\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n      #zs-property-benefits {\r\n        padding:\r\n          76px 18px 86px;\r\n      }\r\n\r\n      .zspbenefits__grid {\r\n        grid-template-columns:\r\n          1fr;\r\n      }\r\n\r\n      .zspbenefits__card {\r\n        width: min(100%,820px);\r\n        margin: 0 auto;\r\n\r\n        display: grid;\r\n\r\n        grid-template-columns:\r\n          minmax(300px,.95fr)\r\n          minmax(0,1.05fr);\r\n\r\n        align-items: stretch;\r\n      }\r\n\r\n      .zspbenefits__media {\r\n        min-height: 320px;\r\n        aspect-ratio: auto;\r\n      }\r\n\r\n      .zspbenefits__body {\r\n        display: flex;\r\n        flex-direction: column;\r\n\r\n        align-items: center;\r\n        justify-content: center;\r\n\r\n        padding: 32px;\r\n      }\r\n    }\r\n\r\n    @media (max-width:767px) {\r\n      #zs-property-benefits {\r\n        padding:\r\n          68px 12px 76px;\r\n      }\r\n\r\n      .zspbenefits__header {\r\n        margin-bottom: 38px;\r\n      }\r\n\r\n      .zspbenefits__eyebrow {\r\n        gap: 9px;\r\n        font-size: 8px;\r\n      }\r\n\r\n      .zspbenefits__eyebrow span {\r\n        width: 28px;\r\n      }\r\n\r\n      .zspbenefits__header h2 {\r\n        font-size:\r\n          clamp(38px,10vw,50px);\r\n      }\r\n\r\n      .zspbenefits__header p {\r\n        font-size: 15px;\r\n      }\r\n\r\n      .zspbenefits__card {\r\n        display: block;\r\n\r\n        border-radius: 20px;\r\n      }\r\n\r\n      .zspbenefits__media {\r\n        min-height: 250px;\r\n        aspect-ratio: 1.32 \/ 1;\r\n\r\n        margin: 6px;\r\n\r\n        border-radius: 14px;\r\n      }\r\n\r\n      .zspbenefits__body {\r\n        display: block;\r\n\r\n        padding:\r\n          24px 20px 27px;\r\n      }\r\n\r\n      .zspbenefits__body h3 {\r\n        font-size:\r\n          clamp(30px,8.5vw,40px);\r\n      }\r\n\r\n      .zspbenefits__body p {\r\n        font-size: 14px;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce) {\r\n      #zs-property-benefits *,\r\n      #zs-property-benefits *::before,\r\n      #zs-property-benefits *::after {\r\n        animation: none !important;\r\n        transition: none !important;\r\n      }\r\n\r\n      .zspbenefits__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-property-benefits'\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 items =\r\n      root.querySelectorAll(\r\n        '.zspbenefits__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.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: .10,\r\n          rootMargin:\r\n            '0px 0px -6% 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  <\/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-bbcc23f e-con-full e-flex e-con e-parent\" data-id=\"bbcc23f\" 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-5f8c1e9 elementor-widget elementor-widget-shortcode\" data-id=\"5f8c1e9\" 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\">        <section id=\"zs-block-2186-1\" class=\"zs-content-block zs-content-block--centered_promo zs-content-block--theme-light zs-content-block--align-left zs-content-block--spacing-normal zs-content-block--width-narrow zs-content-block--title-normal zs-content-block--radius-large zs-content-block--cta-link zs-content-block--ratio-auto zs-content-block--fit-cover zs-content-block--mobile-media_first\" lang=\"de\">\n            <div class=\"zscb__inner\">\n                <div class=\"zscb-centered\"><div class=\"zscb-centered__media\"><img src=\"https:\/\/zalasprings.hu\/wp-content\/uploads\/2026\/09\/brochure.jpg\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/div><div class=\"zscb-centered__copy\"><a class=\"zscb__cta\" href=\"https:\/\/zalasprings.hu\/wp-content\/uploads\/2026\/09\/zala-springs-golf-resort-real-estate-brochure.pdf\"><span>Brosch\u00fcre herunterladen<\/span><i aria-hidden=\"true\">\u2192<\/i><\/a><\/div><\/div>            <\/div>\n        <\/section>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b030c11 e-con-full e-flex e-con e-parent\" data-id=\"b030c11\" 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-ef1c174 elementor-widget elementor-widget-shortcode\" data-id=\"ef1c174\" 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-ac7585a e-con-full e-flex e-con e-parent\" data-id=\"ac7585a\" 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-d86a014 elementor-widget elementor-widget-html\" data-id=\"d86a014\" 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 PR\u00c9MIUM \u00c9LET\u00c9RZ\u00c9S Otthon \u00e9s befektet\u00e9s Regisztr\u00e1ljon a legjobb aj\u00e1nlatok\u00e9rt! Felfedez\u00e9s ZALA SPRINGS RESIDENCES R\u00e9szletek Kiemelt ZALA SPRINGS Aktu\u00e1lis programok Fedezze fel ingatlanjainkhoz kapcsol\u00f3d\u00f3 aktu\u00e1lis esem\u00e9nyeinket \u00e9s programjainkat. ZS Jelenleg nincs megjelen\u00edthet\u0151 program 01 Eur\u00f3pa K\u00f6zel mindenhez 01 02 03 04 Nagy\u00edtson a t\u00e9rk\u00e9pen Zala Springs Eur\u00f3pa sz\u00edv\u00e9ben ZALA SPRINGS RESIDENCES Egyed\u00fcl\u00e1ll\u00f3 ingatlanfejleszt\u00e9s [&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-441","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/pages\/441","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=441"}],"version-history":[{"count":67,"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/pages\/441\/revisions"}],"predecessor-version":[{"id":3101,"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/pages\/441\/revisions\/3101"}],"wp:attachment":[{"href":"https:\/\/zalasprings.hu\/de\/wp-json\/wp\/v2\/media?parent=441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}