{"id":4187,"date":"2026-02-22T23:50:49","date_gmt":"2026-02-22T22:50:49","guid":{"rendered":"https:\/\/www.claus-blumenauer.de\/%e6%b4%bb%e5%8a%a8\/"},"modified":"2026-09-21T18:45:41","modified_gmt":"2026-09-21T16:45:41","slug":"%e6%b4%bb%e5%8a%a8","status":"publish","type":"page","link":"https:\/\/www.claus-blumenauer.de\/zh-hans\/%e6%b4%bb%e5%8a%a8\/","title":{"rendered":"\u6d3b\u52a8"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4187\" class=\"elementor elementor-4187 elementor-3605\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-65cb70b e-con-full e-flex e-con e-parent\" data-id=\"65cb70b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-fee0180 e-flex e-con-boxed e-con e-child\" data-id=\"fee0180\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bd57d84 elementor-widget-tablet__width-initial elementor-widget-mobile__width-inherit elementor-invisible elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"bd57d84\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"theme-post-title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">\u6d3b\u52a8<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8549a20 e-flex e-con-boxed e-con e-parent\" data-id=\"8549a20\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-fec93a8 e-con-full e-flex e-con e-child\" data-id=\"fec93a8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-0469e2f e-con-full e-flex e-con e-child\" data-id=\"0469e2f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7a3279d elementor-widget elementor-widget-html\" data-id=\"7a3279d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div>\r\n\r\n\r\n  <meta charset=\"UTF-8\">\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <title>\u6d3b\u52a8\u65e5\u5386 \u2013 Claus Blumenauer Immobilien<\/title>\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=IBM+Plex+Serif:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap\" rel=\"stylesheet\">\r\n  <style>\r\n    \/* \u2500\u2500 Reset & Base \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n    :root {\r\n      --gold:   #ac914c;\r\n      --brown:  #594f48;\r\n      --cream:  #efe9e0;\r\n      --white:  #ffffff;\r\n      --gold-light: #c8ab6e;\r\n      --brown-dark: #3d3530;\r\n      --cream-dark: #ddd4c5;\r\n      --serif: 'IBM Plex Serif', Georgia, serif;\r\n      --sans:  'IBM Plex Sans', Arial, sans-serif;\r\n      --cat-koenigstein: #ac914c;\r\n      --cat-koenigstein-dark: #8a7a3a;\r\n      --cat-fokus-o: #a63d3d;\r\n      --cat-fokus-o-dark: #8b3232;\r\n      --cat-sonstige: #8a8278;\r\n      --cat-sonstige-dark: #6e6860;\r\n    }\r\n\r\n    body {\r\n      font-family: var(--sans);\r\n      background: var(--white);\r\n      color: var(--brown);\r\n    }\r\n\r\n    \/* \u2500\u2500 Wrapper \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n    .cb-calendar {\r\n      max-width: 960px;\r\n      margin: 0 auto;\r\n      padding: 0 20px 60px;\r\n    }\r\n\r\n    \/* \u2500\u2500 Header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n    .cb-header {\r\n      text-align: center;\r\n      padding: 52px 0 36px;\r\n      border-bottom: 1px solid var(--cream-dark);\r\n      margin-bottom: 36px;\r\n    }\r\n    .cb-header__eyebrow {\r\n      font-family: var(--sans);\r\n      font-size: 11px;\r\n      font-weight: 500;\r\n      letter-spacing: 3px;\r\n      text-transform: uppercase;\r\n      color: var(--gold);\r\n      margin-bottom: 14px;\r\n    }\r\n    .cb-calendar .cb-header .cb-header__title,\r\n    .cb-header__title {\r\n      font-family: var(--serif);\r\n      font-size: clamp(26px, 4vw, 38px);\r\n      font-weight: 400;\r\n      color: #9a948c !important;\r\n      -webkit-text-fill-color: #9a948c !important;\r\n      line-height: 1.25;\r\n      margin-bottom: 14px;\r\n    }\r\n    .cb-header__subtitle {\r\n      font-size: 15px;\r\n      font-weight: 300;\r\n      color: var(--brown);\r\n      opacity: 0.75;\r\n      max-width: 540px;\r\n      margin: 0 auto;\r\n      line-height: 1.7;\r\n    }\r\n\r\n    \/* \u2500\u2500 Category Filter Tabs \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n    .cb-filter {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      justify-content: center;\r\n      gap: 8px;\r\n      margin-bottom: 20px;\r\n    }\r\n    .cb-filter__btn {\r\n      font-family: var(--sans);\r\n      font-size: 11px;\r\n      font-weight: 600;\r\n      letter-spacing: 1px;\r\n      text-transform: uppercase;\r\n      padding: 10px 16px;\r\n      border: 1px solid transparent;\r\n      cursor: pointer;\r\n      transition: background 0.2s, color 0.2s, border-color 0.2s, opacity 0.2s;\r\n    }\r\n    .cb-filter__btn[data-cat=\"all\"] {\r\n      background: var(--white);\r\n      border-color: var(--brown);\r\n      color: var(--brown);\r\n    }\r\n    .cb-filter__btn[data-cat=\"all\"]:hover,\r\n    .cb-filter__btn[data-cat=\"all\"].active {\r\n      background: var(--brown);\r\n      border-color: var(--brown);\r\n      color: var(--white);\r\n    }\r\n    .cb-filter__btn[data-cat=\"koenigsteinzimmer\"] {\r\n      background: var(--cat-koenigstein);\r\n      border-color: var(--cat-koenigstein);\r\n      color: var(--white);\r\n    }\r\n    .cb-filter__btn[data-cat=\"koenigsteinzimmer\"]:hover,\r\n    .cb-filter__btn[data-cat=\"koenigsteinzimmer\"].active {\r\n      background: var(--cat-koenigstein-dark);\r\n      border-color: var(--cat-koenigstein-dark);\r\n      color: var(--white);\r\n    }\r\n    .cb-filter__btn[data-cat=\"fokus-o\"] {\r\n      background: var(--cat-fokus-o);\r\n      border-color: var(--cat-fokus-o);\r\n      color: var(--white);\r\n    }\r\n    .cb-filter__btn[data-cat=\"fokus-o\"]:hover,\r\n    .cb-filter__btn[data-cat=\"fokus-o\"].active {\r\n      background: var(--cat-fokus-o-dark);\r\n      border-color: var(--cat-fokus-o-dark);\r\n      color: var(--white);\r\n    }\r\n    .cb-filter__btn[data-cat=\"sonstige\"] {\r\n      background: var(--cat-sonstige);\r\n      border-color: var(--cat-sonstige);\r\n      color: var(--white);\r\n    }\r\n    .cb-filter__btn[data-cat=\"sonstige\"]:hover,\r\n    .cb-filter__btn[data-cat=\"sonstige\"].active {\r\n      background: var(--cat-sonstige-dark);\r\n      border-color: var(--cat-sonstige-dark);\r\n      color: var(--white);\r\n    }\r\n    .cb-filter__btn:not(.active) {\r\n      opacity: 0.72;\r\n    }\r\n    .cb-filter__btn.active {\r\n      opacity: 1;\r\n      box-shadow: 0 2px 8px rgba(89, 79, 72, 0.22);\r\n    }\r\n\r\n    \/* \u2500\u2500 View Toggle \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n    .cb-toggle {\r\n      display: flex;\r\n      justify-content: center;\r\n      gap: 0;\r\n      margin-bottom: 36px;\r\n    }\r\n    .cb-toggle__btn {\r\n      font-family: var(--sans);\r\n      font-size: 12px;\r\n      font-weight: 500;\r\n      letter-spacing: 2px;\r\n      text-transform: uppercase;\r\n      padding: 11px 28px;\r\n      border: 1px solid var(--gold);\r\n      background: transparent;\r\n      color: var(--gold);\r\n      cursor: pointer;\r\n      transition: background 0.25s, color 0.25s;\r\n    }\r\n    .cb-toggle__btn:first-child { border-right: none; }\r\n    .cb-toggle__btn:last-child  { border-left: none; }\r\n    .cb-toggle__btn.active,\r\n    .cb-toggle__btn:hover {\r\n      background: var(--gold);\r\n      color: var(--white);\r\n    }\r\n\r\n    \/* \u2500\u2500 Month Navigation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n    .cb-nav {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      margin-bottom: 24px;\r\n    }\r\n    .cb-nav__arrow {\r\n      width: 40px;\r\n      height: 40px;\r\n      background: transparent;\r\n      border: 1px solid var(--cream-dark);\r\n      color: var(--brown);\r\n      font-size: 18px;\r\n      cursor: pointer;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      transition: background 0.2s, border-color 0.2s, color 0.2s;\r\n    }\r\n    .cb-nav__arrow:hover {\r\n      background: var(--gold);\r\n      border-color: var(--gold);\r\n      color: var(--white);\r\n    }\r\n    .cb-nav__label {\r\n      font-family: var(--serif);\r\n      font-size: 22px;\r\n      font-weight: 400;\r\n      color: var(--brown);\r\n      letter-spacing: 0.5px;\r\n    }\r\n\r\n    \/* \u2500\u2500 Grid View \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n    .cb-grid { display: block; }\r\n\r\n    .cb-weekdays {\r\n      display: grid;\r\n      grid-template-columns: repeat(7, 1fr);\r\n      margin-bottom: 4px;\r\n    }\r\n    .cb-weekdays span {\r\n      font-size: 10px;\r\n      font-weight: 600;\r\n      letter-spacing: 2px;\r\n      text-transform: uppercase;\r\n      color: var(--gold);\r\n      text-align: center;\r\n      padding: 6px 0 10px;\r\n    }\r\n\r\n    .cb-days {\r\n      display: grid;\r\n      grid-template-columns: repeat(7, 1fr);\r\n      gap: 3px;\r\n    }\r\n    .cb-day {\r\n      min-height: 88px;\r\n      background: var(--cream);\r\n      padding: 8px;\r\n      position: relative;\r\n      cursor: default;\r\n      transition: background 0.2s;\r\n    }\r\n    .cb-day:hover { background: #e7dfd3; }\r\n    .cb-day--empty { background: transparent; cursor: default; }\r\n    .cb-day--empty:hover { background: transparent; }\r\n    .cb-day--today .cb-day__num {\r\n      background: var(--gold);\r\n      color: var(--white);\r\n      border-radius: 50%;\r\n      width: 24px;\r\n      height: 24px;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n    }\r\n    .cb-day__num {\r\n      font-size: 12px;\r\n      font-weight: 500;\r\n      color: var(--brown);\r\n      margin-bottom: 6px;\r\n      width: 24px;\r\n      height: 24px;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n    }\r\n    .cb-day__events { display: flex; flex-direction: column; gap: 3px; }\r\n    .cb-event-chip {\r\n      font-size: 9.5px;\r\n      font-weight: 500;\r\n      background: var(--cat-koenigstein);\r\n      color: var(--white);\r\n      padding: 2px 6px;\r\n      line-height: 1.4;\r\n      white-space: nowrap;\r\n      overflow: hidden;\r\n      text-overflow: ellipsis;\r\n      cursor: pointer;\r\n      border-radius: 1px;\r\n      transition: background 0.2s, opacity 0.2s;\r\n    }\r\n    .cb-event-chip--cat-koenigsteinzimmer { background: var(--cat-koenigstein); }\r\n    .cb-event-chip--cat-fokus-o { background: var(--cat-fokus-o); }\r\n    .cb-event-chip--cat-sonstige { background: var(--cat-sonstige); }\r\n    .cb-event-chip--cat-koenigsteinzimmer:hover { background: var(--cat-koenigstein-dark); }\r\n    .cb-event-chip--cat-fokus-o:hover { background: var(--cat-fokus-o-dark); }\r\n    .cb-event-chip--cat-sonstige:hover { background: var(--cat-sonstige-dark); }\r\n    .cb-event-chip--featured {\r\n      font-weight: 600;\r\n      box-shadow: 0 1px 4px rgba(89,79,72,0.25);\r\n    }\r\n    .cb-event-chip--featured.cb-event-chip--cat-koenigsteinzimmer {\r\n      background: linear-gradient(135deg, var(--cat-koenigstein-dark), var(--cat-koenigstein)) !important;\r\n    }\r\n    .cb-event-chip--featured.cb-event-chip--cat-fokus-o {\r\n      background: linear-gradient(135deg, var(--cat-fokus-o-dark), var(--cat-fokus-o)) !important;\r\n    }\r\n    .cb-event-chip--featured.cb-event-chip--cat-sonstige {\r\n      background: linear-gradient(135deg, var(--cat-sonstige-dark), var(--cat-sonstige)) !important;\r\n    }\r\n    .cb-event-chip--more {\r\n      background: transparent;\r\n      color: var(--gold);\r\n      font-weight: 600;\r\n      padding: 0 4px;\r\n    }\r\n    .cb-event-chip--more:hover { background: transparent; color: var(--brown); }\r\n\r\n    \/* \u2500\u2500 List View \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n    .cb-list { display: none; }\r\n\r\n    .cb-list-month {\r\n      margin-bottom: 36px;\r\n    }\r\n    .cb-list-month__title {\r\n      font-family: var(--serif);\r\n      font-size: 15px;\r\n      font-weight: 400;\r\n      color: var(--gold);\r\n      letter-spacing: 2px;\r\n      text-transform: uppercase;\r\n      border-bottom: 1px solid var(--cream-dark);\r\n      padding-bottom: 10px;\r\n      margin-bottom: 16px;\r\n    }\r\n\r\n    .cb-list-item {\r\n      display: grid;\r\n      grid-template-columns: 64px 1fr;\r\n      gap: 0 20px;\r\n      align-items: start;\r\n      padding: 16px 0;\r\n      border-bottom: 1px solid var(--cream);\r\n      cursor: pointer;\r\n      transition: background 0.15s;\r\n    }\r\n    .cb-list-item:hover { background: #f9f5f0; margin: 0 -16px; padding: 16px 16px; }\r\n    .cb-list-item:last-child { border-bottom: none; }\r\n\r\n    .cb-list-item--featured {\r\n      position: relative;\r\n      border-radius: 2px;\r\n      padding: 20px 18px !important;\r\n      margin-bottom: 12px !important;\r\n      cursor: pointer;\r\n    }\r\n    .cb-list-item--featured.cb-list-item--cat-koenigsteinzimmer {\r\n      border: 1px solid var(--cat-koenigstein) !important;\r\n      border-bottom: 1px solid var(--cat-koenigstein) !important;\r\n      background: linear-gradient(135deg, #faf7f2 0%, #fff 45%, #f5efe6 100%);\r\n      box-shadow: 0 4px 24px rgba(172, 145, 76, 0.18);\r\n    }\r\n    .cb-list-item--featured.cb-list-item--cat-fokus-o {\r\n      border: 1px solid var(--cat-fokus-o) !important;\r\n      border-bottom: 1px solid var(--cat-fokus-o) !important;\r\n      background: linear-gradient(135deg, #faf3f3 0%, #fff 45%, #f5eaea 100%);\r\n      box-shadow: 0 4px 24px rgba(166, 61, 61, 0.15);\r\n    }\r\n    .cb-list-item--featured.cb-list-item--cat-sonstige {\r\n      border: 1px solid var(--cat-sonstige) !important;\r\n      border-bottom: 1px solid var(--cat-sonstige) !important;\r\n      background: linear-gradient(135deg, #f7f6f4 0%, #fff 45%, #eeece8 100%);\r\n      box-shadow: 0 4px 24px rgba(138, 130, 120, 0.15);\r\n    }\r\n    .cb-list-item.cb-list-item--featured:last-child {\r\n      border-bottom-width: 1px !important;\r\n    }\r\n    .cb-list-item--featured.cb-list-item--cat-koenigsteinzimmer:hover {\r\n      background: linear-gradient(135deg, #f5efe6 0%, #fff 50%, #efe9e0 100%);\r\n      margin: 0 -12px !important;\r\n      padding: 20px 30px !important;\r\n    }\r\n    .cb-list-item--featured.cb-list-item--cat-fokus-o:hover {\r\n      background: linear-gradient(135deg, #f5eaea 0%, #fff 50%, #efe4e4 100%);\r\n      margin: 0 -12px !important;\r\n      padding: 20px 30px !important;\r\n    }\r\n    .cb-list-item--featured.cb-list-item--cat-sonstige:hover {\r\n      background: linear-gradient(135deg, #eeece8 0%, #fff 50%, #e5e3df 100%);\r\n      margin: 0 -12px !important;\r\n      padding: 20px 30px !important;\r\n    }\r\n    .cb-list-item--featured .cb-list-date {\r\n      border-top-width: 4px;\r\n    }\r\n    .cb-list-item--featured.cb-list-item--cat-koenigsteinzimmer .cb-list-date {\r\n      background: linear-gradient(180deg, #faf5eb 0%, #ebe3cf 100%);\r\n      border-color: var(--cat-koenigstein);\r\n    }\r\n    .cb-list-item--featured.cb-list-item--cat-fokus-o .cb-list-date {\r\n      background: linear-gradient(180deg, #faf0f0 0%, #ecd8d8 100%);\r\n      border-color: var(--cat-fokus-o);\r\n    }\r\n    .cb-list-item--featured.cb-list-item--cat-sonstige .cb-list-date {\r\n      background: linear-gradient(180deg, #f5f4f2 0%, #e5e3df 100%);\r\n      border-color: var(--cat-sonstige);\r\n    }\r\n    .cb-featured-head {\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: flex-start;\r\n      justify-content: flex-start;\r\n      gap: 10px;\r\n      margin-bottom: 12px;\r\n    }\r\n    .cb-featured-badge {\r\n      display: inline-block;\r\n      font-size: 9px;\r\n      font-weight: 700;\r\n      letter-spacing: 2px;\r\n      text-transform: uppercase;\r\n      color: var(--white);\r\n      padding: 5px 12px;\r\n      margin: 0;\r\n      border-radius: 1px;\r\n      flex-shrink: 0;\r\n    }\r\n    .cb-list-item--cat-koenigsteinzimmer .cb-featured-badge {\r\n      background: linear-gradient(135deg, var(--cat-koenigstein-dark), var(--cat-koenigstein));\r\n    }\r\n    .cb-list-item--cat-fokus-o .cb-featured-badge {\r\n      background: linear-gradient(135deg, var(--cat-fokus-o-dark), var(--cat-fokus-o));\r\n    }\r\n    .cb-list-item--cat-sonstige .cb-featured-badge {\r\n      background: linear-gradient(135deg, var(--cat-sonstige-dark), var(--cat-sonstige));\r\n    }\r\n    .cb-cat-badge {\r\n      display: inline-block;\r\n      font-size: 9px;\r\n      font-weight: 600;\r\n      letter-spacing: 1.5px;\r\n      text-transform: uppercase;\r\n      padding: 3px 8px;\r\n      margin-left: 8px;\r\n      vertical-align: middle;\r\n      border-radius: 1px;\r\n      white-space: nowrap;\r\n    }\r\n    .cb-cat-badge--koenigsteinzimmer {\r\n      background: rgba(172, 145, 76, 0.15);\r\n      color: var(--cat-koenigstein-dark);\r\n    }\r\n    .cb-cat-badge--fokus-o {\r\n      background: rgba(166, 61, 61, 0.12);\r\n      color: var(--cat-fokus-o-dark);\r\n    }\r\n    .cb-cat-badge--sonstige {\r\n      background: rgba(138, 130, 120, 0.15);\r\n      color: var(--cat-sonstige-dark);\r\n    }\r\n    .cb-featured-thumb {\r\n      margin: 0;\r\n      padding: 4px 8px;\r\n      border-radius: 2px;\r\n      border: 1px solid rgba(172, 145, 76, 0.35);\r\n      background: var(--white);\r\n      flex-shrink: 0;\r\n      box-sizing: border-box;\r\n    }\r\n    .cb-featured-thumb img {\r\n      width: auto;\r\n      height: auto;\r\n      max-width: min(100%, 280px);\r\n      max-height: 88px;\r\n      object-fit: contain;\r\n      object-position: center center;\r\n      display: block;\r\n      margin: 0;\r\n      vertical-align: top;\r\n    }\r\n    .cb-calendar a.cb-list-item__cta,\r\n    .cb-list-item__cta {\r\n      display: inline-block;\r\n      margin-top: 14px;\r\n      font-family: var(--sans);\r\n      font-size: 11px;\r\n      font-weight: 600;\r\n      letter-spacing: 1.5px;\r\n      text-transform: uppercase;\r\n      text-decoration: none !important;\r\n      \/* WP-Themes: Linkfarbe \u00fcberschreiben (sonst Gold auf Gold = unsichtbar) *\/\r\n      color: #ffffff !important;\r\n      -webkit-text-fill-color: #ffffff !important;\r\n      background-color: #ac914c !important;\r\n      border: 1px solid #ac914c !important;\r\n      padding: 12px 22px;\r\n      line-height: 1.45 !important;\r\n      transition: background 0.2s, color 0.2s, border-color 0.2s;\r\n    }\r\n    .cb-calendar a.cb-list-item__cta:hover,\r\n    .cb-list-item__cta:hover {\r\n      filter: brightness(0.88);\r\n      color: #ffffff !important;\r\n      -webkit-text-fill-color: #ffffff !important;\r\n    }\r\n    .cb-list-item--cat-koenigsteinzimmer .cb-list-item__cta {\r\n      background-color: var(--cat-koenigstein) !important;\r\n      border-color: var(--cat-koenigstein) !important;\r\n    }\r\n    .cb-list-item--cat-fokus-o .cb-list-item__cta {\r\n      background-color: var(--cat-fokus-o) !important;\r\n      border-color: var(--cat-fokus-o) !important;\r\n    }\r\n    .cb-list-item--cat-sonstige .cb-list-item__cta {\r\n      background-color: var(--cat-sonstige) !important;\r\n      border-color: var(--cat-sonstige) !important;\r\n    }\r\n\r\n    .cb-list-date {\r\n      text-align: center;\r\n      padding: 12px 8px;\r\n      background: var(--cream);\r\n      border: 1px solid rgba(89, 79, 72, 0.08);\r\n      border-top: 4px solid var(--cat-koenigstein);\r\n    }\r\n    .cb-list-date--cat-koenigsteinzimmer {\r\n      background: linear-gradient(180deg, rgba(172, 145, 76, 0.32) 0%, rgba(172, 145, 76, 0.14) 100%);\r\n      border-color: rgba(172, 145, 76, 0.35);\r\n      border-top-color: var(--cat-koenigstein);\r\n    }\r\n    .cb-list-date--cat-koenigsteinzimmer .cb-list-date__month {\r\n      color: var(--cat-koenigstein-dark);\r\n    }\r\n    .cb-list-date--cat-fokus-o {\r\n      background: linear-gradient(180deg, rgba(166, 61, 61, 0.28) 0%, rgba(166, 61, 61, 0.12) 100%);\r\n      border-color: rgba(166, 61, 61, 0.3);\r\n      border-top-color: var(--cat-fokus-o);\r\n    }\r\n    .cb-list-date--cat-fokus-o .cb-list-date__month {\r\n      color: var(--cat-fokus-o-dark);\r\n    }\r\n    .cb-list-date--cat-sonstige {\r\n      background: linear-gradient(180deg, rgba(138, 130, 120, 0.3) 0%, rgba(138, 130, 120, 0.13) 100%);\r\n      border-color: rgba(138, 130, 120, 0.32);\r\n      border-top-color: var(--cat-sonstige);\r\n    }\r\n    .cb-list-date--cat-sonstige .cb-list-date__month {\r\n      color: var(--cat-sonstige-dark);\r\n    }\r\n    .cb-list-date__day {\r\n      font-family: var(--serif);\r\n      font-size: 26px;\r\n      font-weight: 400;\r\n      color: var(--brown-dark);\r\n      line-height: 1;\r\n    }\r\n    .cb-list-date__month {\r\n      font-size: 9px;\r\n      font-weight: 700;\r\n      letter-spacing: 2px;\r\n      text-transform: uppercase;\r\n      color: var(--gold);\r\n      margin-top: 4px;\r\n    }\r\n    .cb-list-info__title {\r\n      font-family: var(--serif);\r\n      font-size: 17px;\r\n      font-weight: 400;\r\n      color: var(--brown);\r\n      margin-bottom: 5px;\r\n      line-height: 1.3;\r\n    }\r\n    .cb-list-info__meta {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 14px;\r\n      font-size: 12px;\r\n      font-weight: 300;\r\n      color: var(--brown);\r\n      opacity: 0.7;\r\n    }\r\n    .cb-list-info__meta span {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 5px;\r\n    }\r\n    .cb-list-info__meta svg {\r\n      width: 12px;\r\n      height: 12px;\r\n      flex-shrink: 0;\r\n      opacity: 0.6;\r\n    }\r\n    .cb-list-info__desc {\r\n      font-size: 13px;\r\n      font-weight: 300;\r\n      color: var(--brown);\r\n      opacity: 0.65;\r\n      margin-top: 7px;\r\n      line-height: 1.6;\r\n    }\r\n    .cb-badge-multiday {\r\n      display: inline-block;\r\n      font-size: 9px;\r\n      font-weight: 600;\r\n      letter-spacing: 1.5px;\r\n      text-transform: uppercase;\r\n      background: var(--brown);\r\n      color: var(--cream);\r\n      padding: 2px 8px;\r\n      margin-left: 8px;\r\n      vertical-align: middle;\r\n      border-radius: 1px;\r\n      white-space: nowrap;\r\n    }\r\n    .cb-list-date--multiday .cb-list-date__day {\r\n      font-size: 16px;\r\n      line-height: 1.2;\r\n    }\r\n\r\n    \/* \u2500\u2500 Modal Overlay \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n    .cb-overlay {\r\n      display: none;\r\n      position: fixed;\r\n      inset: 0;\r\n      background: rgba(89,79,72,0.55);\r\n      z-index: 9999;\r\n      align-items: center;\r\n      justify-content: center;\r\n      padding: 20px;\r\n    }\r\n    .cb-overlay.open { display: flex; }\r\n\r\n    .cb-modal {\r\n      background: var(--white);\r\n      max-width: 480px;\r\n      width: 100%;\r\n      padding: 40px;\r\n      position: relative;\r\n      animation: modalIn 0.25s ease;\r\n    }\r\n    @keyframes modalIn {\r\n      from { opacity: 0; transform: translateY(16px); }\r\n      to   { opacity: 1; transform: translateY(0); }\r\n    }\r\n    .cb-modal__close {\r\n      position: absolute;\r\n      top: 16px; right: 20px;\r\n      background: none;\r\n      border: none;\r\n      font-size: 22px;\r\n      color: var(--brown);\r\n      opacity: 0.5;\r\n      cursor: pointer;\r\n      line-height: 1;\r\n    }\r\n    .cb-modal__close:hover { opacity: 1; }\r\n    .cb-modal__eyebrow {\r\n      font-size: 10px;\r\n      font-weight: 600;\r\n      letter-spacing: 3px;\r\n      text-transform: uppercase;\r\n      color: var(--gold);\r\n      margin-bottom: 12px;\r\n    }\r\n    .cb-modal__title {\r\n      font-family: var(--serif);\r\n      font-size: 22px;\r\n      font-weight: 400;\r\n      color: var(--brown);\r\n      margin-bottom: 20px;\r\n      line-height: 1.3;\r\n    }\r\n    .cb-modal__divider {\r\n      height: 1px;\r\n      background: var(--cream-dark);\r\n      margin-bottom: 20px;\r\n    }\r\n    .cb-modal__row {\r\n      display: flex;\r\n      gap: 10px;\r\n      margin-bottom: 12px;\r\n      font-size: 13px;\r\n      font-weight: 300;\r\n      color: var(--brown);\r\n      line-height: 1.5;\r\n    }\r\n    .cb-modal__row svg {\r\n      width: 15px;\r\n      height: 15px;\r\n      flex-shrink: 0;\r\n      margin-top: 1px;\r\n      color: var(--gold);\r\n    }\r\n    .cb-modal__desc {\r\n      margin-top: 16px;\r\n      font-size: 14px;\r\n      font-weight: 300;\r\n      color: var(--brown);\r\n      opacity: 0.75;\r\n      line-height: 1.7;\r\n    }\r\n    .cb-modal__cta-wrap {\r\n      margin-top: 24px;\r\n      padding-top: 20px;\r\n      border-top: 1px solid var(--cream-dark);\r\n    }\r\n    .cb-calendar a.cb-modal__cta,\r\n    .cb-modal__cta {\r\n      display: inline-block;\r\n      font-family: var(--sans);\r\n      font-size: 12px;\r\n      font-weight: 600;\r\n      letter-spacing: 1.5px;\r\n      text-transform: uppercase;\r\n      text-decoration: none !important;\r\n      color: #ffffff !important;\r\n      -webkit-text-fill-color: #ffffff !important;\r\n      background-color: #ac914c !important;\r\n      border: 1px solid #ac914c !important;\r\n      padding: 12px 26px;\r\n      line-height: 1.45 !important;\r\n      transition: background 0.2s, border-color 0.2s, color 0.2s;\r\n    }\r\n    .cb-calendar a.cb-modal__cta:hover,\r\n    .cb-modal__cta:hover {\r\n      filter: brightness(0.88);\r\n      color: #ffffff !important;\r\n      -webkit-text-fill-color: #ffffff !important;\r\n    }\r\n    .cb-modal__cta--cat-koenigsteinzimmer {\r\n      background-color: var(--cat-koenigstein) !important;\r\n      border-color: var(--cat-koenigstein) !important;\r\n    }\r\n    .cb-modal__cta--cat-fokus-o {\r\n      background-color: var(--cat-fokus-o) !important;\r\n      border-color: var(--cat-fokus-o) !important;\r\n    }\r\n    .cb-modal__cta--cat-sonstige {\r\n      background-color: var(--cat-sonstige) !important;\r\n      border-color: var(--cat-sonstige) !important;\r\n    }\r\n\r\n    \/* \u2500\u2500 Responsive \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n    @media (max-width: 600px) {\r\n      .cb-filter { gap: 6px; }\r\n      .cb-filter__btn {\r\n        font-size: 10px;\r\n        padding: 8px 12px;\r\n        letter-spacing: 0.5px;\r\n      }\r\n      .cb-day { min-height: 60px; padding: 5px; }\r\n      .cb-day__num { font-size: 11px; }\r\n      .cb-event-chip { font-size: 8px; padding: 1px 4px; }\r\n      .cb-list-item { grid-template-columns: 52px 1fr; gap: 0 12px; }\r\n      .cb-list-item--featured { padding: 16px 12px !important; }\r\n      .cb-list-item--featured:hover { margin: 0 -8px !important; padding: 16px 20px !important; }\r\n      .cb-list-date__day { font-size: 20px; }\r\n      .cb-list-item__cta { display: block; text-align: center; width: 100%; box-sizing: border-box; }\r\n      .cb-featured-head {\r\n        gap: 8px;\r\n      }\r\n      .cb-featured-thumb img {\r\n        max-width: min(100%, 220px);\r\n        max-height: 72px;\r\n      }\r\n      .cb-modal { padding: 28px 22px; }\r\n    }\r\n  <\/style>\r\n\r\n\r\n\r\n<div class=\"cb-calendar\">\r\n\r\n  <!-- Header -->\r\n  <div class=\"cb-header\">\r\n    <p class=\"cb-header__eyebrow\">\u6d3b\u52a8\u4e0e\u9884\u7ea6<\/p>\r\n    <h1 class=\"cb-header__title\" style=\"color:#9a948c !important;-webkit-text-fill-color:#9a948c !important;\">\u6d3b\u52a8\u65e5\u5386<\/h1>\r\n    <p class=\"cb-header__subtitle\">\r\n \u5728\u514b\u5c3c\u683c\u65bd\u6cf0\u56e0 (K\u00f6nigstein)\u3001\u5965\u4f2f\u4e4c\u5c14\u745f\u5c14 (Oberursel)\r\n \u53ca\u5468\u8fb9\u5730\u533a\u4e3e\u529e\u7684\u72ec\u5bb6\u6d3b\u52a8\u3001\u770b\u623f\u9884\u7ea6\u548c\u76db\u4e8b\u2014\u2014\u5730\u70b9\u5305\u62ec\u514b\u5c3c\u683c\u65bd\u6cf0\u56e0\u5385 (K\u00f6nigsteinzimmer)\u3001\u5965\u4f2f\u4e4c\u5c14\u745f\u5c14 Elaya \u9152\u5e97\r\n \u4ee5\u53ca\u5176\u4ed6\u7cbe\u9009\u573a\u6240\u3002\r\n    <\/p>\r\n  <\/div>\r\n\r\n  <!-- Category Filter -->\r\n  <div class=\"cb-filter\" id=\"categoryFilter\">\r\n    <button type=\"button\" class=\"cb-filter__btn active\" data-cat=\"all\" onclick=\"switchCategory('all')\">\u6240\u6709\u6d3b\u52a8<\/button>\r\n    <button type=\"button\" class=\"cb-filter__btn\" data-cat=\"koenigsteinzimmer\" onclick=\"switchCategory('koenigsteinzimmer')\">K\u00f6nigstein \u623f\u95f4<\/button>\r\n    <button type=\"button\" class=\"cb-filter__btn\" data-cat=\"fokus-o\" onclick=\"switchCategory('fokus-o')\">\u7126\u70b9 O<\/button>\r\n    <button type=\"button\" class=\"cb-filter__btn\" data-cat=\"sonstige\" onclick=\"switchCategory('sonstige')\">\u5176\u4ed6<\/button>\r\n  <\/div>\r\n\r\n  <!-- Toggle -->\r\n  <div class=\"cb-toggle\">\r\n    <button class=\"cb-toggle__btn\" id=\"btnGrid\" onclick=\"switchView('grid')\">\u6708\u89c6\u56fe<\/button>\r\n    <button class=\"cb-toggle__btn active\" id=\"btnList\" onclick=\"switchView('list')\">\u5217\u8868\u89c6\u56fe<\/button>\r\n  <\/div>\r\n\r\n  <!-- Navigation -->\r\n  <div class=\"cb-nav\">\r\n    <button class=\"cb-nav__arrow\" onclick=\"changeMonth(-1)\" aria-label=\"Vorheriger Monat\">\u2190<\/button>\r\n    <span class=\"cb-nav__label\" id=\"navLabel\"><\/span>\r\n    <button class=\"cb-nav__arrow\" onclick=\"changeMonth(1)\" aria-label=\"N\u00e4chster Monat\">\u2192<\/button>\r\n  <\/div>\r\n\r\n  <!-- Grid View -->\r\n  <div class=\"cb-grid\" id=\"viewGrid\" style=\"display:none\">\r\n    <div class=\"cb-weekdays\">\r\n      <span>\u4e00<\/span><span>\u4e8c<\/span><span>\u4e09<\/span>\r\n      <span>\u56db<\/span><span>\u4e94<\/span><span>\u516d<\/span><span>\u65e5<\/span>\r\n    <\/div>\r\n    <div class=\"cb-days\" id=\"calDays\"><\/div>\r\n  <\/div>\r\n\r\n  <!-- List View -->\r\n  <div class=\"cb-list\" id=\"viewList\" style=\"display:block\"><\/div>\r\n\r\n<\/div>\r\n\r\n<!-- Modal -->\r\n<div class=\"cb-overlay\" id=\"overlay\" onclick=\"closeModal(event)\">\r\n  <div class=\"cb-modal\" id=\"modal\">\r\n    <button class=\"cb-modal__close\" onclick=\"closeModalBtn()\">\u00d7<\/button>\r\n    <p class=\"cb-modal__eyebrow\" id=\"mEyebrow\"><\/p>\r\n    <h2 class=\"cb-modal__title\" id=\"mTitle\"><\/h2>\r\n    <div class=\"cb-modal__divider\"><\/div>\r\n    <div class=\"cb-modal__row\">\r\n      <!-- calendar icon -->\r\n      <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"><\/rect><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"><\/line><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"><\/line><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"><\/line><\/svg>\r\n      <span id=\"mDate\"><\/span>\r\n    <\/div>\r\n    <div class=\"cb-modal__row\" id=\"mTimeRow\">\r\n      <!-- clock icon -->\r\n      <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><polyline points=\"12 7 12 12 15 15\"><\/polyline><\/svg>\r\n      <span id=\"mTime\"><\/span>\r\n    <\/div>\r\n    <div class=\"cb-modal__row\" id=\"mLocRow\">\r\n      <!-- pin icon -->\r\n      <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><path d=\"M12 2C8.68 2 6 4.68 6 8c0 5.25 6 13 6 13s6-7.75 6-13c0-3.32-2.68-6-6-6z\"><\/path><circle cx=\"12\" cy=\"8\" r=\"2.5\"><\/circle><\/svg>\r\n      <span id=\"mLoc\"><\/span>\r\n    <\/div>\r\n    <p class=\"cb-modal__desc\" id=\"mDesc\"><\/p>\r\n    <div class=\"cb-modal__cta-wrap\" id=\"mCtaWrap\" style=\"display:none\">\r\n      <a class=\"cb-modal__cta\" id=\"mCta\" href=\"#\">\u67e5\u770b\u9080\u8bf7\u5e76\u62a5\u540d<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n\/* \u2500\u2500 Event Data \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n   Passe die Ereignisse hier an oder verbinde sie mit einer API.\r\n   \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\nconst EVENTS = [\r\n  {\r\n    id: 1,\r\n    date: '2026-02-11',\r\n    time: '14:56',\r\n    category: 'koenigsteinzimmer',\r\n    title: '60. Geburtstag im K\u00f6nigsteinzimmer',\r\n    location: 'K\u00f6nigsteinzimmer, Frankfurter Str. 1, 61462 K\u00f6nigstein',\r\n    desc: 'Exklusive Geburtstagsfeier im stilvollen Ambiente des K\u00f6nigsteinzimmers. Gastgeberin: Petra Krause.'\r\n  },\r\n  {\r\n    id: 2,\r\n    date: '2026-02-27',\r\n    time: '16:53',\r\n    category: 'sonstige',\r\n    title: 'Open House \u2013 Villa Vie Wiesbaden',\r\n    location: 'Sven Echternach, Sonnenberger Str. 20, 65193 Wiesbaden',\r\n    desc: 'Gemeinsame Besichtigung der Villa Vie Wiesbaden in Kooperation mit dem renommierten Auktionshaus.'\r\n  },\r\n  {\r\n    id: 3,\r\n    date: '2026-02-28',\r\n    dateEnd: '2026-03-01',\r\n    multiDay: true,\r\n    category: 'sonstige',\r\n    title: 'Informationsveranstaltung Coaching2Lead',\r\n    location: 'Gutsche & Bork GbR, Am Lichtetal 1, K\u00f6nigstein',\r\n    desc: 'Zweit\u00e4gige Informationsveranstaltung f\u00fcr ausgew\u00e4hlte Interessenten. Veranstalter: Gutsche & Bork GbR \u2013 Coaching2Lead.'\r\n  },\r\n  {\r\n    id: 4,\r\n    date: '2026-03-05',\r\n    time: '16:57',\r\n    category: 'sonstige',\r\n    title: 'Vernissage \u2013 Leske \u00fcber Dr. Astrid von Luxburg',\r\n    location: 'Kultur-Erlebnis, Rattener Str. 13, 55425 Walddalheim',\r\n    desc: 'Kunstvernissage mit Werken von Leske. Vortrag \u00fcber das Leben und Schaffen von Dr. Astrid von Luxburg.'\r\n  },\r\n  {\r\n    id: 5,\r\n    date: '2026-03-08',\r\n    time: '16:46',\r\n    category: 'koenigsteinzimmer',\r\n    title: 'Anmietung \u2013 Brautmode & Kosmetik',\r\n    location: 'K\u00f6nigsteinzimmer, Frankfurter Str. 1, 61462 K\u00f6nigstein',\r\n    desc: 'Exklusiver Showroom f\u00fcr Brautmode und Kosmetik. Besondere Atmosph\u00e4re f\u00fcr einen unvergesslichen Anlass.'\r\n  },\r\n  {\r\n    id: 6,\r\n    date: '2026-03-10',\r\n    time: '09:00\u201313:00',\r\n    category: 'koenigsteinzimmer',\r\n    title: 'CDU \u2013 Politisches Informationsgespr\u00e4ch mit Christina Stumpp',\r\n    location: 'K\u00f6nigsteinzimmer, Frankfurter Str. 1, 61462 K\u00f6nigstein',\r\n    desc: 'Exklusive Informationsveranstaltung der CDU mit Christina Stumpp im K\u00f6nigsteinzimmer.'\r\n  },\r\n  {\r\n    id: 7,\r\n    date: '2026-03-18',\r\n    time: '18:00',\r\n    category: 'koenigsteinzimmer',\r\n    title: 'Coco Chanel Lesung',\r\n    location: 'K\u00f6nigsteinzimmer, Frankfurter Str. 1, 61462 K\u00f6nigstein',\r\n    desc: 'Literarische Lesung \u00fcber das Leben und das Verm\u00e4chtnis von Coco Chanel \u2013 Mode, Stil und Charakter.'\r\n  },\r\n  {\r\n    id: 8,\r\n    date: '2026-03-28',\r\n    time: '16:49',\r\n    category: 'sonstige',\r\n    title: 'Informationsveranstaltung Coaching2Lead',\r\n    location: 'Gutsche & Bork GbR, Am Lichtetal 1, K\u00f6nigstein',\r\n    desc: 'Weitere Informationsveranstaltung mit Coaching2Lead f\u00fcr neue Interessenten.'\r\n  },\r\n  {\r\n    id: 9,\r\n    date: '2026-04-12',\r\n    time: '16:49',\r\n    category: 'koenigsteinzimmer',\r\n    title: 'Brautfrisuren \u2013 Antonia Franke',\r\n    location: 'K\u00f6nigsteinzimmer, Frankfurter Str. 1, 61462 K\u00f6nigstein',\r\n    desc: 'Pr\u00e4sentation aktueller Brautfrisuren-Trends mit Stylistin Antonia Franke. Pers\u00f6nliche Beratung auf Anfrage.'\r\n  },\r\n  {\r\n    id: 10,\r\n    date: '2026-04-18',\r\n    time: '16:50',\r\n    category: 'sonstige',\r\n    title: 'Informationsveranstaltung Coaching2Lead',\r\n    location: 'Gutsche & Bork GbR, Am Lichtetal 1, K\u00f6nigstein',\r\n    desc: 'Exklusives Informationsevent. Veranstalter: Gutsche & Bork GbR \u2013 Coaching2Lead.'\r\n  },\r\n  {\r\n    id: 11,\r\n    date: '2026-05-15',\r\n    time: '18:00',\r\n    category: 'koenigsteinzimmer',\r\n    title: 'Immobilienabend \u2013 Markt & Perspektiven',\r\n    location: 'K\u00f6nigsteinzimmer, Frankfurter Str. 1, 61462 K\u00f6nigstein',\r\n    desc: 'Exklusiver Abend f\u00fcr Immobilieninteressenten mit aktuellen Marktanalysen und pers\u00f6nlicher Beratung durch das Team Blumenauer.'\r\n  },\r\n  {\r\n    id: 13,\r\n    date: '2026-05-28',\r\n    time: 'Einlass 19:00 \u00b7 Beginn 19:30',\r\n    timeDetailed: true,\r\n    category: 'koenigsteinzimmer',\r\n    title: 'Klang & Kapital',\r\n    location: 'K\u00f6nigsteinzimmer, Frankfurter Str. 1, 61462 K\u00f6nigstein im Taunus',\r\n    desc: 'Wenn Musik zur Verm\u00f6gensklasse wird: Kammermusik und Investmentperspektive mit VIOLIN ASSETS, INSTRUMENTUM Foundation und Christian Reister \u2013 dazu Laura Zari\u0146a (Violine) und Una\u00ed S\u00e1nchez (Violoncello). Begrenzte Pl\u00e4tze.',\r\n    featured: true,\r\n    thumbUrl: 'https:\/\/www.claus-blumenauer.de\/wp-content\/uploads\/2026\/03\/titelbild-klang-kapital.png',\r\n    registerUrl: 'https:\/\/www.claus-blumenauer.de\/klang-kapital\/'\r\n  },\r\n  {\r\n    id: 20,\r\n    date: '2026-06-17',\r\n    time: 'Vernissage 19:00',\r\n    timeDetailed: true,\r\n    category: 'koenigsteinzimmer',\r\n    title: 'Kunst im Dialog',\r\n    location: 'K\u00f6nigsteinzimmer, Frankfurter Str. 1, 61462 K\u00f6nigstein im Taunus',\r\n    desc: 'Anne Kuprat (Zeichnung im Raum) trifft Renate Lotsch (Kl\u00e4nge im Raum). Ausstellung in Kooperation mit Kulturgenuss Exklusiv \u2013 kuratiert von Prof. Dr. Astrid von Luxburg. Begrenzte Pl\u00e4tze.',\r\n    featured: true,\r\n    thumbUrl: 'https:\/\/www.claus-blumenauer.de\/wp-content\/uploads\/2026\/06\/kunst-im-dialog.png',\r\n    registerUrl: 'https:\/\/www.claus-blumenauer.de\/einladung-kunst-und-dialog\/'\r\n  },\r\n  {\r\n    id: 12,\r\n    date: '2026-06-20',\r\n    time: '16:51',\r\n    category: 'sonstige',\r\n    title: 'Informationsveranstaltung Coaching2Lead',\r\n    location: 'Gutsche & Bork GbR, Am Lichtetal 1, K\u00f6nigstein',\r\n    desc: 'Regelm\u00e4\u00dfiges Informationsevent von Coaching2Lead.'\r\n  },\r\n  {\r\n    id: 14,\r\n    date: '2026-06-01',\r\n    time: '19:00',\r\n    category: 'sonstige',\r\n    title: 'Werte treffen Wirtschaft',\r\n    location: 'Nicola Sch\u00e4fer, Hauptstra\u00dfe 41, 61462 K\u00f6nigstein im Taunus',\r\n    desc: 'Netzwerk f\u00fcr Unternehmer- und Freiberuflerinnen \u2013 bereits zum dritten Mal: Gemeinsam Zukunft gestalten. Keynote von Christiane Harriehausen (Journalistin, Beirat Wertekommission): \u201eWerte schaffen Werte \u2013 was Selbstverantwortung und Vertrauen in Unternehmen bewirken\u201c. Ein Abend voller Inspiration, Austausch und echter Verbindung. Gastgeberinnen: Nicola Sch\u00e4fer, Christiane Harriehausen, Heidi Ehniss, Ivonne Mumm und Martina G\u00fcttler. Anmeldung bei Martina G\u00fcttler (guettler@claus-blumenauer.de, 0160-97744086) oder Heidi Ehniss (heidi.ehniss@t-online.de).',\r\n    featured: true,\r\n    thumbUrl: 'https:\/\/www.claus-blumenauer.de\/wp-content\/uploads\/2026\/05\/Werte-treffen-Wirtschaft-Flyer-14.8-x-14.8-cm-23.04.2026-3.png',\r\n    registerUrl: 'https:\/\/www.claus-blumenauer.de\/wp-content\/uploads\/2026\/05\/Werte-treffen-Wirtschaft-Flyer-14.8-x-14.8-cm-23.04.2026-3.png'\r\n  },\r\n  {\r\n    id: 15,\r\n    date: '2026-03-26',\r\n    time: '19:00',\r\n    category: 'fokus-o',\r\n    title: 'Fokus O: Anforderungen von Banken und Sparkassen an die Immobilie',\r\n    location: 'Elaya Hotel Frankfurt Oberursel, Zimmersm\u00fchlenweg 35, 61440 Oberursel',\r\n    desc: 'Welche F\u00f6rderdarlehen und Zusch\u00fcsse \u2013 warum ist es heute wichtiger denn je, sich nicht nur auf die sogenannte Hausbank zu verlassen? Referent: Firmengruppe Mockenhaupt, Armin Mockenhaupt. Status: zugesagt.'\r\n  },\r\n  {\r\n    id: 16,\r\n    date: '2026-06-25',\r\n    time: '18:00',\r\n    category: 'fokus-o',\r\n    title: 'Energie Zukunft f\u00fcr Immobilien',\r\n    location: 'Elaya Hotel Oberursel, Zimmersm\u00fchlenweg 35, 61440 Oberursel',\r\n    desc: 'Fokus O. \u2013 Themenabend der Immobiliens\u00e4ule: Umr\u00fcstung von fossilen Brennstoffen auf erneuerbare Energien anhand von Praxisbeispielen. Referent: Herr Fr\u00f6nicke (LOK \u2013 Lokale Oberurseler Klimainitiative). Themen: Praxisbeispiele zur Umr\u00fcstung im Bestand, Wirtschaftlichkeit & F\u00f6rderm\u00f6glichkeiten, W\u00e4rmepumpen, Rechenbeispiele, digitale Werkzeuge sowie Austausch & Ihre Fragen. Begrenzte Pl\u00e4tze.',\r\n    featured: true,\r\n    thumbUrl: 'https:\/\/www.claus-blumenauer.de\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-18.-Juni-2026-16_53_20.png',\r\n    registerUrl: 'https:\/\/www.claus-blumenauer.de\/einladung-energie-zukunft-fuer-immobilien\/'\r\n  },\r\n  {\r\n    id: 17,\r\n    date: '2026-08-27',\r\n    time: '19:00',\r\n    category: 'fokus-o',\r\n    title: 'Fokus O: Regionaler Fl\u00e4chennutzungsplan',\r\n    location: 'Elaya Hotel Frankfurt Oberursel, Zimmersm\u00fchlenweg 35, 61440 Oberursel',\r\n    desc: 'Referenten: Stadt Oberursel, B\u00fcrgermeisterin Antje Runge mit Daniel Bauer (GBL Stadtentwicklung). Status: zugesagt.'\r\n  },\r\n  {\r\n    id: 18,\r\n    date: '2026-09-24',\r\n    time: '19:00',\r\n    category: 'fokus-o',\r\n    title: 'Fokus O: Steuerliche Aspekte beim An- und Verkauf von Immobilien',\r\n    location: 'Elaya Hotel Frankfurt Oberursel, Zimmersm\u00fchlenweg 35, 61440 Oberursel',\r\n    desc: 'Referent: btu-beraterpartner, Benjamin M\u00fcller. Status: zugesagt.'\r\n  },\r\n  {\r\n    id: 19,\r\n    date: '2026-11-26',\r\n    time: '19:00',\r\n    category: 'fokus-o',\r\n    title: 'Fokus O: Status W\u00e4rmeleitplanung',\r\n    location: 'Elaya Hotel Frankfurt Oberursel, Zimmersm\u00fchlenweg 35, 61440 Oberursel',\r\n    desc: 'Referent: Stadtwerke OBU, Jens Hardick. Status: offen.'\r\n  },\r\n];\r\n\r\n\/* \u2500\u2500 State \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\nconst today = new Date();\r\nlet currentYear  = today.getFullYear();\r\nlet currentMonth = today.getMonth(); \/\/ 0-indexed\r\nlet viewMode = 'list';\r\nlet categoryFilter = 'all';\r\n\r\nconst CATEGORY_LABELS = {\r\n  koenigsteinzimmer: 'K\u00f6nigsteinzimmer',\r\n  'fokus-o': 'Fokus O',\r\n  sonstige: 'Sonstige'\r\n};\r\n\r\nconst MONTHS_DE = ['Januar','Februar','M\u00e4rz','April','Mai','Juni',\r\n                   'Juli','August','September','Oktober','November','Dezember'];\r\nconst MONTHS_SHORT = ['Jan','Feb','M\u00e4r','Apr','Mai','Jun',\r\n                      'Jul','Aug','Sep','Okt','Nov','Dez'];\r\n\r\n\/* \u2500\u2500 Helpers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\nfunction todayYmd() {\r\n  return ymd(today.getFullYear(), today.getMonth(), today.getDate());\r\n}\r\nfunction eventEndYmd(ev) {\r\n  return ev.dateEnd || ev.date;\r\n}\r\nfunction isUpcoming(ev) {\r\n  return eventEndYmd(ev) >= todayYmd();\r\n}\r\nfunction getFilteredEvents() {\r\n  let list = EVENTS.filter(isUpcoming);\r\n  if (categoryFilter === 'all') return list;\r\n  return list.filter(e => e.category === categoryFilter);\r\n}\r\nfunction eventCategoryClass(ev) {\r\n  return ev.category || 'sonstige';\r\n}\r\nfunction categoryLabel(cat) {\r\n  return CATEGORY_LABELS[cat] || 'Sonstige';\r\n}\r\nfunction eventsForDate(dateStr) {\r\n  return getFilteredEvents().filter(e => {\r\n    if (e.multiDay && e.dateEnd) return e.date <= dateStr && dateStr <= e.dateEnd;\r\n    return e.date === dateStr;\r\n  });\r\n}\r\nfunction formatDateLong(dateStr) {\r\n  const [y, m, d] = dateStr.split('-').map(Number);\r\n  const dt = new Date(y, m - 1, d);\r\n  const days = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];\r\n  return `${days[dt.getDay()]}, ${d}. ${MONTHS_DE[m-1]} ${y}`;\r\n}\r\nfunction formatDateRange(ev) {\r\n  if (ev.multiDay && ev.dateEnd) {\r\n    const [y1,m1,d1] = ev.date.split('-').map(Number);\r\n    const [y2,m2,d2] = ev.dateEnd.split('-').map(Number);\r\n    return `${d1}. ${MONTHS_DE[m1-1]} \u2013 ${d2}. ${MONTHS_DE[m2-1]} ${y2}`;\r\n  }\r\n  return formatDateLong(ev.date);\r\n}\r\nfunction ymd(y, m, d) {\r\n  return `${y}-${String(m+1).padStart(2,'0')}-${String(d).padStart(2,'0')}`;\r\n}\r\n\r\n\/* \u2500\u2500 Switch View \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\nfunction switchView(mode) {\r\n  viewMode = mode;\r\n  document.getElementById('viewGrid').style.display = mode === 'grid' ? 'block' : 'none';\r\n  document.getElementById('viewList').style.display = mode === 'list' ? 'block' : 'none';\r\n  document.getElementById('btnGrid').classList.toggle('active', mode === 'grid');\r\n  document.getElementById('btnList').classList.toggle('active', mode === 'list');\r\n  renderAll();\r\n}\r\n\r\nfunction switchCategory(cat) {\r\n  categoryFilter = cat;\r\n  document.querySelectorAll('.cb-filter__btn').forEach(btn => {\r\n    btn.classList.toggle('active', btn.dataset.cat === cat);\r\n  });\r\n  renderAll();\r\n}\r\n\r\n\/* \u2500\u2500 Change Month \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\nfunction changeMonth(delta) {\r\n  currentMonth += delta;\r\n  if (currentMonth > 11) { currentMonth = 0; currentYear++; }\r\n  if (currentMonth < 0)  { currentMonth = 11; currentYear--; }\r\n  renderAll();\r\n}\r\n\r\n\/* \u2500\u2500 Render \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\nfunction renderAll() {\r\n  document.getElementById('navLabel').textContent = `${MONTHS_DE[currentMonth]} ${currentYear}`;\r\n  if (viewMode === 'grid') renderGrid();\r\n  else renderList();\r\n}\r\n\r\nfunction renderGrid() {\r\n  const container = document.getElementById('calDays');\r\n  container.innerHTML = '';\r\n\r\n  const firstDay = new Date(currentYear, currentMonth, 1);\r\n  \/\/ Monday-based: Mon=0 \u2026 Sun=6\r\n  let startOffset = firstDay.getDay() - 1;\r\n  if (startOffset < 0) startOffset = 6;\r\n\r\n  const daysInMonth = new Date(currentYear, currentMonth + 1, 0).getDate();\r\n  const totalCells  = Math.ceil((startOffset + daysInMonth) \/ 7) * 7;\r\n\r\n  for (let i = 0; i < totalCells; i++) {\r\n    const dayNum = i - startOffset + 1;\r\n    const cell = document.createElement('div');\r\n\r\n    if (dayNum < 1 || dayNum > daysInMonth) {\r\n      cell.className = 'cb-day cb-day--empty';\r\n    } else {\r\n      const dateStr = ymd(currentYear, currentMonth, dayNum);\r\n      const isToday = (currentYear === today.getFullYear() &&\r\n                       currentMonth === today.getMonth() &&\r\n                       dayNum === today.getDate());\r\n      cell.className = 'cb-day' + (isToday ? ' cb-day--today' : '');\r\n\r\n      const numEl = document.createElement('div');\r\n      numEl.className = 'cb-day__num';\r\n      numEl.textContent = dayNum;\r\n      cell.appendChild(numEl);\r\n\r\n      const evList = eventsForDate(dateStr);\r\n      const evWrap = document.createElement('div');\r\n      evWrap.className = 'cb-day__events';\r\n\r\n      const maxShow = 2;\r\n      evList.slice(0, maxShow).forEach(ev => {\r\n        const chip = document.createElement('div');\r\n        const cat = eventCategoryClass(ev);\r\n        chip.className = 'cb-event-chip cb-event-chip--cat-' + cat + (ev.featured ? ' cb-event-chip--featured' : '');\r\n        chip.textContent = ev.title;\r\n        chip.title = ev.title;\r\n        chip.onclick = () => openModal(ev);\r\n        evWrap.appendChild(chip);\r\n      });\r\n\r\n      if (evList.length > maxShow) {\r\n        const more = document.createElement('div');\r\n        more.className = 'cb-event-chip cb-event-chip--more';\r\n        more.textContent = `+${evList.length - maxShow} weitere`;\r\n        more.onclick = () => openModal(evList[maxShow]);\r\n        evWrap.appendChild(more);\r\n      }\r\n      cell.appendChild(evWrap);\r\n    }\r\n    container.appendChild(cell);\r\n  }\r\n}\r\n\r\nfunction renderList() {\r\n  const container = document.getElementById('viewList');\r\n  container.innerHTML = '';\r\n\r\n  \/\/ Group events by month (multi-day events appear in each affected month)\r\n  const grouped = {};\r\n  getFilteredEvents().forEach(ev => {\r\n    const addToKey = (key) => {\r\n      if (!grouped[key]) grouped[key] = [];\r\n      if (!grouped[key].find(e => e.id === ev.id)) grouped[key].push(ev);\r\n    };\r\n    const [y1, m1] = ev.date.split('-').map(Number);\r\n    addToKey(`${y1}-${String(m1).padStart(2,'0')}`);\r\n    if (ev.multiDay && ev.dateEnd) {\r\n      const [y2, m2] = ev.dateEnd.split('-').map(Number);\r\n      const k2 = `${y2}-${String(m2).padStart(2,'0')}`;\r\n      if (k2 !== `${y1}-${String(m1).padStart(2,'0')}`) addToKey(k2);\r\n    }\r\n  });\r\n\r\n  \/\/ Show current month onwards\r\n  const fromKey = `${currentYear}-${String(currentMonth+1).padStart(2,'0')}`;\r\n  const keys = Object.keys(grouped).filter(k => k >= fromKey).sort();\r\n\r\n  if (keys.length === 0) {\r\n    const empty = document.createElement('p');\r\n    empty.style.cssText = 'text-align:center;color:#ac914c;font-style:italic;padding:40px 0;font-family:IBM Plex Serif,serif;';\r\n    empty.textContent = categoryFilter === 'all'\r\n      ? 'Keine Veranstaltungen in diesem Zeitraum.'\r\n      : `Keine Veranstaltungen in \u201e${categoryLabel(categoryFilter)}\u201c in diesem Zeitraum.`;\r\n    container.appendChild(empty);\r\n    return;\r\n  }\r\n\r\n  keys.forEach(key => {\r\n    const [y, m] = key.split('-').map(Number);\r\n    const section = document.createElement('div');\r\n    section.className = 'cb-list-month';\r\n\r\n    const heading = document.createElement('div');\r\n    heading.className = 'cb-list-month__title';\r\n    heading.textContent = `${MONTHS_DE[m-1]} ${y}`;\r\n    section.appendChild(heading);\r\n\r\n    grouped[key].sort((a, b) => a.date.localeCompare(b.date)).forEach(ev => {\r\n      const d = parseInt(ev.date.split('-')[2], 10);\r\n      const isMulti = ev.multiDay && ev.dateEnd;\r\n      const cat = eventCategoryClass(ev);\r\n      const timeLine = ev.time\r\n        ? (ev.timeDetailed ? ev.time : `${ev.time} Uhr`)\r\n        : '';\r\n      const row = document.createElement('div');\r\n      row.className = 'cb-list-item cb-list-item--cat-' + cat + (ev.featured ? ' cb-list-item--featured' : '');\r\n      row.onclick = (e) => {\r\n        if (e.target.closest && e.target.closest('.cb-list-item__cta')) return;\r\n        openModal(ev);\r\n      };\r\n      row.innerHTML = `\r\n        <div class=\"cb-list-date cb-list-date--cat-${cat}${isMulti ? ' cb-list-date--multiday' : ''}\">\r\n          ${isMulti\r\n            ? `<div class=\"cb-list-date__day\">${d}\u2013${parseInt(ev.dateEnd.split('-')[2],10)}<\/div>`\r\n            : `<div class=\"cb-list-date__day\">${d}<\/div>`\r\n          }\r\n          <div class=\"cb-list-date__month\">${MONTHS_SHORT[m-1]}<\/div>\r\n        <\/div>\r\n        <div class=\"cb-list-info\">\r\n          ${ev.featured ? `\r\n          <div class=\"cb-featured-head\">\r\n            <span class=\"cb-featured-badge\">Highlight<\/span>\r\n            ${ev.thumbUrl ? `<div class=\"cb-featured-thumb\"><img decoding=\"async\" src=\"${ev.thumbUrl}\" alt=\"${ev.title}\" loading=\"lazy\" \/><\/div>` : ''}\r\n          <\/div>` : ''}\r\n          <div class=\"cb-list-info__title\">\r\n            ${ev.title}\r\n            ${isMulti ? '<span class=\"cb-badge-multiday\">2-Tagesveranstaltung<\/span>' : ''}\r\n            ${!ev.featured ? `<span class=\"cb-cat-badge cb-cat-badge--${cat}\">${categoryLabel(cat)}<\/span>` : ''}\r\n          <\/div>\r\n          <div class=\"cb-list-info__meta\">\r\n            ${timeLine ? `<span>\r\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><polyline points=\"12 7 12 12 15 15\"\/><\/svg>\r\n              ${timeLine}\r\n            <\/span>` : ''}\r\n            ${ev.location ? `<span>\r\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"><path d=\"M12 2C8.68 2 6 4.68 6 8c0 5.25 6 13 6 13s6-7.75 6-13c0-3.32-2.68-6-6-6z\"\/><circle cx=\"12\" cy=\"8\" r=\"2.5\"\/><\/svg>\r\n              ${ev.location.split(',')[0]}\r\n            <\/span>` : ''}\r\n          <\/div>\r\n          ${ev.desc ? `<div class=\"cb-list-info__desc\">${ev.desc}<\/div>` : ''}\r\n          ${ev.registerUrl ? `<a href=\"${ev.registerUrl}\" class=\"cb-list-item__cta\" onclick=\"event.stopPropagation()\">Zur Einladung &amp; Anmeldung<\/a>` : ''}\r\n        <\/div>\r\n      `;\r\n      section.appendChild(row);\r\n    });\r\n\r\n    container.appendChild(section);\r\n  });\r\n}\r\n\r\n\r\n\/* \u2500\u2500 Modal \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\nfunction openModal(ev) {\r\n  const cat = eventCategoryClass(ev);\r\n  document.getElementById('mEyebrow').textContent = ev.multiDay\r\n    ? '2-Tagesveranstaltung \u00b7 ' + categoryLabel(cat)\r\n    : (ev.featured ? 'Highlight \u00b7 ' + categoryLabel(cat) : categoryLabel(cat));\r\n  document.getElementById('mTitle').textContent  = ev.title;\r\n  document.getElementById('mDate').textContent   = formatDateRange(ev);\r\n\r\n  const timeRow = document.getElementById('mTimeRow');\r\n  if (ev.time) {\r\n    document.getElementById('mTime').textContent = ev.timeDetailed ? ev.time : `${ev.time} Uhr`;\r\n    timeRow.style.display = 'flex';\r\n  } else {\r\n    timeRow.style.display = 'none';\r\n  }\r\n\r\n  const locRow = document.getElementById('mLocRow');\r\n  if (ev.location) {\r\n    document.getElementById('mLoc').textContent = ev.location;\r\n    locRow.style.display = 'flex';\r\n  } else {\r\n    locRow.style.display = 'none';\r\n  }\r\n\r\n  document.getElementById('mDesc').textContent = ev.desc || '';\r\n\r\n  const ctaWrap = document.getElementById('mCtaWrap');\r\n  const cta = document.getElementById('mCta');\r\n  cta.className = 'cb-modal__cta cb-modal__cta--cat-' + cat;\r\n  if (ev.registerUrl) {\r\n    cta.href = ev.registerUrl;\r\n    ctaWrap.style.display = 'block';\r\n  } else {\r\n    ctaWrap.style.display = 'none';\r\n  }\r\n\r\n  document.getElementById('overlay').classList.add('open');\r\n}\r\n\r\nfunction closeModalBtn() {\r\n  document.getElementById('overlay').classList.remove('open');\r\n}\r\nfunction closeModal(e) {\r\n  if (e.target === document.getElementById('overlay')) closeModalBtn();\r\n}\r\ndocument.addEventListener('keydown', e => { if (e.key === 'Escape') closeModalBtn(); });\r\n\r\n\/* \u2500\u2500 Init \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\nrenderAll();\r\n<\/script>\r\n\r\n\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2df83e2 e-con-full e-flex e-con e-child\" data-id=\"2df83e2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3baa9b0 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"3baa9b0\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u72ec\u5bb6\u6d3b\u52a8\u573a\u5730<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a193d1 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"9a193d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">K\u00f6nigsteinzimmer<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a2d5b40 elementor-widget elementor-widget-text-editor\" data-id=\"a2d5b40\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u5f53\u4f18\u96c5\u9047\u89c1\u73b0\u4ee3\u3002\u4e3a\u60a8\u5728 K\u00f6nigstein im Taunus \u4e2d\u5fc3\u6253\u9020\u96be\u5fd8\u6d3b\u52a8\u7684\u72ec\u5bb6\u573a\u5730\u3002 <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6a6f5be e-con-full e-flex e-con e-child\" data-id=\"6a6f5be\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-78fed25 e-con-full e-flex e-con e-child\" data-id=\"78fed25\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-01ef630 elementor-widget elementor-widget-image\" data-id=\"01ef630\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"625\" height=\"352\" src=\"https:\/\/www.claus-blumenauer.de\/wp-content\/uploads\/2025\/09\/csm_gente-negocios-trabajando-equipo-oficina_1303-22867_f4e15fb8d3.jpeg\" class=\"attachment-large size-large wp-image-3939\" alt=\"\" srcset=\"https:\/\/www.claus-blumenauer.de\/wp-content\/uploads\/2025\/09\/csm_gente-negocios-trabajando-equipo-oficina_1303-22867_f4e15fb8d3.jpeg 625w, https:\/\/www.claus-blumenauer.de\/wp-content\/uploads\/2025\/09\/csm_gente-negocios-trabajando-equipo-oficina_1303-22867_f4e15fb8d3-300x169.jpeg 300w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a283a18 e-con-full e-flex e-con e-child\" data-id=\"a283a18\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b438aa1 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"b438aa1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u4e86\u89e3\u66f4\u591a\uff1f<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a1de10e elementor-align-left elementor-invisible elementor-widget elementor-widget-button\" data-id=\"a1de10e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/koenigsteinzimmer.de\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-arrow-right\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u524d\u5f80\u6d3b\u52a8\u573a\u5730<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\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>\u6d3b\u52a8\u65e5\u5386 \u2013 Claus Blumenauer Immobilien \u6d3b\u52a8\u4e0e\u9884\u7ea6 \u6d3b\u52a8\u65e5\u5386 \u5728\u514b\u5c3c\u683c\u65bd\u6cf0\u56e0 ( [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-4187","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.claus-blumenauer.de\/zh-hans\/wp-json\/wp\/v2\/pages\/4187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.claus-blumenauer.de\/zh-hans\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.claus-blumenauer.de\/zh-hans\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.claus-blumenauer.de\/zh-hans\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.claus-blumenauer.de\/zh-hans\/wp-json\/wp\/v2\/comments?post=4187"}],"version-history":[{"count":14,"href":"https:\/\/www.claus-blumenauer.de\/zh-hans\/wp-json\/wp\/v2\/pages\/4187\/revisions"}],"predecessor-version":[{"id":7428,"href":"https:\/\/www.claus-blumenauer.de\/zh-hans\/wp-json\/wp\/v2\/pages\/4187\/revisions\/7428"}],"wp:attachment":[{"href":"https:\/\/www.claus-blumenauer.de\/zh-hans\/wp-json\/wp\/v2\/media?parent=4187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}