{"id":415,"date":"2023-11-29T09:03:57","date_gmt":"2023-11-29T09:03:57","guid":{"rendered":"https:\/\/demo.athemes.com\/sp-hotel\/?page_id=415"},"modified":"2026-04-07T13:28:51","modified_gmt":"2026-04-07T11:28:51","slug":"kontakt","status":"publish","type":"page","link":"https:\/\/www.hotelhohewart.de\/en\/kontakt\/","title":{"rendered":"Contact"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"415\" class=\"elementor elementor-415\">\n\t\t\t\t<div class=\"elementor-element elementor-element-921b09c hhw-kv e-flex e-con-boxed e-con e-parent\" data-id=\"921b09c\" 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-ceab3aa animated-slow hhw-hero-eyebrow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"ceab3aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation_delay&quot;:1,&quot;_animation&quot;:&quot;fadeInDown&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Kontakt<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f3c4461 hhw-hero-title elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"f3c4461\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Ihre Anfrage in guten H\u00e4nden <\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-298d3b3 hhw-hero-copy elementor-widget elementor-widget-text-editor\" data-id=\"298d3b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span class=\"BZ_Pyq_fadeIn\">Sie <\/span><span class=\"BZ_Pyq_fadeIn\">m\u00f6chten <\/span><span class=\"BZ_Pyq_fadeIn\">ein <\/span><span class=\"BZ_Pyq_fadeIn\">Zimmer <\/span><span class=\"BZ_Pyq_fadeIn\">anfragen <\/span><span class=\"BZ_Pyq_fadeIn\">oder <\/span><span class=\"BZ_Pyq_fadeIn\">haben <\/span><span class=\"BZ_Pyq_fadeIn\">Fragen <\/span><span class=\"BZ_Pyq_fadeIn\">zu <\/span><span class=\"BZ_Pyq_fadeIn\">Ihrem <\/span><span class=\"BZ_Pyq_fadeIn\">Aufenthalt?<\/span><br data-start=\"1432\" data-end=\"1435\" \/><span class=\"BZ_Pyq_fadeIn\">Wir <\/span><span class=\"BZ_Pyq_fadeIn\">freuen <\/span><span class=\"BZ_Pyq_fadeIn\">uns <\/span><span class=\"BZ_Pyq_fadeIn\">auf <\/span><span class=\"BZ_Pyq_fadeIn\">Ihre <\/span><span class=\"BZ_Pyq_fadeIn\">Nachricht <\/span><span class=\"BZ_Pyq_fadeIn\">und <\/span><span class=\"BZ_Pyq_fadeIn\">setzen <\/span><span class=\"BZ_Pyq_fadeIn\">uns <\/span><span class=\"BZ_Pyq_fadeIn\">schnellstm\u00f6glich <\/span><span class=\"BZ_Pyq_fadeIn\">mit <\/span><span class=\"BZ_Pyq_fadeIn\">Ihnen <\/span><span class=\"BZ_Pyq_fadeIn\">in <\/span><span class=\"BZ_Pyq_fadeIn\">Verbindung.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9894539 e-flex e-con-boxed e-con e-parent\" data-id=\"9894539\" 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-7db9f44 elementor-widget elementor-widget-html\" data-id=\"7db9f44\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  .hhw-contact-cards {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, minmax(0, 1fr));\r\n    gap: 26px;\r\n    margin-top: 10px;\r\n  }\r\n\r\n  .hhw-contact-card {\r\n    position: relative;\r\n    background: linear-gradient(180deg, #ffffff 0%, #fcfaf7 100%);\r\n    border: 1px solid rgba(122, 31, 49, 0.10);\r\n    border-radius: 22px;\r\n    padding: 34px 30px 30px;\r\n    box-shadow: 0 10px 30px rgba(40, 32, 24, 0.05);\r\n    overflow: hidden;\r\n    min-height: 250px;\r\n  }\r\n\r\n  .hhw-contact-card::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    height: 4px;\r\n    background: linear-gradient(90deg, #7a1f31 0%, #b33a52 100%);\r\n  }\r\n\r\n  .hhw-contact-label {\r\n    display: inline-block;\r\n    margin-bottom: 18px;\r\n    color: #7a1f31;\r\n    font-size: 13px;\r\n    font-weight: 600;\r\n    letter-spacing: 0.18em;\r\n    text-transform: uppercase;\r\n  }\r\n\r\n  .hhw-contact-title {\r\n    margin: 0 0 16px;\r\n    color: #2f3540;\r\n    font-size: 30px;\r\n    line-height: 1.12;\r\n    font-weight: 700;\r\n    letter-spacing: -0.02em;\r\n  }\r\n\r\n  .hhw-contact-text,\r\n  .hhw-contact-link {\r\n    color: #4b5b70;\r\n    font-size: 18px;\r\n    line-height: 1.8;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .hhw-contact-link {\r\n    display: inline-block;\r\n    transition: color 0.22s ease, transform 0.22s ease;\r\n  }\r\n\r\n  .hhw-contact-link:hover {\r\n    color: #7a1f31;\r\n    transform: translateY(-1px);\r\n  }\r\n\r\n  .hhw-contact-note {\r\n    margin-top: 16px;\r\n    color: #6b7688;\r\n    font-size: 15px;\r\n    line-height: 1.7;\r\n  }\r\n\r\n  @media (max-width: 1024px) {\r\n    .hhw-contact-cards {\r\n      grid-template-columns: 1fr;\r\n      gap: 20px;\r\n    }\r\n\r\n    .hhw-contact-card {\r\n      min-height: auto;\r\n      padding: 30px 24px 26px;\r\n    }\r\n\r\n    .hhw-contact-title {\r\n      font-size: 27px;\r\n    }\r\n\r\n    .hhw-contact-text,\r\n    .hhw-contact-link {\r\n      font-size: 17px;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 767px) {\r\n    .hhw-contact-card {\r\n      border-radius: 18px;\r\n      padding: 26px 20px 22px;\r\n    }\r\n\r\n    .hhw-contact-title {\r\n      font-size: 24px;\r\n    }\r\n\r\n    .hhw-contact-text,\r\n    .hhw-contact-link {\r\n      font-size: 16px;\r\n      line-height: 1.75;\r\n    }\r\n\r\n    .hhw-contact-note {\r\n      font-size: 14px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"hhw-contact-cards\">\r\n  <div class=\"hhw-contact-card\">\r\n    <span class=\"hhw-contact-label\">Adresse<\/span>\r\n    <h3 class=\"hhw-contact-title\">Hotel Hohe Wart<\/h3>\r\n    <div class=\"hhw-contact-text\">\r\n      Ostpreu\u00dfenstra\u00dfe 1<br>\r\n      89542 Herbrechtingen\r\n    <\/div>\r\n    <div class=\"hhw-contact-note\">\r\n      Besuchen Sie uns gerne vor Ort oder senden Sie uns Ihre Anfrage bequem online.\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"hhw-contact-card\">\r\n    <span class=\"hhw-contact-label\">Telefon<\/span>\r\n    <h3 class=\"hhw-contact-title\">Direkt erreichbar<\/h3>\r\n    <a class=\"hhw-contact-link\" href=\"tel:+49732496120\">+49 (0) 73 24 96 12 - 0<\/a>\r\n    <div class=\"hhw-contact-note\">\r\n      F\u00fcr R\u00fcckfragen und direkte Ausk\u00fcnfte stehen wir Ihnen gerne telefonisch zur Verf\u00fcgung.\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"hhw-contact-card\">\r\n    <span class=\"hhw-contact-label\">E-Mail<\/span>\r\n    <h3 class=\"hhw-contact-title\">Schriftliche Anfrage<\/h3>\r\n    <a class=\"hhw-contact-link\" href=\"mailto:info@hotelhohewart.de\">info@hotelhohewart.de<\/a>\r\n    <div class=\"hhw-contact-note\">\r\n      Schriftliche Anfragen beantworten wir schnellstm\u00f6glich und zuverl\u00e4ssig.\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d5477d4 e-flex e-con-boxed e-con e-parent\" data-id=\"d5477d4\" 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-87e45d1 elementor-widget elementor-widget-html\" data-id=\"87e45d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"hhw-form-intro-shell\">\n  <div class=\"hhw-form-intro-bg\" aria-hidden=\"true\">\n    <span class=\"hhw-intro-orb hhw-intro-orb-1\"><\/span>\n    <span class=\"hhw-intro-orb hhw-intro-orb-2\"><\/span>\n    <span class=\"hhw-intro-orb hhw-intro-orb-3\"><\/span>\n    <span class=\"hhw-intro-shine\"><\/span>\n  <\/div>\n\n  <div class=\"hhw-form-intro\">\n    <span class=\"hhw-form-intro-kicker\">ANFRAGEFORMULAR<\/span>\n    <h2>Ihre Anfrage an uns<\/h2>\n    <p>\n      Nutzen Sie unser Anfrageformular f\u00fcr Zimmerw\u00fcnsche, Firmenanfragen oder Fragen zu Ihrem Aufenthalt.\n      Wir melden uns schnellstm\u00f6glich pers\u00f6nlich bei Ihnen.\n    <\/p>\n  <\/div>\n<\/div>\n\n<style>\n.hhw-form-intro-shell{\n  position: relative;\n  max-width: 1160px;\n  margin: 34px auto 30px;\n  padding: 64px 34px 58px;\n  border-radius: 34px;\n  overflow: hidden;\n  background: linear-gradient(180deg, rgba(255,255,255,0.90) 0%, rgba(252,249,247,0.98) 100%);\n  border: 1px solid rgba(90, 24, 32, 0.06);\n  box-shadow: 0 16px 42px rgba(26, 32, 44, 0.05);\n}\n\n.hhw-form-intro-bg{\n  position: absolute;\n  inset: 0;\n  overflow: hidden;\n  pointer-events: none;\n}\n\n.hhw-intro-orb{\n  position: absolute;\n  border-radius: 999px;\n  filter: blur(18px);\n  animation-timing-function: ease-in-out;\n  animation-iteration-count: infinite;\n  animation-direction: alternate;\n}\n\n.hhw-intro-orb-1{\n  width: 340px;\n  height: 340px;\n  left: -110px;\n  top: 20px;\n  background: radial-gradient(circle at center, rgba(168, 38, 59, 0.10) 0%, rgba(168, 38, 59, 0.03) 55%, rgba(168, 38, 59, 0) 76%);\n  animation: hhwOrbFloatOne 7s infinite;\n}\n\n.hhw-intro-orb-2{\n  width: 320px;\n  height: 320px;\n  right: -100px;\n  bottom: -40px;\n  background: radial-gradient(circle at center, rgba(120, 95, 74, 0.10) 0%, rgba(120, 95, 74, 0.03) 55%, rgba(120, 95, 74, 0) 76%);\n  animation: hhwOrbFloatTwo 8s infinite;\n}\n\n.hhw-intro-orb-3{\n  width: 220px;\n  height: 220px;\n  left: 50%;\n  top: -90px;\n  transform: translateX(-50%);\n  background: radial-gradient(circle at center, rgba(91, 24, 32, 0.07) 0%, rgba(91, 24, 32, 0.02) 58%, rgba(91, 24, 32, 0) 76%);\n  animation: hhwOrbFloatThree 6.5s infinite;\n}\n\n\/* sichtbarer, aber edler Lichtschimmer *\/\n.hhw-intro-shine{\n  position: absolute;\n  top: -20%;\n  bottom: -20%;\n  width: 220px;\n  left: -260px;\n  background: linear-gradient(\n    90deg,\n    rgba(255,255,255,0) 0%,\n    rgba(255,255,255,0.18) 40%,\n    rgba(255,255,255,0.34) 50%,\n    rgba(255,255,255,0.18) 60%,\n    rgba(255,255,255,0) 100%\n  );\n  transform: skewX(-14deg);\n  filter: blur(6px);\n  animation: hhwShineMove 5.2s ease-in-out infinite;\n}\n\n.hhw-form-intro{\n  position: relative;\n  z-index: 2;\n  max-width: 860px;\n  margin: 0 auto;\n  text-align: center;\n}\n\n.hhw-form-intro-kicker{\n  display: inline-block;\n  margin-bottom: 14px;\n  font-size: 13px;\n  font-weight: 700;\n  letter-spacing: 0.24em;\n  color: #8b1128;\n}\n\n.hhw-form-intro h2{\n  margin: 0 0 18px;\n  font-size: clamp(36px, 4.6vw, 66px);\n  line-height: 1.03;\n  font-weight: 700;\n  color: #1f2e43;\n  text-wrap: balance;\n}\n\n.hhw-form-intro p{\n  margin: 0 auto;\n  max-width: 920px;\n  font-size: 18px;\n  line-height: 1.8;\n  color: #5f6b7a;\n}\n\n@keyframes hhwOrbFloatOne{\n  0%{ transform: translate3d(0, 0, 0) scale(1); }\n  100%{ transform: translate3d(24px, 10px, 0) scale(1.05); }\n}\n\n@keyframes hhwOrbFloatTwo{\n  0%{ transform: translate3d(0, 0, 0) scale(1); }\n  100%{ transform: translate3d(-26px, -12px, 0) scale(1.05); }\n}\n\n@keyframes hhwOrbFloatThree{\n  0%{ transform: translateX(-50%) translateY(0) scale(1); }\n  100%{ transform: translateX(-50%) translateY(14px) scale(1.04); }\n}\n\n@keyframes hhwShineMove{\n  0%{\n    left: -280px;\n    opacity: 0;\n  }\n  18%{\n    opacity: 0.85;\n  }\n  55%{\n    opacity: 0.9;\n  }\n  82%{\n    opacity: 0.35;\n  }\n  100%{\n    left: calc(100% + 180px);\n    opacity: 0;\n  }\n}\n\n@media (max-width: 767px){\n  .hhw-form-intro-shell{\n    margin: 26px auto 22px;\n    padding: 40px 18px 36px;\n    border-radius: 24px;\n  }\n\n  .hhw-form-intro h2{\n    font-size: 34px;\n  }\n\n  .hhw-form-intro p{\n    font-size: 16px;\n    line-height: 1.7;\n  }\n\n  .hhw-intro-orb-1{\n    width: 220px;\n    height: 220px;\n    left: -80px;\n    top: 10px;\n  }\n\n  .hhw-intro-orb-2{\n    width: 210px;\n    height: 210px;\n    right: -80px;\n    bottom: -30px;\n  }\n\n  .hhw-intro-orb-3{\n    width: 140px;\n    height: 140px;\n    top: -35px;\n  }\n\n  .hhw-intro-shine{\n    width: 140px;\n  }\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-91a5818 elementor-widget elementor-widget-html\" data-id=\"91a5818\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\/dist\/flatpickr.min.css\">\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\/dist\/l10n\/de.js\"><\/script>\n\n<div class=\"hhw-request-card\" id=\"anfrageformular\" lang=\"de\">\n  <div class=\"hhw-success-toast\" id=\"hhwSuccessToast\" aria-live=\"polite\"><\/div>\n  <form class=\"hhw-request-form\" id=\"hhwRequestForm\" novalidate>\n    <input type=\"hidden\" id=\"hhwStartedAt\" name=\"started_at\">\n    <input type=\"hidden\" id=\"hhwExtraBedsNeeded\" name=\"extra_beds_needed\" value=\"0\">\n    <input type=\"text\" name=\"website\" class=\"hhw-honeypot\" tabindex=\"-1\" autocomplete=\"off\">\n\n    <div class=\"hhw-form-head\">\n      <div class=\"hhw-step-label\" id=\"hhwStepLabel\">Aufenthalt & Zimmerwunsch \u00b7 Schritt 1 von 2<\/div>\n      <div class=\"hhw-progress\">\n        <span id=\"hhwProgressBar\"><\/span>\n      <\/div>\n    <\/div>\n\n    <section class=\"hhw-step is-active\" data-step=\"1\">\n      <div class=\"hhw-field hhw-field-medium\">\n        <label for=\"hhwInquiryType\">Aufenthaltsart <span class=\"hhw-req\">*<\/span><\/label>\n        <select id=\"hhwInquiryType\" name=\"inquiry_type\" required>\n          <option value=\"\">Bitte Aufenthaltsart ausw\u00e4hlen<\/option>\n          <option value=\"privat\">Privatgast<\/option>\n          <option value=\"firma\">Firmenanfrage<\/option>\n          <option value=\"monteur\">Monteur \/ Langzeitmiete<\/option>\n          <option value=\"allgemein\">Allgemeine Anfrage<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"hhw-grid-2\">\n        <div class=\"hhw-field\">\n          <label for=\"hhwArrival\">Anreise <span class=\"hhw-req\">*<\/span><\/label>\n          <input class=\"hhw-date-input\" type=\"text\" id=\"hhwArrival\" name=\"arrival\" placeholder=\"TT.MM.JJJJ\" autocomplete=\"off\" required>\n        <\/div>\n\n        <div class=\"hhw-field\">\n          <label for=\"hhwDeparture\">Abreise <span class=\"hhw-req\">*<\/span><\/label>\n          <input class=\"hhw-date-input\" type=\"text\" id=\"hhwDeparture\" name=\"departure\" placeholder=\"TT.MM.JJJJ\" autocomplete=\"off\" required>\n        <\/div>\n\n        <div class=\"hhw-field\">\n          <label for=\"hhwPersons\">Anzahl Personen <span class=\"hhw-req\">*<\/span><\/label>\n          <select id=\"hhwPersons\" name=\"persons\" required><\/select>\n        <\/div>\n\n        <div class=\"hhw-field\">\n          <label for=\"hhwSingle\">Einzelzimmer<\/label>\n          <select id=\"hhwSingle\" name=\"single_rooms\"><\/select>\n          <div class=\"hhw-help\">Verf\u00fcgbar: bis zu 7<\/div>\n        <\/div>\n\n        <div class=\"hhw-field\">\n          <label for=\"hhwDouble\">Doppelzimmer<\/label>\n          <select id=\"hhwDouble\" name=\"double_rooms\"><\/select>\n          <div class=\"hhw-help\">Verf\u00fcgbar: bis zu 5 \u00b7 bis zu 4 Zustellbetten m\u00f6glich<\/div>\n        <\/div>\n\n        <div class=\"hhw-field\">\n          <label for=\"hhwTwin\">Zweibettzimmer<\/label>\n          <select id=\"hhwTwin\" name=\"twin_rooms\"><\/select>\n          <div class=\"hhw-help\">Verf\u00fcgbar: bis zu 2<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"hhw-inline-note\" id=\"hhwRoomNote\">Bitte w\u00e4hlen Sie Aufenthaltsart, An- und Abreisedatum, Personenzahl sowie den gew\u00fcnschten Zimmertyp beziehungsweise die gew\u00fcnschten Zimmertypen.<\/div>\n\n      <div class=\"hhw-actions\">\n        <button type=\"button\" class=\"hhw-btn hhw-btn-primary\" id=\"hhwNextBtn\">Weiter<\/button>\n      <\/div>\n    <\/section>\n\n    <section class=\"hhw-step\" data-step=\"2\">\n      <div class=\"hhw-grid-2\">\n        <div class=\"hhw-field\">\n          <label for=\"hhwName\">Name <span class=\"hhw-req\">*<\/span><\/label>\n          <input type=\"text\" id=\"hhwName\" name=\"name\" placeholder=\"Vor- \/ Nachname\" required>\n        <\/div>\n\n        <div class=\"hhw-field\">\n          <label for=\"hhwEmail\">E-Mail-Adresse <span class=\"hhw-req\">*<\/span><\/label>\n          <input type=\"email\" id=\"hhwEmail\" name=\"email\" placeholder=\"z. B. name@beispiel.de\" required>\n        <\/div>\n\n        <div class=\"hhw-field\" id=\"hhwPhoneWrap\">\n          <label for=\"hhwPhone\">Telefonnummer <span class=\"hhw-req\">*<\/span><\/label>\n          <input type=\"tel\" id=\"hhwPhone\" name=\"phone\" placeholder=\"z. B. 0151 23456789\" required>\n        <\/div>\n\n        <div class=\"hhw-field hhw-company-field\" id=\"hhwCompanyWrap\">\n          <label for=\"hhwCompany\">Firma<\/label>\n          <input type=\"text\" id=\"hhwCompany\" name=\"company\" placeholder=\"Firmenname\">\n        <\/div>\n\n        <div class=\"hhw-field hhw-message-field hhw-full-width\">\n          <label for=\"hhwMessage\">Nachricht \/ W\u00fcnsche<\/label>\n          <textarea id=\"hhwMessage\" name=\"message\" placeholder=\"Teilen Sie uns gerne weitere Informationen zu Ihrem Aufenthalt, Ihrem Zimmerwunsch oder besonderen Anliegen mit.\"><\/textarea>\n        <\/div>\n\n        <div class=\"hhw-field hhw-privacy-field hhw-full-width\">\n          <label class=\"hhw-privacy-row\" for=\"hhwPrivacy\">\n            <input type=\"checkbox\" id=\"hhwPrivacy\" name=\"privacy\" required>\n            <span>Ich habe die Datenschutzerkl\u00e4rung zur Kenntnis genommen und stimme der Verarbeitung meiner Angaben zur Bearbeitung meiner Anfrage zu. <span class=\"hhw-req\">*<\/span><\/span>\n          <\/label>\n        <\/div>\n      <\/div>\n\n      <div class=\"hhw-actions hhw-actions-2\">\n        <button type=\"button\" class=\"hhw-btn hhw-btn-secondary\" id=\"hhwPrevBtn\">Zur\u00fcck<\/button>\n        <button type=\"submit\" class=\"hhw-btn hhw-btn-primary\" id=\"hhwSubmitBtn\">Anfrage absenden<\/button>\n      <\/div>\n    <\/section>\n\n    <div class=\"hhw-form-alert\" id=\"hhwFormAlert\" aria-live=\"polite\"><\/div>\n  <\/form>\n<\/div>\n\n<style>\n.hhw-request-card{\n  width:min(100%, 880px);\n  margin:0 auto;\n  background:#ffffff;\n  border:1px solid rgba(90,24,32,.10);\n  border-radius:28px;\n  box-shadow:0 20px 55px rgba(26,32,44,.08);\n  padding:40px 42px 34px;\n  position:relative;\n  overflow:hidden;\n}\n.hhw-request-card::before{\n  content:\"\";\n  position:absolute;\n  top:0;\n  left:28px;\n  right:28px;\n  height:4px;\n  border-radius:999px;\n  background:linear-gradient(90deg,#5a1820 0%, #b21736 100%);\n}\n.hhw-form-head{\n  margin-bottom:34px;\n}\n.hhw-step-label{\n  font-size:20px;\n  font-weight:700;\n  color:#1f2e43;\n  margin-bottom:16px;\n}\n.hhw-progress{\n  height:12px;\n  border-radius:999px;\n  background:#e8e2de;\n  overflow:hidden;\n}\n.hhw-progress span{\n  display:block;\n  width:50%;\n  height:100%;\n  border-radius:999px;\n  background:linear-gradient(90deg,#6f1623 0%, #b21736 100%);\n  transition:width .25s ease;\n}\n.hhw-step{display:none;}\n.hhw-step.is-active{display:block;}\n.hhw-grid-2{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:24px 38px;\n}\n.hhw-step[data-step=\"1\"] .hhw-grid-2{\n  margin-top:10px;\n}\n.hhw-full-width{\n  grid-column:1 \/ -1;\n}\n.hhw-field-medium{\n  max-width:560px;\n}\n.hhw-field label{\n  display:block;\n  margin-bottom:10px;\n  font-size:15px;\n  font-weight:700;\n  color:#1f2e43;\n}\n.hhw-field label .hhw-req,\n.hhw-req{\n  color:#b21736;\n}\n.hhw-field input,\n.hhw-field select,\n.hhw-field textarea{\n  width:100%;\n  min-height:60px;\n  padding:14px 18px;\n  border:1px solid #ddd6d1;\n  border-radius:18px;\n  background:#fcfbfa;\n  color:#243043;\n  font-size:16px;\n  line-height:1.45;\n  outline:none;\n  box-shadow:none;\n  transition:border-color .22s ease, box-shadow .22s ease, background .22s ease, opacity .2s ease;\n}\n.hhw-field textarea{\n  min-height:150px;\n  resize:vertical;\n  padding-top:18px;\n}\n.hhw-field input:hover,\n.hhw-field select:hover,\n.hhw-field textarea:hover{\n  border-color:#c9b7b0;\n  background:#fff;\n}\n.hhw-field input:focus,\n.hhw-field select:focus,\n.hhw-field textarea:focus{\n  border-color:#8b1e2f;\n  box-shadow:0 0 0 4px rgba(139,30,47,.10);\n  background:#fff;\n}\n.hhw-date-input{\n  background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%231f2e43' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'\/%3E%3Cline x1='16' y1='2' x2='16' y2='6'\/%3E%3Cline x1='8' y1='2' x2='8' y2='6'\/%3E%3Cline x1='3' y1='10' x2='21' y2='10'\/%3E%3Crect x='7' y='14' width='3' height='3'\/%3E%3Crect x='12' y='14' width='3' height='3'\/%3E%3C\/svg%3E\");\n  background-repeat:no-repeat;\n  background-position:right 18px center;\n  background-size:22px 22px;\n  padding-right:54px !important;\n}\n.hhw-help{\n  margin-top:8px;\n  font-size:13px;\n  color:#7b8591;\n}\n.hhw-inline-note{\n  margin:18px 0 6px;\n  padding:13px 16px;\n  border-radius:16px;\n  border:1px solid rgba(90,24,32,.08);\n  background:#f8f3f1;\n  color:#6b1d28;\n  font-size:14px;\n  line-height:1.45;\n}\n.hhw-actions{\n  display:flex;\n  align-items:center;\n  gap:14px;\n  margin-top:24px;\n}\n.hhw-actions-2{\n  margin-top:28px;\n}\n.hhw-btn{\n  min-height:58px;\n  padding:0 28px;\n  border:none;\n  border-radius:18px;\n  cursor:pointer;\n  font-size:15px;\n  font-weight:700;\n  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease, opacity .2s ease;\n}\n.hhw-btn:hover{\n  transform:translateY(-1px);\n}\n.hhw-btn:disabled{\n  opacity:.65;\n  cursor:not-allowed;\n  transform:none;\n}\n.hhw-btn-primary{\n  color:#fff;\n  background:linear-gradient(180deg,#b61b39 0%, #8b1128 100%);\n  box-shadow:0 16px 30px rgba(139,17,40,.18);\n}\n.hhw-btn-secondary{\n  color:#6a1a26;\n  background:#f7f2ef;\n  border:1px solid rgba(90,24,32,.10);\n}\n.hhw-privacy-row{\n  display:flex !important;\n  align-items:flex-start;\n  gap:14px;\n  margin:0 !important;\n  cursor:pointer;\n}\n.hhw-privacy-row input[type=\"checkbox\"]{\n  width:22px;\n  height:22px;\n  min-height:auto;\n  margin:3px 0 0;\n  accent-color:#b21736;\n  flex:0 0 22px;\n}\n.hhw-privacy-row span{\n  color:#243043 !important;\n  font-size:15px;\n  line-height:1.6;\n}\n.hhw-company-field{\n  display:none;\n}\n.hhw-company-field.is-visible{\n  display:block;\n}\n.hhw-honeypot{\n  position:absolute !important;\n  left:-9999px !important;\n  opacity:0 !important;\n  pointer-events:none !important;\n}\n.hhw-form-alert{\n  display:none;\n  margin-top:20px;\n  padding:14px 16px;\n  border-radius:16px;\n  font-size:14px;\n  line-height:1.45;\n}\n.hhw-form-alert.is-error{\n  display:block;\n  color:#b42318;\n  background:#fff3f2;\n  border:1px solid rgba(217,45,32,.14);\n}\n.hhw-form-alert.is-success{\n  display:block;\n  color:#166534;\n  background:#f4fbf6;\n  border:1px solid rgba(18,133,67,.14);\n}\n.hhw-invalid{\n  border-color:#c1122f !important;\n  box-shadow:0 0 0 4px rgba(193,18,47,.08) !important;\n}\n.hhw-submit-loading{\n  opacity:.75;\n  pointer-events:none;\n}\n\n\/* Kalender *\/\n.flatpickr-calendar{\n  background:#fffdfb;\n  border:1px solid rgba(90,24,32,.12);\n  border-radius:20px;\n  box-shadow:0 24px 50px rgba(22,28,37,.14);\n  overflow:hidden;\n}\n.flatpickr-months{\n  background:#fffdfb;\n  padding:10px 10px 4px;\n}\n.flatpickr-current-month{\n  color:#1f2e43;\n  font-weight:700;\n  font-size:16px;\n}\n.flatpickr-current-month .flatpickr-monthDropdown-months,\n.flatpickr-current-month input.cur-year{\n  color:#1f2e43;\n  font-weight:700;\n}\n.flatpickr-weekdays{\n  background:#fffdfb;\n}\n.flatpickr-weekday{\n  color:#7b8591;\n  font-weight:600;\n  font-size:12px;\n}\n.flatpickr-day{\n  border-radius:12px;\n  color:#243043;\n  border:1px solid transparent;\n}\n.flatpickr-day:hover{\n  background:rgba(139,17,40,.08);\n  border-color:transparent;\n}\n.flatpickr-day.today{\n  border-color:#8b1128;\n  color:#8b1128;\n}\n.flatpickr-day.selected,\n.flatpickr-day.startRange,\n.flatpickr-day.endRange{\n  background:linear-gradient(180deg,#b61b39 0%, #8b1128 100%);\n  border-color:#8b1128;\n  color:#fff;\n}\n.flatpickr-day.inRange{\n  background:rgba(139,17,40,.10);\n  color:#243043;\n  border-color:transparent;\n}\n.flatpickr-prev-month,\n.flatpickr-next-month{\n  color:#8b1128;\n  fill:#8b1128;\n}\n.flatpickr-prev-month:hover svg,\n.flatpickr-next-month:hover svg{\n  fill:#5a1820;\n}\n.flatpickr-monthDropdown-months:hover,\n.numInputWrapper:hover{\n  background:transparent;\n}\n\n@media (max-width: 767px){\n  .hhw-request-card{\n    width:100%;\n    padding:24px 18px 22px;\n    border-radius:22px;\n  }\n  .hhw-request-card::before{\n    left:16px;\n    right:16px;\n  }\n  .hhw-step-label{\n    font-size:18px;\n  }\n  .hhw-grid-2{\n    grid-template-columns:1fr;\n    gap:22px 0;\n  }\n  .hhw-field-medium{\n    max-width:100%;\n  }\n  .hhw-actions,\n  .hhw-actions-2{\n    flex-direction:column;\n    align-items:stretch;\n  }\n  .hhw-btn{\n    width:100%;\n  }\n}\n#anfrageformular{\n  scroll-margin-top:120px;\n}\n\n.hhw-success-toast{\n  position:fixed;\n  top:24px;\n  left:50%;\n  transform:translateX(-50%) translateY(-16px);\n  width:min(calc(100% - 32px), 760px);\n  padding:16px 20px;\n  border-radius:18px;\n  background:#f4fbf6;\n  border:1px solid rgba(18,133,67,.16);\n  color:#166534;\n  box-shadow:0 18px 38px rgba(22,28,37,.12);\n  opacity:0;\n  visibility:hidden;\n  z-index:99999;\n  transition:opacity .25s ease, transform .25s ease, visibility .25s ease;\n}\n\n.hhw-success-toast.is-visible{\n  opacity:1;\n  visibility:visible;\n  transform:translateX(-50%) translateY(0);\n}\n\n@media (max-width: 767px){\n  .hhw-success-toast{\n    top:16px;\n    width:min(calc(100% - 20px), 760px);\n    padding:14px 16px;\n    border-radius:16px;\n  }\n}\n<\/style>\n\n<script>\n(function(){\n  function initHHWForm(){\n    const form = document.getElementById('hhwRequestForm');\n    if (!form) return;\n\n    const endpoint = window.location.origin + '\/wp-json\/hhw\/v1\/request';\n\n    const stepLabel = document.getElementById('hhwStepLabel');\n    const progressBar = document.getElementById('hhwProgressBar');\n    const steps = Array.from(form.querySelectorAll('.hhw-step'));\n    const nextBtn = document.getElementById('hhwNextBtn');\n    const prevBtn = document.getElementById('hhwPrevBtn');\n    const submitBtn = document.getElementById('hhwSubmitBtn');\n    const alertBox = document.getElementById('hhwFormAlert');\n    const successToast = document.getElementById('hhwSuccessToast');\n\n    const inquiryType = document.getElementById('hhwInquiryType');\n    const arrival = document.getElementById('hhwArrival');\n    const departure = document.getElementById('hhwDeparture');\n    const persons = document.getElementById('hhwPersons');\n    const singleRooms = document.getElementById('hhwSingle');\n    const doubleRooms = document.getElementById('hhwDouble');\n    const twinRooms = document.getElementById('hhwTwin');\n    const roomNote = document.getElementById('hhwRoomNote');\n    const extraBedsInput = document.getElementById('hhwExtraBedsNeeded');\n\n    const companyWrap = document.getElementById('hhwCompanyWrap');\n    const companyInput = document.getElementById('hhwCompany');\n\n    const nameInput = document.getElementById('hhwName');\n    const emailInput = document.getElementById('hhwEmail');\n    const phoneInput = document.getElementById('hhwPhone');\n    const privacyInput = document.getElementById('hhwPrivacy');\n    const messageInput = document.getElementById('hhwMessage');\n    const startedAtInput = document.getElementById('hhwStartedAt');\n\n    let arrivalPicker = null;\n    let departurePicker = null;\n    let toastTimer = null;\n\n    const ROOM_LIMITS = {\n      single: 7,\n      double: 5,\n      twin: 2,\n      extraBeds: 4\n    };\n\n    const MAX_BASE_CAPACITY = ROOM_LIMITS.single + (ROOM_LIMITS.double * 2) + (ROOM_LIMITS.twin * 2);\n    const MAX_TOTAL_CAPACITY = MAX_BASE_CAPACITY + ROOM_LIMITS.extraBeds;\n    const INITIAL_ROOM_NOTE = 'Bitte w\u00e4hlen Sie Aufenthaltsart, An- und Abreisedatum, Personenzahl sowie den gew\u00fcnschten Zimmertyp beziehungsweise die gew\u00fcnschten Zimmertypen.';\n\n    function buildRange(from, to){\n      return Array.from({ length: (to - from) + 1 }, function(_, index){\n        return from + index;\n      });\n    }\n\n    function pluralize(count, singular, plural){\n      return count === 1 ? singular : plural;\n    }\n\n    function extraBedRoomLabel(count){\n      return count === 1 ? 'in einem Doppelzimmer' : 'in Doppelzimmern';\n    }\n\n    function extraBedVerb(count){\n      return count === 1 ? 'wird' : 'werden';\n    }\n\n    function fillSelect(select, values, placeholder){\n      select.innerHTML = '';\n      if (placeholder) {\n        const ph = document.createElement('option');\n        ph.value = '';\n        ph.textContent = placeholder;\n        select.appendChild(ph);\n      }\n      values.forEach(function(value){\n        const opt = document.createElement('option');\n        opt.value = String(value);\n        opt.textContent = String(value);\n        select.appendChild(opt);\n      });\n    }\n\n    fillSelect(persons, buildRange(1, MAX_TOTAL_CAPACITY), 'Bitte Personenzahl w\u00e4hlen');\n    fillSelect(singleRooms, buildRange(0, ROOM_LIMITS.single), null);\n    fillSelect(doubleRooms, buildRange(0, ROOM_LIMITS.double), null);\n    fillSelect(twinRooms, buildRange(0, ROOM_LIMITS.twin), null);\n\n    function invalidate(el, invalid = true){\n      if(!el) return;\n      el.classList.toggle('hhw-invalid', invalid);\n    }\n\n    function clearAlert(){\n      alertBox.className = 'hhw-form-alert';\n      alertBox.textContent = '';\n    }\n\n    function showError(message){\n      alertBox.className = 'hhw-form-alert is-error';\n      alertBox.textContent = message;\n    }\n\n    function normalizeServerErrorMessage(message){\n      const fallbackMessage = 'Die Anfrage konnte nicht versendet werden.';\n      const serverMessage = typeof message === 'string' ? message.trim() : '';\n      const legacyCapacityMessage = 'Die gew\u00e4hlte Zimmerkombination bietet zu wenig Schlafpl\u00e4tze f\u00fcr die Personenzahl.';\n\n      if (!serverMessage) {\n        return fallbackMessage;\n      }\n\n      if (serverMessage === legacyCapacityMessage) {\n        const clientRoomOk = roomValidation();\n        if (clientRoomOk) {\n          return 'Die Zimmerauswahl ist nach der aktuellen Formularlogik stimmig. Die Website verwendet beim Absenden jedoch noch eine \u00e4ltere Server-Pr\u00fcfung. Bitte aktualisieren Sie zus\u00e4tzlich die Backend-Validierung des Anfrage-Endpoints.';\n        }\n\n        return roomNote.textContent || fallbackMessage;\n      }\n\n      return serverMessage;\n    }\n\n    function hideToast(){\n      if (!successToast) return;\n      successToast.classList.remove('is-visible');\n      if (toastTimer) {\n        clearTimeout(toastTimer);\n        toastTimer = null;\n      }\n    }\n\n    function showToast(message, autoHide = true){\n      if (!successToast) return;\n      successToast.textContent = message;\n      successToast.classList.add('is-visible');\n\n      if (toastTimer) {\n        clearTimeout(toastTimer);\n      }\n\n      if (autoHide) {\n        toastTimer = setTimeout(function(){\n          successToast.classList.remove('is-visible');\n        }, 5500);\n      }\n    }\n\n    function toggleCompanyField(){\n      const show = inquiryType.value === 'firma' || inquiryType.value === 'monteur';\n      companyWrap.classList.toggle('is-visible', show);\n      companyInput.required = show;\n\n      if (!show) {\n        companyInput.value = '';\n        invalidate(companyInput, false);\n      }\n    }\n\n    function parseIntSafe(value){\n      return parseInt(value || '0', 10) || 0;\n    }\n\n    function getRoomState(){\n      const p = parseIntSafe(persons.value);\n      const s = parseIntSafe(singleRooms.value);\n      const d = parseIntSafe(doubleRooms.value);\n      const t = parseIntSafe(twinRooms.value);\n\n      const totalRooms = s + d + t;\n      const baseCapacity = s + (d * 2) + (t * 2);\n      const extraBedsAvailable = Math.min(d, ROOM_LIMITS.extraBeds);\n      const totalCapacity = baseCapacity + extraBedsAvailable;\n      const extraBedsNeeded = Math.max(0, p - baseCapacity);\n\n      return {\n        persons: p,\n        singleRooms: s,\n        doubleRooms: d,\n        twinRooms: t,\n        totalRooms: totalRooms,\n        baseCapacity: baseCapacity,\n        extraBedsAvailable: extraBedsAvailable,\n        totalCapacity: totalCapacity,\n        extraBedsNeeded: extraBedsNeeded\n      };\n    }\n\n    function setRoomNote(message){\n      roomNote.textContent = message;\n      if (extraBedsInput) {\n        const roomState = getRoomState();\n        extraBedsInput.value = String(Math.max(0, roomState.extraBedsNeeded));\n      }\n    }\n\n    function roomValidation(){\n      const roomState = getRoomState();\n\n      if (!roomState.persons) {\n        setRoomNote(INITIAL_ROOM_NOTE);\n        return false;\n      }\n\n      if (roomState.totalRooms < 1) {\n        setRoomNote('Bitte w\u00e4hlen Sie mindestens einen Zimmertyp sowie die gew\u00fcnschte Anzahl der Zimmer aus.');\n        return false;\n      }\n\n      if (roomState.persons > MAX_TOTAL_CAPACITY) {\n        setRoomNote('\u00dcber das Anfrageformular sind derzeit maximal ' + MAX_TOTAL_CAPACITY + ' Personen m\u00f6glich.');\n        return false;\n      }\n\n      if (roomState.persons <= MAX_BASE_CAPACITY) {\n        if (roomState.baseCapacity >= roomState.persons) {\n          setRoomNote('Die aktuelle Auswahl ist stimmig.');\n          return true;\n        }\n\n        setRoomNote('Die aktuell gew\u00e4hlte Zimmerkombination bietet noch nicht gen\u00fcgend Schlafpl\u00e4tze f\u00fcr ' + roomState.persons + ' Personen. Bitte passen Sie die Zimmerauswahl entsprechend an.');\n        return false;\n      }\n\n      if (roomState.totalCapacity >= roomState.persons) {\n        setRoomNote('Die aktuelle Auswahl ist stimmig. F\u00fcr ' + roomState.persons + ' Personen planen wir zus\u00e4tzlich ' + roomState.extraBedsNeeded + ' ' + pluralize(roomState.extraBedsNeeded, 'Zustellbett', 'Zustellbetten') + ' ' + extraBedRoomLabel(roomState.extraBedsNeeded) + ' ein.');\n        return true;\n      }\n\n      setRoomNote('F\u00fcr ' + roomState.persons + ' Personen reicht die aktuell gew\u00e4hlte Zimmeraufteilung noch nicht aus. Zustellbetten k\u00f6nnen ausschlie\u00dflich in Doppelzimmern und insgesamt bis zu ' + ROOM_LIMITS.extraBeds + '-mal eingeplant werden. Bitte erh\u00f6hen Sie die Anzahl der Doppelzimmer oder passen Sie die Zimmerauswahl an.');\n      return false;\n    }\n\n    function buildMessageWithCapacityNote(){\n      const baseMessage = messageInput.value.trim();\n      const roomState = getRoomState();\n\n      if (\n        roomState.persons <= MAX_BASE_CAPACITY ||\n        roomState.extraBedsNeeded < 1 ||\n        roomState.baseCapacity >= roomState.persons\n      ) {\n        return baseMessage;\n      }\n\n      const capacityNote = 'Hinweis aus dem Anfrageformular: F\u00fcr die gew\u00e4hlte Personenanzahl ' + extraBedVerb(roomState.extraBedsNeeded) + ' ' + roomState.extraBedsNeeded + ' ' + pluralize(roomState.extraBedsNeeded, 'Zustellbett', 'Zustellbetten') + ' ' + extraBedRoomLabel(roomState.extraBedsNeeded) + ' ben\u00f6tigt.';\n      return [baseMessage, capacityNote].filter(Boolean).join('\\n\\n');\n    }\n\n    function showStep(step, shouldScroll = false){\n      steps.forEach(function(el){\n        el.classList.toggle('is-active', Number(el.dataset.step) === step);\n      });\n\n      if(step === 1){\n        stepLabel.textContent = 'Aufenthalt & Zimmerwunsch \u00b7 Schritt 1 von 2';\n        progressBar.style.width = '50%';\n      } else {\n        stepLabel.textContent = 'Kontaktdaten & Nachricht \u00b7 Schritt 2 von 2';\n        progressBar.style.width = '100%';\n      }\n\n      clearAlert();\n\n      if (shouldScroll) {\n        const card = form.closest('.hhw-request-card');\n        if (card) {\n          window.scrollTo({\n            top: card.getBoundingClientRect().top + window.scrollY - 120,\n            behavior: 'smooth'\n          });\n        }\n      }\n    }\n\n    function initDatepickers(){\n      if (typeof flatpickr === 'undefined') return;\n\n      flatpickr.localize(flatpickr.l10ns.de);\n\n      arrivalPicker = flatpickr(arrival, {\n        locale: 'de',\n        dateFormat: 'd.m.Y',\n        disableMobile: true,\n        allowInput: true,\n        monthSelectorType: 'static',\n        minDate: 'today',\n        prevArrow: '\u2039',\n        nextArrow: '\u203a',\n        onChange: function(selectedDates){\n          if(!departurePicker) return;\n\n          if(selectedDates[0]){\n            const minDeparture = new Date(selectedDates[0]);\n            minDeparture.setDate(minDeparture.getDate() + 1);\n            departurePicker.set('minDate', minDeparture);\n\n            if(\n              departurePicker.selectedDates[0] &&\n              departurePicker.selectedDates[0] <= selectedDates[0]\n            ){\n              departurePicker.clear();\n            }\n          }\n        }\n      });\n\n      const tomorrow = new Date();\n      tomorrow.setDate(tomorrow.getDate() + 1);\n\n      departurePicker = flatpickr(departure, {\n        locale: 'de',\n        dateFormat: 'd.m.Y',\n        disableMobile: true,\n        allowInput: true,\n        monthSelectorType: 'static',\n        minDate: tomorrow,\n        prevArrow: '\u2039',\n        nextArrow: '\u203a'\n      });\n    }\n\n    function validateStep1(){\n      clearAlert();\n\n      [inquiryType, arrival, departure, persons].forEach(function(el){\n        invalidate(el, false);\n      });\n\n      let valid = true;\n\n      if(!inquiryType.value){\n        invalidate(inquiryType, true);\n        valid = false;\n      }\n      if(!arrival.value){\n        invalidate(arrival, true);\n        valid = false;\n      }\n      if(!departure.value){\n        invalidate(departure, true);\n        valid = false;\n      }\n      if(!persons.value){\n        invalidate(persons, true);\n        valid = false;\n      }\n\n      const arrivalDate = arrivalPicker && arrivalPicker.selectedDates[0] ? arrivalPicker.selectedDates[0] : null;\n      const departureDate = departurePicker && departurePicker.selectedDates[0] ? departurePicker.selectedDates[0] : null;\n\n      if(arrivalDate && departureDate && departureDate <= arrivalDate){\n        invalidate(arrival, true);\n        invalidate(departure, true);\n        showError('Das Abreisedatum muss nach dem Anreisedatum liegen.');\n        return false;\n      }\n\n      if(!valid){\n        showError('Bitte f\u00fcllen Sie alle Pflichtfelder im ersten Schritt vollst\u00e4ndig aus.');\n        return false;\n      }\n\n      const roomOk = roomValidation();\n      if(!roomOk){\n        showError(roomNote.textContent);\n        return false;\n      }\n\n      return true;\n    }\n\n    function validateStep2(){\n      clearAlert();\n\n      [nameInput, emailInput, phoneInput, companyInput].forEach(function(el){\n        invalidate(el, false);\n      });\n\n      let valid = true;\n\n      if(!nameInput.value.trim()){\n        invalidate(nameInput, true);\n        valid = false;\n      }\n\n      if(!emailInput.value.trim()){\n        invalidate(emailInput, true);\n        valid = false;\n      } else {\n        const emailOk = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(emailInput.value.trim());\n        if(!emailOk){\n          invalidate(emailInput, true);\n          valid = false;\n        }\n      }\n\n      if(!phoneInput.value.trim()){\n        invalidate(phoneInput, true);\n        valid = false;\n      } else {\n        const digits = phoneInput.value.replace(\/[^\\d+]\/g, '');\n        if(digits.length < 6){\n          invalidate(phoneInput, true);\n          valid = false;\n        }\n      }\n\n      if(companyInput.required && !companyInput.value.trim()){\n        invalidate(companyInput, true);\n        valid = false;\n      }\n\n      if(!privacyInput.checked){\n        showError('Bitte best\u00e4tigen Sie die Datenschutzerkl\u00e4rung.');\n        return false;\n      }\n\n      if(!valid){\n        showError('Bitte f\u00fcllen Sie alle Pflichtfelder im zweiten Schritt korrekt aus.');\n        return false;\n      }\n\n      return true;\n    }\n\n    async function submitForm(){\n      const payload = {\n        inquiry_type: inquiryType.value,\n        arrival: arrival.value,\n        departure: departure.value,\n        persons: persons.value,\n        single_rooms: singleRooms.value,\n        double_rooms: doubleRooms.value,\n        twin_rooms: twinRooms.value,\n        extra_beds_needed: String(Math.max(0, getRoomState().extraBedsNeeded)),\n        name: nameInput.value.trim(),\n        email: emailInput.value.trim(),\n        phone: phoneInput.value.trim(),\n        company: companyInput.value.trim(),\n        message: buildMessageWithCapacityNote(),\n        privacy: privacyInput.checked,\n        website: form.querySelector('input[name=\"website\"]').value,\n        started_at: startedAtInput.value\n      };\n\n      submitBtn.disabled = true;\n      submitBtn.classList.add('hhw-submit-loading');\n      submitBtn.textContent = 'Wird gesendet...';\n\n      try {\n        const response = await fetch(endpoint, {\n          method: 'POST',\n          headers: {\n            'Content-Type': 'application\/json'\n          },\n          body: JSON.stringify(payload)\n        });\n\n        let result = null;\n        try {\n          result = await response.json();\n        } catch (parseError) {\n          throw new Error('Die Anfrage konnte im Moment nicht verarbeitet werden.');\n        }\n\n        if (!response.ok || !result || !result.success) {\n          throw new Error(normalizeServerErrorMessage(result && result.message));\n        }\n\n        form.reset();\n        toggleCompanyField();\n        roomValidation();\n\n        if (arrivalPicker) {\n          arrivalPicker.clear();\n          arrivalPicker.set('minDate', 'today');\n        }\n\n        if (departurePicker) {\n          const tomorrow = new Date();\n          tomorrow.setDate(tomorrow.getDate() + 1);\n          departurePicker.clear();\n          departurePicker.set('minDate', tomorrow);\n        }\n\n        startedAtInput.value = Math.floor(Date.now() \/ 1000);\n\n        clearAlert();\n        showStep(1, false);\n        showToast(result.message || 'Vielen Dank. Ihre Anfrage wurde erfolgreich \u00fcbermittelt.', true);\n\n      } catch (error) {\n        showError(normalizeServerErrorMessage(error && error.message));\n      } finally {\n        submitBtn.disabled = false;\n        submitBtn.classList.remove('hhw-submit-loading');\n        submitBtn.textContent = 'Anfrage absenden';\n      }\n    }\n\n    inquiryType.addEventListener('change', function(){\n      toggleCompanyField();\n    });\n\n    [persons, singleRooms, doubleRooms, twinRooms].forEach(function(el){\n      el.addEventListener('change', roomValidation);\n    });\n\n    nextBtn.addEventListener('click', function(){\n      hideToast();\n      if(validateStep1()){\n        showStep(2, true);\n      }\n    });\n\n    prevBtn.addEventListener('click', function(){\n      hideToast();\n      showStep(1, true);\n    });\n\n    form.addEventListener('submit', function(e){\n      e.preventDefault();\n      hideToast();\n      if(!validateStep2()) return;\n\n      if(!roomValidation()){\n        showStep(1, true);\n        showError(roomNote.textContent);\n        return;\n      }\n\n      submitForm();\n    });\n\n    startedAtInput.value = Math.floor(Date.now() \/ 1000);\n    toggleCompanyField();\n    roomValidation();\n    initDatepickers();\n    showStep(1, false);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initHHWForm);\n  } else {\n    initHHWForm();\n  }\n})();\n<\/script>\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>Kontakt Ihre Anfrage in guten H\u00e4nden Sie m\u00f6chten ein Zimmer anfragen oder haben Fragen zu Ihrem Aufenthalt?Wir freuen uns auf Ihre Nachricht [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/page_front-page.php","meta":{"footnotes":""},"class_list":["post-415","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.hotelhohewart.de\/en\/wp-json\/wp\/v2\/pages\/415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hotelhohewart.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.hotelhohewart.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.hotelhohewart.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hotelhohewart.de\/en\/wp-json\/wp\/v2\/comments?post=415"}],"version-history":[{"count":10,"href":"https:\/\/www.hotelhohewart.de\/en\/wp-json\/wp\/v2\/pages\/415\/revisions"}],"predecessor-version":[{"id":2441,"href":"https:\/\/www.hotelhohewart.de\/en\/wp-json\/wp\/v2\/pages\/415\/revisions\/2441"}],"wp:attachment":[{"href":"https:\/\/www.hotelhohewart.de\/en\/wp-json\/wp\/v2\/media?parent=415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}