/* Hartl Handwerkerschnittstelle v1.0.14 */
body.hhws-active .mm-unterseite-header-v2,
body.hhws-active .mm-unterseite-header-v2 + .breadcrumb,
body.hhws-active .mm-unterseite-header-v2 + .breadcrumbs {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* Gleiche Container-Strategie wie beim Handwerkerforum. */
section.m1_text:has(.hhws-page),
.hhws-host-section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

section.m1_text:has(.hhws-page) .m1_text_container,
.hhws-host-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  overflow: visible !important;
}

.hhws-page,
.hhws-page * {
  box-sizing: border-box !important;
}

.hhws-page {
  --hhws-green: #008242;
  --hhws-navy: #061a27;
  --hhws-navy-2: #083246;
  --hhws-text: #142333;
  --hhws-muted: #5f6d78;
  --hhws-line: #e2e8e5;
  --hhws-soft: #f5f8f6;
  --hhws-soft-green: #eef6f0;
  --hhws-max-width: 1500px;
  --hhws-fallback-left: max(42px, calc((100vw - var(--hhws-max-width)) / 2));
  --hhws-content-left: var(--hhws-fallback-left);
  --hhws-content-right: var(--hhws-fallback-left);

  position: relative !important;
  z-index: 1;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--hhws-text) !important;
  background: #fff !important;
  font-family: Lato, Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

.hhws-page--fullbleed {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  overflow-x: clip !important;
}

.hhws-page > main,
.hhws-page > main > section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
}

.hhws-page h1,
.hhws-page h2,
.hhws-page h3,
.hhws-page p,
.hhws-page ul,
.hhws-page ol {
  margin-top: 0 !important;
}

.hhws-page a {
  text-decoration: none !important;
}

/* Theme-Listenmarker und alte Quadrate konsequent entfernen. */
.hhws-page ul,
.hhws-page ol,
.hhws-page li {
  list-style: none !important;
  list-style-type: none !important;
  background-image: none !important;
}
.hhws-page ul::before,
.hhws-page ul::after,
.hhws-page li::before,
.hhws-page li::after {
  content: none !important;
  display: none !important;
}
.hhws-page li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.hhws-page svg {
  display: block;
}

.hhws-uploaded-icon {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.hhws-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: var(--hhws-content-left) !important;
  padding-right: var(--hhws-content-right) !important;
}

/* HERO – bewusst nah am Handwerkerforum: volle Fläche, Inhalt an der Hartl-Logo-Kante. */
.hhws-hero {
  position: relative !important;
  isolation: isolate;
  min-height: 540px;
  overflow: hidden !important;
  color: #fff !important;
  background:
    linear-gradient(90deg, rgba(3, 20, 31, .99) 0%, rgba(3, 20, 31, .97) 39%, rgba(3, 20, 31, .90) 58%, rgba(4, 43, 48, .88) 100%),
    var(--hhws-hero-image, none),
    var(--hhws-navy) !important;
  background-size: cover !important;
  background-position: center !important;
}

.hhws-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 78% 48%, rgba(0,130,66,.18), transparent 30%),
    linear-gradient(180deg, transparent 70%, rgba(0,0,0,.10));
}

.hhws-hero__inner {
  position: relative;
  z-index: 2;
  min-height: 540px;
  display: grid !important;
  grid-template-columns: minmax(520px, 760px) minmax(180px, 240px) !important;
  align-items: center !important;
  gap: clamp(28px, 3vw, 46px) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 46px var(--hhws-content-right) 48px var(--hhws-content-left) !important;
}

.hhws-hero__copy {
  width: 100%;
  max-width: 620px;
  text-align: left !important;
}

.hhws-hero__brand {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: clamp(46px, 4vw, 66px) !important;
  font-weight: 900 !important;
  line-height: .98 !important;
  letter-spacing: -.03em !important;
  text-transform: none !important;
}

.hhws-hero__tagline {
  margin: 0 0 24px !important;
  color: #fff !important;
  font-size: clamp(18px, 1.5vw, 24px) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
.hhws-hero__brand span,
.hhws-hero__claim span {
  color: var(--hhws-green) !important;
}

.hhws-hero__claim {
  max-width: 610px;
  margin: 0 0 16px !important;
  color: #fff !important;
  font-size: clamp(23px, 1.95vw, 30px) !important;
  font-weight: 900 !important;
  line-height: 1.13 !important;
  letter-spacing: -.015em !important;
  text-transform: none !important;
}
.hhws-hero__claim span {
  color: var(--hhws-green) !important;
}

.hhws-hero__lead {
  max-width: 590px;
  margin: 0 0 23px !important;
  color: rgba(255,255,255,.94) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

.hhws-checklist {
  display: grid !important;
  gap: 11px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.hhws-checklist li {
  display: grid !important;
  grid-template-columns: 19px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
.hhws-mini-icon {
  width: 18px !important;
  height: 18px !important;
  margin-top: 1px !important;
  color: var(--hhws-green) !important;
}
.hhws-mini-icon svg {
  width: 100% !important;
  height: 100% !important;
  fill: none !important;
  stroke: currentColor !important;
}

.hhws-hero__visual {
  position: relative !important;
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  max-width: 230px !important;
  min-height: 230px !important;
  margin-left: auto !important;
  transform: translateX(72px) !important;
}

.hhws-network {
  display: none !important;
}

.hhws-network__lines {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  pointer-events: none !important;
}
.hhws-network__lines line {
  stroke: rgba(255,255,255,.28) !important;
  stroke-width: .55 !important;
  vector-effect: non-scaling-stroke !important;
}

.hhws-network__center,
.hhws-network__node {
  position: absolute !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  text-align: center !important;
}

.hhws-network__center {
  left: 50% !important;
  top: 50% !important;
  width: 82px !important;
  height: 82px !important;
  transform: translate(-50%,-50%) !important;
  color: #fff !important;
  background: var(--hhws-green) !important;
  border: 2px solid rgba(255,255,255,.94) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.22) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}
.hhws-network__center img {
  width: 56px !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

.hhws-network__node {
  width: 70px !important;
  height: 70px !important;
  overflow: hidden !important;
  color: #fff !important;
  background: rgba(4,28,41,.82) !important;
  border: 2px solid rgba(255,255,255,.88) !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}
.hhws-network__node img {
  width: 48px !important;
  max-height: 31px !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1);
}
.hhws-network__node--1 { left: 50% !important; top: 13% !important; transform: translate(-50%,-50%) !important; }
.hhws-network__node--2 { left: 84% !important; top: 28% !important; transform: translate(-50%,-50%) !important; }
.hhws-network__node--3 { left: 50% !important; top: 87% !important; transform: translate(-50%,-50%) !important; }
.hhws-network__node--4 { left: 16% !important; top: 72% !important; transform: translate(-50%,-50%) !important; }
.hhws-network__node--5 { left: 16% !important; top: 28% !important; transform: translate(-50%,-50%) !important; }
.hhws-network__node--6 { display:none !important; }

.hhws-hero__badge {
  position: relative !important;
  z-index: 4 !important;
  right: auto !important;
  bottom: auto !important;
  width: 178px !important;
  height: 178px !important;
  min-height: 178px !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 20px !important;
  color: #fff !important;
  background: var(--hhws-green) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  box-shadow: 0 14px 26px rgba(0,0,0,.18) !important;
}
.hhws-hero__badge-icon {
  display: flex !important;
  width: 30px !important;
  height: 30px !important;
  margin-bottom: 8px !important;
  color: #fff !important;
}
.hhws-hero__badge-icon svg { width: 100% !important; height: 100% !important; stroke: currentColor !important; fill: none !important; }
.hhws-hero__badge strong { display: block !important; color:#fff !important; font-size: 12.5px !important; font-weight: 900 !important; line-height: 1.25 !important; text-align:center !important; }
.hhws-hero__badge > span:last-child { display:block !important; margin-top:6px !important; color:#fff !important; font-size:12.5px !important; font-weight:500 !important; line-height:1.28 !important; text-align:center !important; }

/* Allgemeine Bereiche */
.hhws-section {
  width: 100% !important;
  padding: 42px 0 !important;
  background: #fff !important;
}
.hhws-section-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: 0 0 30px !important;
  text-align: center !important;
}
.hhws-section-title h2 {
  margin: 0 !important;
  color: var(--hhws-text) !important;
  font-size: clamp(24px, 2vw, 31px) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  text-transform: none !important;
}
.hhws-section-title > span {
  display: block !important;
  width: 42px !important;
  height: 3px !important;
  margin-top: 12px !important;
  background: var(--hhws-green) !important;
}
.hhws-section-title--compact { margin-bottom: 22px !important; }
.hhws-section-title--compact h2 { font-size: clamp(21px,1.6vw,27px) !important; }

/* Schnittstellen */
.hhws-support {
  background: linear-gradient(180deg,#fff 0%,#fbfcfb 100%) !important;
}
.hhws-support__layout {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 280px !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.hhws-support__grid {
  display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  gap: 14px !important;
}
.hhws-support-card,
.hhws-profile {
  border: 1px solid var(--hhws-line) !important;
  border-radius: 6px !important;
  box-shadow: 0 5px 16px rgba(20,35,51,.035) !important;
}
.hhws-support-card {
  min-height: 160px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px 16px !important;
  background: #fff !important;
  text-align: center !important;
}
.hhws-support-card--wide { grid-column: span 2 !important; }
.hhws-icon {
  width: 38px !important;
  height: 38px !important;
  color: var(--hhws-green) !important;
  flex: 0 0 auto !important;
}
.hhws-icon svg { width:100% !important; height:100% !important; fill:none !important; stroke:currentColor !important; }
.hhws-support-card .hhws-icon { margin-bottom: 13px !important; }
.hhws-support-card h3,
.hhws-profile h3 {
  margin: 0 0 8px !important;
  color: var(--hhws-text) !important;
  font-size: 13.5px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}
.hhws-support-card p {
  max-width: 220px !important;
  margin: 0 !important;
  color: #40515e !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}
.hhws-profile {
  padding: 18px 22px 22px !important;
  background: linear-gradient(145deg,#f7fbf8,#edf6ef) !important;
}
.hhws-profile .hhws-icon--large { display:none !important; }
.hhws-profile ul { display:grid !important; gap:10px !important; margin:14px 0 0 !important; padding:0 !important; list-style:none !important; }
.hhws-profile li {
  display:flex !important;
  align-items:flex-start !important;
  gap:8px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #2d414f !important;
  font-size: 12.3px !important;
  line-height: 1.38 !important;
}
.hhws-support-note {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 38px 0 0 !important;
  padding: 28px 18px 26px !important;
  border-top: 0 !important;
  color: #263a48 !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  text-align: center !important;
}
.hhws-note-icon { display:flex !important; width:28px !important; height:28px !important; color:var(--hhws-green) !important; }
.hhws-note-icon svg { width:100% !important; height:100% !important; fill:none !important; stroke:currentColor !important; }

/* Software */
.hhws-software {
  padding-top: 16px !important;
  padding-bottom: 40px !important;
  background: #fff !important;
}
.hhws-software .hhws-inner {
  padding-top: 16px !important;
  border-top: 0 !important;
}
.hhws-software__row {
  display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr)) minmax(280px,1.55fr) !important;
  gap: 12px !important;
}
.hhws-software__logo {
  min-height: 82px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 18px !important;
  background: #fff !important;
  border: 1px solid var(--hhws-line) !important;
  border-radius: 6px !important;
  color: #163b63 !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  font-style: italic !important;
  text-align: center !important;
}
.hhws-software__logo img {
  display: block !important;
  max-width: 150px !important;
  max-height: 48px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.hhws-software__statement {
  min-height: 82px !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 20px !important;
  color: #fff !important;
  background: var(--hhws-navy-2) !important;
  border-radius: 6px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
.hhws-software__statement .hhws-icon { width: 40px !important; height: 40px !important; color: var(--hhws-green) !important; }

/* Termin – links Inhalte, rechts der eigentliche Terminbereich. */
.hhws-booking {
  padding: 22px 0 48px !important;
  background: #fff !important;
}
.hhws-booking__panel {
  display: grid !important;
  grid-template-columns: minmax(300px, 360px) minmax(0,1fr) !important;
  align-items: stretch !important;
  overflow: hidden !important;
  background: #f9fcfa !important;
  border: 1px solid var(--hhws-line) !important;
  border-radius: 7px !important;
  box-shadow: 0 12px 34px rgba(20,35,51,.055) !important;
}
.hhws-booking__intro {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 30px 20px 24px !important;
  background: linear-gradient(180deg,#fbfdfb,#f1f7f3) !important;
  border-right: 1px solid var(--hhws-line) !important;
}
.hhws-booking__intro-copy {
  margin-bottom: 30px !important;
}
.hhws-booking__intro h2 {
  max-width: 320px !important;
  margin: 0 0 12px !important;
  color: var(--hhws-text) !important;
  font-size: clamp(28px,2vw,34px) !important;
  font-weight: 900 !important;
  line-height: 1.06 !important;
  text-transform: none !important;
}
.hhws-booking__intro p {
  max-width: 300px !important;
  margin: 0 !important;
  color: #40515e !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.hhws-booking__cards {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  margin-top: 4px !important;
}
.hhws-booking-card {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 15px !important;
  color: var(--hhws-text) !important;
  background: #fff !important;
  border: 1px solid #dfe8e3 !important;
  border-radius: 7px !important;
  text-align: left !important;
  box-shadow: 0 4px 14px rgba(20,35,51,.035) !important;
  cursor: default !important;
  pointer-events: none !important;
}
.hhws-booking-card:hover,
.hhws-booking-card:focus,
.hhws-booking-card:active,
.hhws-booking-card.is-selected {
  color: var(--hhws-text) !important;
  background: #fff !important;
  border-color: #dfe8e3 !important;
  box-shadow: 0 4px 14px rgba(20,35,51,.035) !important;
  transform: none !important;
}
.hhws-booking-card__icon {
  grid-row: 1 / span 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  margin-bottom: 0 !important;
  padding: 10px !important;
  color: #fff !important;
  background: var(--hhws-green) !important;
  border-radius: 50% !important;
}
.hhws-booking-card strong { grid-column:2 !important; display:block !important; color:var(--hhws-text) !important; font-size:12.5px !important; font-weight:900 !important; line-height:1.2 !important; margin-bottom:3px !important; }
.hhws-booking-card > span:last-child { grid-column:2 !important; max-width:none !important; color:#53616d !important; font-size:10.8px !important; line-height:1.33 !important; }
.hhws-script-note {
  margin: 18px 0 0 !important;
  padding-top: 14px !important;
  color: var(--hhws-green) !important;
  font-family: "Segoe Print", "Comic Sans MS", cursive !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  text-align: center !important;
}
.hhws-booking__form {
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding: 22px 24px 22px !important;
  background: #eef5f0 !important;
  border-top: 0 !important;
}
.hhws-booking__form-head {
  margin: 0 0 18px !important;
}
.hhws-booking__form-head span {
  display: block !important;
  color: var(--hhws-text) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}
.hhws-booking__form-head small {
  display: block !important;
  margin-top: 4px !important;
  color: var(--hhws-muted) !important;
  font-size: 12px !important;
}
.hhws-booking-unavailable {
  padding: 18px !important;
  color: #754b20 !important;
  background: #fff7ec !important;
  border: 1px dashed #d4a36b !important;
  border-radius: 6px !important;
}
/* Booking Calendar – komplette Breite, kompakt und im Hartl-Grün. */
.hhws-booking-embed,
.hhws-booking-embed > div,
.hhws-booking-embed .wpbc_container,
.hhws-booking-embed .wpbc_form,
.hhws-booking-embed .booking_form,
.hhws-booking-embed .booking_form_div,
.hhws-booking-embed .wpbc__form__div,
.hhws-booking-embed .wpbc_wizard__border_container,
.hhws-booking-embed .wpbc_wizard_step {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
.hhws-booking-embed .wpbc_container,
.hhws-booking-embed .wpbc_wizard__border_container {
  --wpbc-bfb-booking_form_layout_width: 100% !important;
  --wpbc-bfb-form-background: #ffffff !important;
  --wpbc-bfb-form-border-color: #dfe6e3 !important;
  --wpbc_form-field-focus-border-color: #008242 !important;
  --wpbc_form-field-focus-shadow-color: #008242 !important;
  --wpbc_form-button-background-color: #008242 !important;
  --wpbc_form-button-background-color-alt: #008242 !important;
  --wpbc_form-button-border-color: #008242 !important;
  --wpbc_form-choice-checked-border-color: #008242 !important;
  --wpbc_form-choice-checked-color: #008242 !important;
  --wpbc_form-choice-focus-color: #008242 !important;
  --wpbc_form-page-break-color: #008242 !important;
}
.hhws-booking-embed .wpbc_wizard__border_container {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 12px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.hhws-booking-embed label {
  color: var(--hhws-text) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.hhws-booking-embed input[type="text"],
.hhws-booking-embed input[type="email"],
.hhws-booking-embed input[type="tel"],
.hhws-booking-embed input[type="number"],
.hhws-booking-embed select,
.hhws-booking-embed textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 40px !important;
  padding: 8px 10px !important;
  color: #243743 !important;
  background: #fff !important;
  border: 1px solid #ccd7d2 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-size: 13px !important;
}
.hhws-booking-embed textarea { min-height: 90px !important; }

.hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child {
  display: grid !important;
  grid-template-columns: minmax(500px, 540px) minmax(430px, 1fr) !important;
  justify-content: stretch !important;
  align-items: start !important;
  gap: 34px !important;
  width: 100% !important;
}
.hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field {
  flex-basis: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.hhws-booking-embed .datepick-inline,
.hhws-booking-embed .wpbc_calendar_wraper,
.hhws-booking-embed .wpbc_calendar {
  width: 100% !important;
  max-width: 540px !important;
  min-width: 500px !important;
}
.hhws-booking-embed .datepick-inline .datepick-header,
.hhws-booking-embed .datepick-inline .calendar-links {
  min-height: 46px !important;
  line-height: 46px !important;
  font-size: 14px !important;
}
.hhws-booking-embed .datepick-inline td,
.hhws-booking-embed .datepick-inline th,
.hhws-booking-embed .datepick-inline .datepick-days-cell {
  height: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 56px !important;
}
.hhws-booking-embed .datepick-inline .datepick-days-cell a,
.hhws-booking-embed .datepick-inline .datepick-days-cell span {
  min-height: 54px !important;
  line-height: 56px !important;
  font-size: 14px !important;
}
.hhws-booking-embed .datepick-inline .datepick-days-cell.date_available a,
.hhws-booking-embed .datepick-inline .datepick-days-cell.date_available {
  border-color: rgba(0,130,66,.12) !important;
}
.hhws-booking-embed .datepick-inline .datepick-current-day,
.hhws-booking-embed .datepick-inline .datepick-days-cell.datepick-today {
  outline-color: var(--hhws-green) !important;
}

.hhws-booking-embed .block_hints {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 18px 0 4px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}
.hhws-booking-embed .block_hints .wpdev_hint_with_text {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  color: #294256 !important;
  background: rgba(255,255,255,.74) !important;
  border: 1px solid #d9e4de !important;
  border-radius: 6px !important;
  box-shadow: 0 3px 10px rgba(20,35,51,.025) !important;
}
.hhws-booking-embed .block_hints .wpdev_hint_with_text > div:first-child {
  flex: 0 0 auto !important;
}
.hhws-booking-embed .block_hints .block_text {
  margin: 0 !important;
  color: #294256 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.hhws-booking-embed .block_hints .block_text:first-of-type {
  display: none !important;
}
.hhws-booking-embed .block_hints .wpbc_calendar_legend_table_width_height,
.hhws-booking-embed .block_hints table.wpbc_calendar {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
}
.hhws-booking-embed .block_hints .wpbc_calendar_legend_day_cell_height,
.hhws-booking-embed .block_hints td.datepick-days-cell {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  line-height: 30px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
.hhws-booking-embed .block_hints .date-cell-content,
.hhws-booking-embed .block_hints .date-cell-content a,
.hhws-booking-embed .block_hints .date-cell-content span {
  height: 30px !important;
  min-height: 30px !important;
  line-height: 30px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
/* Vier Statusfarben klar voneinander unterscheiden. */
.hhws-booking-embed .block_hints td.date_available:not(.timespartly) .wpbc-cell-box {
  background: #e6f4eb !important;
  border: 1px solid #9fc9ae !important;
}
.hhws-booking-embed .block_hints td.date_available:not(.timespartly) a { color: #008242 !important; }
.hhws-booking-embed .block_hints td.full_day_booking.date_approved .wpbc-cell-box {
  background: #8f7774 !important;
  border: 1px solid #8f7774 !important;
}
.hhws-booking-embed .block_hints td.full_day_booking.date_approved span { color: #fff !important; }
.hhws-booking-embed .block_hints td.full_day_booking.date2approve .wpbc-cell-box {
  background: #36586b !important;
  border: 1px solid #36586b !important;
}
.hhws-booking-embed .block_hints td.full_day_booking.date2approve span { color: #fff !important; }
.hhws-booking-embed .block_hints td.timespartly .wpbc-cell-box {
  background: #fff1c9 !important;
  border: 1px solid #d9b450 !important;
}
.hhws-booking-embed .block_hints td.timespartly a,
.hhws-booking-embed .block_hints td.timespartly span { color: #765700 !important; }

.hhws-booking-embed .wpbc_times_selector {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(105px,1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.hhws-booking-embed .wpbc_times_selector > div {
  width: auto !important;
  min-width: 0 !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 7px 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #294256 !important;
  background: #fff !important;
  border: 1px solid #9fb1bd !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  cursor: pointer !important;
}
.hhws-booking-embed .wpbc_times_selector > div:hover,
.hhws-booking-embed .wpbc_times_selector > div:focus,
.hhws-booking-embed .wpbc_times_selector > div:active {
  color: var(--hhws-green) !important;
  background: #f4fbf6 !important;
  border-color: var(--hhws-green) !important;
  outline: none !important;
}
.hhws-booking-embed .wpbc_times_selector > .wpbc_time_selected {
  color: #fff !important;
  background: var(--hhws-green) !important;
  border-color: var(--hhws-green) !important;
}
.hhws-booking-embed .wpbc_times_selector > .wpbc_time_picker_disabled { opacity:.36 !important; cursor:not-allowed !important; }

.hhws-booking-embed .wpbc__row,
.hhws-booking-embed .wpbc__field,
.hhws-booking-embed .bfb_element,
.hhws-booking-embed p {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}
.hhws-booking-embed hr {
  margin: 14px 0 !important;
  border: 0 !important;
  border-top: 1px solid #dfe6e3 !important;
}
.hhws-booking-embed .wpbc_button_light,
.hhws-booking-embed .wpbc_button,
.hhws-booking-embed input[type="button"],
.hhws-booking-embed input[type="submit"] {
  min-height: 40px !important;
  padding: 8px 18px !important;
  color: #fff !important;
  background: var(--hhws-green) !important;
  border: 1px solid var(--hhws-green) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* Kontakt */
.hhws-contact {
  padding: 24px 0 !important;
  background: linear-gradient(90deg,#f5faf6,#eef6f0) !important;
  border-top: 1px solid #e4ece7 !important;
}
.hhws-contact__grid {
  display: grid !important;
  grid-template-columns: minmax(300px,1.05fr) minmax(220px,.85fr) minmax(250px,.85fr) !important;
  align-items: center !important;
  gap: 24px !important;
}
.hhws-contact__person {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.hhws-contact__person-row {
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.hhws-contact__person-copy { display:block !important; }
.hhws-contact__photo,
.hhws-contact__avatar {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}
.hhws-contact__avatar {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:16px !important;
  color:var(--hhws-green) !important;
  background:#e4f1e7 !important;
}
.hhws-contact__avatar svg { width:100% !important; height:100% !important; fill:none !important; stroke:currentColor !important; }
.hhws-contact__title {
  display:block !important;
  margin:0 !important;
  color:var(--hhws-green) !important;
  font-size:clamp(17px,1.35vw,22px) !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:-.02em !important;
}
.hhws-contact__person h3 { margin:0 0 6px !important; color:var(--hhws-green) !important; font-size:15.5px !important; font-weight:900 !important; line-height:1.1 !important; }
.hhws-contact__person a { display:flex !important; align-items:center !important; gap:6px !important; margin-top:4px !important; color:#1d3847 !important; font-size:12px !important; font-weight:700 !important; width:fit-content !important; }
.hhws-contact__person a:hover { color:var(--hhws-green) !important; }
.hhws-contact__benefits {
  display:grid !important;
  gap:8px !important;
  margin:0 !important;
  padding:4px 0 4px 22px !important;
  border-left:1px solid #cedbd3 !important;
  list-style:none !important;
}
.hhws-contact__benefits li {
  display:flex !important;
  align-items:flex-start !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
  color:#2d414f !important;
  font-size:12px !important;
  line-height:1.38 !important;
}
.hhws-contact__question {
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) !important;
  align-items:center !important;
  gap:12px !important;
  padding:14px 16px !important;
  color:var(--hhws-text) !important;
  background:#fff !important;
  border:1px solid #e0e8e3 !important;
  border-radius:6px !important;
  box-shadow:0 8px 22px rgba(20,35,51,.045) !important;
}
.hhws-contact__question .hhws-icon { width:34px !important; height:34px !important; }
.hhws-contact__question strong { display:block !important; margin-bottom:2px !important; color:var(--hhws-text) !important; font-size:14px !important; font-weight:900 !important; }
.hhws-contact__question small { display:block !important; color:#435561 !important; font-size:11px !important; line-height:1.35 !important; }
@media (max-width: 1450px) {
  .hhws-hero__inner { grid-template-columns:minmax(460px,1fr) minmax(170px,220px) !important; gap:30px !important; }
  .hhws-hero__visual { max-width:210px !important; min-height:210px !important; transform:translateX(38px) !important; }
  .hhws-support__layout { grid-template-columns:minmax(0,1fr) 250px !important; }
  .hhws-support__grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  .hhws-support-card--wide { grid-column:span 1 !important; }
  .hhws-software__row { grid-template-columns:repeat(5,minmax(0,1fr)) !important; }
  .hhws-software__statement { grid-column:1/-1 !important; }
}

@media (max-width: 1180px) {
  .hhws-page { --hhws-content-left: 32px; --hhws-content-right: 32px; }
  .hhws-hero__inner { grid-template-columns:minmax(390px,1fr) minmax(160px,200px) !important; gap:22px !important; }
  .hhws-hero__brand { font-size:46px !important; }
  .hhws-network { display:none !important; }
  .hhws-hero__visual { min-height:190px !important; max-width:190px !important; transform:none !important; }
  .hhws-support__layout { grid-template-columns:1fr !important; }
  .hhws-profile { display:grid !important; grid-template-columns:54px 230px minmax(0,1fr) !important; align-items:center !important; gap:18px !important; }
  .hhws-profile .hhws-icon--large { margin:0 !important; }
  .hhws-profile h3 { margin:0 !important; }
  .hhws-profile ul { grid-template-columns:repeat(2,minmax(0,1fr)) !important; margin:0 !important; }
  .hhws-booking__panel { grid-template-columns:minmax(280px,320px) minmax(0,1fr) !important; }
  .hhws-booking__intro { border-right:1px solid var(--hhws-line) !important; border-bottom:0 !important; }
  .hhws-booking__cards { grid-template-columns:1fr !important; }
  .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child { grid-template-columns:minmax(420px,480px) minmax(340px,1fr) !important; gap:22px !important; }
  .hhws-booking-embed .wpbc_times_selector { grid-template-columns:repeat(3,minmax(80px,1fr)) !important; }
  .hhws-contact__grid { grid-template-columns:1fr 1fr !important; }
  .hhws-contact__question { grid-column:1/-1 !important; max-width:460px !important; }
}

@media (max-width: 900px) {
  .hhws-page { --hhws-content-left:24px; --hhws-content-right:24px; }
  .hhws-hero { min-height:0 !important; }
  .hhws-hero__inner { min-height:0 !important; grid-template-columns:1fr !important; padding-top:46px !important; padding-bottom:48px !important; }
  .hhws-hero__copy { max-width:720px !important; }
  .hhws-hero__visual { width:100% !important; max-width:172px !important; min-height:172px !important; margin:10px auto 0 !important; justify-content:center !important; }
  .hhws-support__grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .hhws-software__row { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .hhws-booking__cards { grid-template-columns:1fr !important; }
  .hhws-booking-card { min-height:120px !important; grid-template-columns:1fr !important; text-align:center !important; }
  .hhws-booking-card strong,
  .hhws-booking-card > span:last-child { grid-column:auto !important; }
  .hhws-booking-card__icon { grid-row:auto !important; margin:0 auto !important; }
  .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child { grid-template-columns:1fr !important; }
  .hhws-booking-embed .datepick-inline,
  .hhws-booking-embed .wpbc_calendar_wraper,
  .hhws-booking-embed .wpbc_calendar { max-width:480px !important; min-width:420px !important; }
  .hhws-contact__grid { grid-template-columns:1fr !important; }
  .hhws-contact__benefits { border-left:0 !important; padding-left:0 !important; }
}

@media (max-width: 640px) {
  .hhws-page { --hhws-content-left:20px; --hhws-content-right:20px; }
  .hhws-hero__inner { padding-top:36px !important; padding-bottom:38px !important; }
  .hhws-hero__brand { font-size:40px !important; }
  .hhws-hero__tagline { font-size:17px !important; margin-bottom:18px !important; white-space:normal !important; }
  .hhws-hero__claim { font-size:23px !important; }
  .hhws-network { display:none !important; }
  .hhws-hero__visual { min-height:150px !important; max-width:150px !important; }
  .hhws-hero__badge { width:136px !important; height:136px !important; min-height:136px !important; right:auto !important; bottom:auto !important; padding:16px 12px !important; }
  .hhws-hero__badge strong { font-size:11px !important; }
  .hhws-hero__badge > span:last-child { font-size:9px !important; }
  .hhws-section { padding:34px 0 !important; }
  .hhws-support__grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .hhws-support-card--wide { grid-column:1/-1 !important; }
  .hhws-profile { display:block !important; }
  .hhws-profile .hhws-icon--large { margin-bottom:12px !important; }
  .hhws-profile h3 { margin-bottom:10px !important; }
  .hhws-profile ul { grid-template-columns:1fr !important; }
  .hhws-software__row { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .hhws-software__statement { grid-column:1/-1 !important; }
  .hhws-booking__intro,
  .hhws-booking__form { padding-left:20px !important; padding-right:20px !important; }
  .hhws-booking-embed .wpbc_wizard__border_container { padding:14px !important; }
  .hhws-booking-embed .wpbc_times_selector { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .hhws-contact__person { align-items:flex-start !important; margin-left: 10px }
  .hhws-contact__photo,
  .hhws-contact__avatar { width:76px !important; height:76px !important; flex-basis:76px !important; }
}

/* Medien-Uploads in der Netzwerk-Grafik gut lesbar halten. */
.hhws-network__center:has(img),
.hhws-network__node:has(img) {
  background: #fff !important;
}
.hhws-network__center:has(img) {
  border-color: rgba(255,255,255,.98) !important;
}
.hhws-network__node img {
  filter: none !important;
}

/* Kalenderzustände: verfügbar, teilweise ausgebucht, heute und ausgewählt klar trennen. */
.hhws-booking-embed .datepick-inline td.date_available:not(.datepick-unselectable):not(.date_user_unavailable):not(.timespartly) .wpbc-cell-box,
.hhws-booking-embed .datepick-inline td.date_available:not(.datepick-unselectable):not(.date_user_unavailable):not(.timespartly) {
  background: #e7f3eb !important;
  border-color: #b8d8c2 !important;
}
.hhws-booking-embed .datepick-inline td.date_available:not(.datepick-unselectable):not(.date_user_unavailable):not(.timespartly) a,
.hhws-booking-embed .datepick-inline td.date_available:not(.datepick-unselectable):not(.date_user_unavailable):not(.timespartly) .date-cell-content {
  color: #008242 !important;
  font-weight: 800 !important;
}
/* Teilweise ausgebucht = eigener warmer Farbton. */
.hhws-booking-embed .datepick-inline td.timespartly.date_available:not(.datepick-unselectable) .wpbc-cell-box,
.hhws-booking-embed .datepick-inline td.timespartly.date_available:not(.datepick-unselectable) {
  background: #fff1c9 !important;
  border-color: #d9b450 !important;
}
.hhws-booking-embed .datepick-inline td.timespartly.date_available:not(.datepick-unselectable) a,
.hhws-booking-embed .datepick-inline td.timespartly.date_available:not(.datepick-unselectable) .date-cell-content {
  color: #765700 !important;
  font-weight: 800 !important;
}
/* Heutiges Datum = weiße Fläche mit dunklem Rahmen, nicht wie die Auswahl. */
.hhws-booking-embed .datepick-inline td.datepick-today:not(.datepick-current-day) .wpbc-cell-box {
  background: #fff !important;
  border: 2px solid #31586a !important;
  box-shadow: inset 0 0 0 1px rgba(49,88,106,.06) !important;
}
.hhws-booking-embed .datepick-inline td.datepick-today:not(.datepick-current-day) a,
.hhws-booking-embed .datepick-inline td.datepick-today:not(.datepick-current-day) .date-cell-content {
  color: #31586a !important;
  font-weight: 900 !important;
}
/* Ausgewähltes Datum = Hartl-Grün. */
.hhws-booking-embed .datepick-inline td.datepick-current-day .wpbc-cell-box,
.hhws-booking-embed .datepick-inline td.datepick-current-day {
  background: #008242 !important;
  border-color: #008242 !important;
}
.hhws-booking-embed .datepick-inline td.datepick-current-day a,
.hhws-booking-embed .datepick-inline td.datepick-current-day .date-cell-content {
  color: #fff !important;
  font-weight: 900 !important;
}

.hhws-booking-embed .wpbc_times_selector > div,
.hhws-booking-embed .wpbc_times_selector > div * {
  user-select: none !important;
  -webkit-user-select: none !important;
}
.hhws-booking-embed .wpbc_times_selector > div::selection,
.hhws-booking-embed .wpbc_times_selector > div *::selection {
  background: transparent !important;
  color: inherit !important;
}

.hhws-booking-embed label {
  color: #23404a !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
}
.hhws-booking-embed input::placeholder,
.hhws-booking-embed textarea::placeholder {
  color: #7c8f89 !important;
}
.hhws-booking-embed textarea { min-height: 74px !important; }
.hhws-booking-embed .wpbc__field p,
.hhws-booking-embed .wpbc__field small,
.hhws-booking-embed .wpbc__field em,
.hhws-booking-embed .wpbc__field .description,
.hhws-booking-embed .wpbc__field .help-block {
  margin: 4px 0 8px !important;
  color: #567068 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}
.hhws-booking-embed select,
.hhws-booking-embed select option {
  color: #24404a !important;
  background: #fff !important;
}
.hhws-booking-embed select option:hover,
.hhws-booking-embed select option:checked,
.hhws-booking-embed select option:focus {
  color: #008242 !important;
  background: #e7f3eb !important;
  box-shadow: inset 0 0 0 9999px #e7f3eb !important;
}
.hhws-booking-embed input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  margin: 0 8px 0 0 !important;
  accent-color: #008242 !important;
  vertical-align: middle !important;
}
.hhws-booking-embed .checkbox,
.hhws-booking-embed .checkbox label,
.hhws-booking-embed .checkbox * {
  color: #294256 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}
.hhws-booking-embed a {
  color: #008242 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.hhws-booking-embed a:hover { text-decoration: underline !important; }

.hhws-booking-embed hr {
  margin: 10px 0 8px !important;
}
.hhws-booking-embed .wpbc_wizard_step > .wpbc__row:last-child,
.hhws-booking-embed .wpbc__row:last-child {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 0 !important;
}
.hhws-booking-embed .wpbc_button_light,
.hhws-booking-embed .wpbc_button,
.hhws-booking-embed input[type="button"],
.hhws-booking-embed input[type="submit"] {
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 8px 18px !important;
  line-height: 1 !important;
}

.hhws-contact__benefits li::marker,
.hhws-profile li::marker {
  content: "" !important;
}
.hhws-profile li::before,
.hhws-contact__benefits li::before { content:none !important; display:none !important; }

.hhws-contact__link-icon { width:16px !important; height:16px !important; color:var(--hhws-green) !important; flex:0 0 16px !important; }
.hhws-contact__link-icon svg { width:100% !important; height:100% !important; fill:none !important; stroke:currentColor !important; }

.hhws-list-check { width:16px !important; height:16px !important; color:var(--hhws-green) !important; flex:0 0 16px !important; margin-top:1px !important; }
.hhws-list-check svg { width:100% !important; height:100% !important; fill:none !important; stroke:currentColor !important; }

.hhws-booking-embed input[type="text"],
.hhws-booking-embed input[type="email"],
.hhws-booking-embed input[type="tel"],
.hhws-booking-embed input[type="number"],
.hhws-booking-embed select,
.hhws-booking-embed textarea {
  min-height: 40px !important;
  padding: 8px 10px !important;
  color: #23404a !important;
  border: 1px solid #d6e0dc !important;
  border-radius: 4px !important;
  background: #fff !important;
  font-size: 12.5px !important;
  box-shadow: none !important;
}
.hhws-booking-embed textarea { min-height: 68px !important; }
.hhws-booking-embed label {
  color: #23404a !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  margin-bottom: 2px !important;
}
.hhws-booking-embed .wpbc__field p,
.hhws-booking-embed .wpbc__field small,
.hhws-booking-embed .wpbc__field em,
.hhws-booking-embed .wpbc__field .description,
.hhws-booking-embed .wpbc__field .help-block {
  margin: 1px 0 5px !important;
  color: #567068 !important;
  font-size: 11.5px !important;
  line-height: 1.3 !important;
}
.hhws-booking-embed .checkbox,
.hhws-booking-embed .checkbox label {
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:5px !important;
}
.hhws-booking-embed .checkbox,
.hhws-booking-embed .checkbox label,
.hhws-booking-embed .checkbox * {
  color: #294256 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}
.hhws-booking-embed .checkbox a { font-weight: 700 !important; }
.hhws-booking-embed .wpbc_button_light,
.hhws-booking-embed .wpbc_button,
.hhws-booking-embed input[type="button"],
.hhws-booking-embed input[type="submit"] {
  min-height: 38px !important;
  height: 38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:top !important;
}
.hhws-booking-embed select { appearance: none !important; -webkit-appearance:none !important; -moz-appearance:none !important; }
.hhws-booking-embed select:focus { outline:none !important; border-color:var(--hhws-green) !important; box-shadow:0 0 0 2px rgba(0,130,66,.08) !important; }

@media (max-width: 900px) {
  .hhws-contact__person-row { align-items:flex-start !important; }
}

@media (max-width: 980px) {
  .hhws-booking-embed .block_hints { grid-template-columns: repeat(2,minmax(0,1fr)) !important; max-width: 520px !important; }
}
@media (max-width: 560px) {
  .hhws-booking-embed .block_hints { grid-template-columns: 1fr !important; max-width: none !important; }
}


/* v1.0.10 – ausschließlich die angeforderten Feinanpassungen */
.hhws-page {
  --hhws-text: #052a3e;
}

/* Dunkle Texte im Hartl-Navy statt Schwarz. */
.hhws-section-title h2,
.hhws-support-card h3,
.hhws-profile h3,
.hhws-booking__intro h2,
.hhws-booking-card strong,
.hhws-booking__form-head span,
.hhws-contact__question strong {
  color: #052a3e !important;
}

.hhws-title-green {
  color: var(--hhws-green) !important;
}

/* Der bisherige Erfahrungssatz ist komplett entfernt; Fallback für gecachte HTML-Ausgabe. */
.hhws-support-note {
  display: none !important;
}

/* „Wir übernehmen – Sie profitieren“ etwas größer, mit sicherem Textumbruch. */
.hhws-support__layout {
  grid-template-columns: minmax(0,1fr) 300px !important;
}
.hhws-profile {
  padding: 20px 22px 22px !important;
  overflow: hidden !important;
}
.hhws-profile h3 {
  font-size: 16px !important;
  line-height: 1.16 !important;
  margin-bottom: 10px !important;
  overflow-wrap: anywhere !important;
}
.hhws-profile li,
.hhws-profile li span:last-child {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

/* Grüner Hero-Kreis wirklich rechts positionieren. */
.hhws-hero__visual {
  position: absolute !important;
  top: 50% !important;
  right: calc(var(--hhws-content-right) + 70px) !important;
  left: auto !important;
  width: 190px !important;
  max-width: 190px !important;
  min-height: 190px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  justify-content: center !important;
}
.hhws-hero__badge {
  width: 178px !important;
  height: 178px !important;
  min-height: 178px !important;
  padding: 22px 18px !important;
}
.hhws-hero__badge-icon {
  margin-bottom: 5px !important;
}
.hhws-hero__badge strong {
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.15 !important;
}
.hhws-hero__badge > span:last-child {
  margin-top: 3px !important;
  font-size: 12.5px !important;
  line-height: 1.16 !important;
}

/* Mehr Luft links im Terminbereich, ohne den Aufbau umzubauen. */
.hhws-booking__intro-copy {
  margin-bottom: 34px !important;
}
.hhws-booking__cards {
  gap: 15px !important;
  margin-top: 6px !important;
}
.hhws-booking-card {
  padding-top: 17px !important;
  padding-bottom: 17px !important;
}
.hhws-script-note {
  margin-top: 23px !important;
}

/* Booking-Calendar: Statusfarben direkt über die offiziellen WPBC-Variablen. */
.hhws-booking-embed .wpbc_container,
.hhws-booking-embed .wpbc_wizard__border_container,
.hhws-booking-embed .datepick-inline {
  --wpbc_cal-main-background-color: #ffffff !important;
  --wpbc_cal-available-day-color: #eaf5ee !important;
  --wpbc_cal-available-text-color: #008242 !important;
  --wpbc_cal-approved-day-color: #8f7774 !important;
  --wpbc_cal-approved-text-color: #ffffff !important;
  --wpbc_cal-pending-day-color: #36586b !important;
  --wpbc_cal-pending-text-color: #ffffff !important;
  --wpbc_cal-selected-day-color: #008242 !important;
  --wpbc_cal-selected-text-color: #ffffff !important;
  --wpbc_cal-hover-day-color: #d9eee1 !important;
  --wpbc_cal-hover-text-color: #052a3e !important;
  --wpbc_cal-timespartly-day-color: #fff1c9 !important;
  --wpbc_cal-timespartly-text-color: #765700 !important;
}

/* Heute = klarer Navy-Rahmen; Auswahl = sattes Hartl-Grün. */
.hhws-booking-embed .datepick-days-cell.hhws-today-date:not(.hhws-user-selected-date),
.hhws-booking-embed .datepick-days-cell.hhws-today-date:not(.hhws-user-selected-date) .wpbc-cell-box,
.hhws-booking-embed .datepick-days-cell.datepick-today:not(.datepick-selected):not(.hhws-user-selected-date),
.hhws-booking-embed .datepick-days-cell.datepick-today:not(.datepick-selected):not(.hhws-user-selected-date) .wpbc-cell-box {
  background: #ffffff !important;
  color: #052a3e !important;
  border: 3px solid #052a3e !important;
  box-shadow: inset 0 0 0 1px #ffffff !important;
}
.hhws-booking-embed .datepick-days-cell.hhws-today-date:not(.hhws-user-selected-date) a,
.hhws-booking-embed .datepick-days-cell.hhws-today-date:not(.hhws-user-selected-date) span,
.hhws-booking-embed .datepick-days-cell.hhws-today-date:not(.hhws-user-selected-date) .date-cell-content {
  color: #052a3e !important;
  font-weight: 900 !important;
}

.hhws-booking-embed .datepick-days-cell.hhws-user-selected-date,
.hhws-booking-embed .datepick-days-cell.hhws-user-selected-date .wpbc-cell-box,
.hhws-booking-embed .datepick-days-cell.datepick-selected,
.hhws-booking-embed .datepick-days-cell.datepick-selected .wpbc-cell-box,
.hhws-booking-embed .datepick-days-cell.datepick-current-day,
.hhws-booking-embed .datepick-days-cell.datepick-current-day .wpbc-cell-box {
  background: #008242 !important;
  color: #ffffff !important;
  border: 3px solid #008242 !important;
  box-shadow: 0 0 0 2px rgba(0,130,66,.18) !important;
}
.hhws-booking-embed .datepick-days-cell.hhws-user-selected-date a,
.hhws-booking-embed .datepick-days-cell.hhws-user-selected-date span,
.hhws-booking-embed .datepick-days-cell.hhws-user-selected-date .date-cell-content,
.hhws-booking-embed .datepick-days-cell.datepick-selected a,
.hhws-booking-embed .datepick-days-cell.datepick-selected span,
.hhws-booking-embed .datepick-days-cell.datepick-selected .date-cell-content,
.hhws-booking-embed .datepick-days-cell.datepick-current-day a,
.hhws-booking-embed .datepick-days-cell.datepick-current-day span,
.hhws-booking-embed .datepick-days-cell.datepick-current-day .date-cell-content {
  color: #ffffff !important;
  font-weight: 900 !important;
}

/* Falls der heutige Tag zugleich ausgewählt ist: zusätzlicher Navy-Ring. */
.hhws-booking-embed .datepick-days-cell.hhws-today-date.hhws-user-selected-date,
.hhws-booking-embed .datepick-days-cell.hhws-today-date.hhws-user-selected-date .wpbc-cell-box {
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #052a3e !important;
}

/* Legende: vier identische weiße Rahmen, keine „02“-Zahlen mehr, kein Überlaufen. */
.hhws-booking-embed .block_hints {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(140px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 20px 0 4px !important;
}
.hhws-booking-embed .block_hints .wpdev_hint_with_text {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  background: #ffffff !important;
  border: 1px solid #d9e4de !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}
.hhws-booking-embed .block_hints .wpdev_hint_with_text > div:first-child,
.hhws-booking-embed .block_hints .wpbc_calendar_legend_table_width_height,
.hhws-booking-embed .block_hints table.wpbc_calendar {
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
}
.hhws-booking-embed .block_hints .wpbc_calendar_legend_day_cell_height,
.hhws-booking-embed .block_hints td.datepick-days-cell {
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  line-height: 20px !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}
.hhws-booking-embed .block_hints .date-cell-content,
.hhws-booking-embed .block_hints .date-cell-content a,
.hhws-booking-embed .block_hints .date-cell-content span {
  height: 20px !important;
  min-height: 20px !important;
  line-height: 20px !important;
  font-size: 0 !important;
  color: transparent !important;
}
.hhws-booking-embed .block_hints .block_text {
  min-width: 0 !important;
  margin: 0 !important;
  color: #052a3e !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 1450px) {
  .hhws-hero__visual {
    right: calc(var(--hhws-content-right) + 35px) !important;
  }
  .hhws-support__layout {
    grid-template-columns: minmax(0,1fr) 270px !important;
  }
}

@media (max-width: 1180px) {
  .hhws-hero__visual {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    max-width: 190px !important;
    margin-left: auto !important;
  }
  .hhws-support__layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 980px) {
  .hhws-booking-embed .block_hints {
    grid-template-columns: repeat(2, minmax(140px, 1fr)) !important;
    max-width: 520px !important;
  }
}

@media (max-width: 560px) {
  .hhws-booking-embed .block_hints {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }
}


/* ===== v1.0.11 – Kalender/Legende/Selektion feinjustiert ===== */
.hhws-booking__form-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}
.hhws-booking__form-head span,
.hhws-booking__form-head small {
  text-align: center !important;
}
.hhws-booking__form-head small {
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Kalender raster klar und dünn */
.hhws-booking-embed .datepick,
.hhws-booking-embed .datepick-inline,
.hhws-booking-embed .datepick-inline table,
.hhws-booking-embed .datepick-inline .datepick-month,
.hhws-booking-embed .datepick-inline .datepick-month table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
.hhws-booking-embed .datepick-inline .datepick-month table {
  background: #fff !important;
}
.hhws-booking-embed .datepick-inline th,
.hhws-booking-embed .datepick-inline td,
.hhws-booking-embed .datepick-inline .datepick-days-cell,
.hhws-booking-embed .datepick-inline .datepick-unselectable {
  border: 1px solid #cfe0d6 !important;
}
.hhws-booking-embed .datepick-inline thead th,
.hhws-booking-embed .datepick-inline .datepick-dow-1,
.hhws-booking-embed .datepick-inline .datepick-dow-2,
.hhws-booking-embed .datepick-inline .datepick-dow-3,
.hhws-booking-embed .datepick-inline .datepick-dow-4,
.hhws-booking-embed .datepick-inline .datepick-dow-5,
.hhws-booking-embed .datepick-inline .datepick-dow-6,
.hhws-booking-embed .datepick-inline .datepick-dow-0 {
  border-bottom: 1px solid #cfe0d6 !important;
  background: #fff !important;
}
.hhws-booking-embed .datepick-inline tbody tr:first-child td,
.hhws-booking-embed .datepick-inline tbody tr:first-child .datepick-days-cell,
.hhws-booking-embed .datepick-inline tbody tr:first-child .datepick-unselectable {
  border-top: 1px solid #cfe0d6 !important;
}
.hhws-booking-embed .datepick-inline .datepick-days-cell,
.hhws-booking-embed .datepick-inline .datepick-days-cell a,
.hhws-booking-embed .datepick-inline .datepick-days-cell span,
.hhws-booking-embed .datepick-inline .wpbc-cell-box,
.hhws-booking-embed .datepick-inline .date-cell-content,
.hhws-booking-embed .wpbc_times_selector > div {
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
  user-select: none !important;
}
.hhws-booking-embed .datepick-inline .datepick-days-cell a:focus,
.hhws-booking-embed .datepick-inline .datepick-days-cell span:focus,
.hhws-booking-embed .datepick-inline .wpbc-cell-box:focus,
.hhws-booking-embed .datepick-inline .date-cell-content:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Aktueller Tag und Auswahl klar erkennbar */
.hhws-booking-embed .datepick-days-cell.hhws-today-date:not(.hhws-user-selected-date),
.hhws-booking-embed .datepick-days-cell.hhws-today-date:not(.hhws-user-selected-date) .wpbc-cell-box,
.hhws-booking-embed .datepick-days-cell.datepick-today:not(.datepick-selected):not(.hhws-user-selected-date),
.hhws-booking-embed .datepick-days-cell.datepick-today:not(.datepick-selected):not(.hhws-user-selected-date) .wpbc-cell-box {
  background: #ffffff !important;
  color: #052a3e !important;
  border: 2px solid #7ca58e !important;
  box-shadow: inset 0 0 0 1px #ffffff !important;
}
.hhws-booking-embed .datepick-days-cell.hhws-user-selected-date,
.hhws-booking-embed .datepick-days-cell.hhws-user-selected-date .wpbc-cell-box,
.hhws-booking-embed .datepick-days-cell.datepick-selected,
.hhws-booking-embed .datepick-days-cell.datepick-selected .wpbc-cell-box,
.hhws-booking-embed .datepick-days-cell.datepick-current-day,
.hhws-booking-embed .datepick-days-cell.datepick-current-day .wpbc-cell-box {
  background: #008242 !important;
  color: #ffffff !important;
  border: 2px solid #008242 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.15) !important;
}
.hhws-booking-embed .datepick-days-cell.hhws-user-selected-date a,
.hhws-booking-embed .datepick-days-cell.hhws-user-selected-date span,
.hhws-booking-embed .datepick-days-cell.hhws-user-selected-date .date-cell-content,
.hhws-booking-embed .datepick-days-cell.datepick-selected a,
.hhws-booking-embed .datepick-days-cell.datepick-selected span,
.hhws-booking-embed .datepick-days-cell.datepick-selected .date-cell-content,
.hhws-booking-embed .datepick-days-cell.datepick-current-day a,
.hhws-booking-embed .datepick-days-cell.datepick-current-day span,
.hhws-booking-embed .datepick-days-cell.datepick-current-day .date-cell-content {
  color: #ffffff !important;
}

/* Hover/active ohne schwarzen Rand */
.hhws-booking-embed .datepick-inline .datepick-days-cell:hover,
.hhws-booking-embed .datepick-inline .datepick-days-cell:active,
.hhws-booking-embed .datepick-inline .datepick-days-cell a:hover,
.hhws-booking-embed .datepick-inline .datepick-days-cell a:active,
.hhws-booking-embed .datepick-inline .datepick-days-cell span:hover,
.hhws-booking-embed .datepick-inline .datepick-days-cell span:active {
  outline: none !important;
}

/* Zeit-Slots: gedrückt schon grün, Auswahl stabil */
.hhws-booking-embed .wpbc_times_selector > div:active {
  color: #fff !important;
  background: #008242 !important;
  border-color: #008242 !important;
}

/* Platz für neue JS-Legende */
.hhws-booking-embed .block_hints {
  grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
  max-width: 760px !important;
}
.hhws-booking-embed .block_hints .wpdev_hint_with_text {
  float: none !important;
  width: auto !important;
}
.hhws-booking-embed .hhws-legend-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 48px !important;
  padding: 9px 11px !important;
  background: #fff !important;
  border: 1px solid #d9e4de !important;
  border-radius: 6px !important;
}
.hhws-booking-embed .hhws-legend-swatch {
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 4px !important;
  border: 1px solid #c8d8cf !important;
}
.hhws-booking-embed .hhws-legend-swatch--available { background: #e6f4eb !important; border-color: #9fc9ae !important; }
.hhws-booking-embed .hhws-legend-swatch--booked { background: #8f7774 !important; border-color: #8f7774 !important; }
.hhws-booking-embed .hhws-legend-swatch--pending { background: #36586b !important; border-color: #36586b !important; }
.hhws-booking-embed .hhws-legend-swatch--partial { background: #fff1c9 !important; border-color: #d9b450 !important; }
.hhws-booking-embed .hhws-legend-label {
  display: block !important;
  color: #052a3e !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}


/* ===== v1.0.12 – Formular vor Datum/Zeit + Screenshot-Look ===== */
.hhws-booking.is-reordered .hhws-booking__form-head {
  align-items: flex-start !important;
  text-align: left !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head span,
.hhws-booking.is-reordered .hhws-booking__form-head small {
  text-align: left !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head small {
  max-width: none !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head .hhws-form-head-step {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 4px !important;
  color: #008242 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head .hhws-form-head-step::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #008242;
}

.hhws-booking.is-reordered .hhws-booking__form {
  background: #ffffff !important;
  border: 1px solid #e1e8e4 !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(5,42,62,.05) !important;
  padding: 18px 20px 22px !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard__border_container {
  padding-top: 4px !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 {
  background: transparent !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row {
  margin-bottom: 14px !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 18px !important;
  align-items: start !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row > .wpbc__field {
  flex-basis: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row > .wpbc__field[style*="100%"] {
  grid-column: 1 / -1 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_field_description {
  display: none !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 label,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 label {
  display: block !important;
  margin: 0 0 6px !important;
  color: #052a3e !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="text"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="email"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="tel"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea {
  min-height: 44px !important;
  padding: 10px 12px !important;
  border-color: #d6dfda !important;
  border-radius: 6px !important;
  font-size: 13px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea {
  min-height: 88px !important;
  resize: vertical !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 ::placeholder {
  color: #8a9aa5 !important;
  opacity: 1 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  line-height: 1.45 !important;
  color: #052a3e !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox a {
  color: #008242 !important;
  text-decoration: underline !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_wrap_checkbox input[type="checkbox"] {
  margin-top: 2px !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-intro {
  display: block !important;
  margin: 2px 0 12px !important;
  color: #5a6b74 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 10px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions .hhws-step-btn,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions input[type="button"],
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions .wpbc_button_light {
  min-height: 44px !important;
  padding: 10px 18px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions .hhws-step-btn--secondary {
  color: #052a3e !important;
  background: #ffffff !important;
  border: 1px solid #cfdad5 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions .hhws-step-btn--primary {
  color: #ffffff !important;
  background: #008242 !important;
  border: 1px solid #008242 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions .hhws-step-btn--primary:hover,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions .hhws-step-btn--secondary:hover {
  text-decoration: none !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-hide-original-action {
  display: none !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child {
  grid-template-columns: minmax(480px, 520px) minmax(320px, 1fr) !important;
  gap: 28px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:first-child {
  order: 2 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:last-child {
  order: 1 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-calendar-step-title {
  display: block !important;
  margin: 0 0 10px !important;
  color: #052a3e !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-calendar-step-copy {
  display: block !important;
  margin: -4px 0 10px !important;
  color: #5a6b74 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

@media (max-width: 1100px) {
  .hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child),
  .hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child {
    grid-template-columns: 1fr !important;
  }
  .hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:first-child,
  .hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:last-child {
    order: initial !important;
  }
}


/* ===== v1.0.13 – Formular kompakter, sauberer, Screenshot-näher ===== */

/* Rechte Formularseite als ruhige, helle Fläche */
.hhws-booking.is-reordered .hhws-booking__form {
  background: #f2f7f3 !important;
  border: 0 !important;
  border-left: 1px solid #dfe9e3 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 30px 34px 34px !important;
}

/* Kopfbereich direkt über dem Formular */
.hhws-booking.is-reordered .hhws-booking__form-head {
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto 16px !important;
  padding: 0 2px !important;
  align-items: flex-start !important;
  text-align: left !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head .hhws-form-head-step {
  margin: 0 0 6px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head > span:not(.hhws-form-head-step) {
  margin: 0 !important;
  color: #052a3e !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head small {
  max-width: 760px !important;
  margin: 7px 0 0 !important;
  color: #61727b !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}

/* Das eigentliche Booking-Formular als weiße Karte */
.hhws-booking.is-reordered .hhws-booking-embed {
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 24px 26px 22px !important;
  background: #ffffff !important;
  border: 1px solid #dde7e1 !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(5, 42, 62, .045) !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard__border_container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Doppelten Erklärungstext ausblenden */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-intro {
  display: none !important;
}

/* Formularzeilen: normalerweise volle Breite, nur echte 2-Feld-Zeilen zweispaltig */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 0 15px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child):has(> .wpbc__field:nth-child(2)) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 18px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row > .wpbc__field {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Labels */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 label {
  display: block !important;
  margin: 0 0 6px !important;
  color: #052a3e !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

/* Felder */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="text"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="email"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="tel"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="number"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 43px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  color: #052a3e !important;
  background: #fff !important;
  border: 1px solid #d1ddd6 !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input:focus,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select:focus,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea:focus {
  outline: none !important;
  border-color: #008242 !important;
  box-shadow: 0 0 0 3px rgba(0,130,66,.08) !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select {
  padding-right: 36px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea {
  min-height: 80px !important;
}

/* Placeholder dezenter */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 ::placeholder {
  color: #92a1aa !important;
  opacity: 1 !important;
}

/* DSGVO-Zeile schön und auf einer optischen Ebene */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_wrap_checkbox {
  margin-top: 2px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox * {
  color: #435761 !important;
  font-size: 11.8px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox a {
  color: #008242 !important;
  font-weight: 700 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="checkbox"] {
  accent-color: #008242 !important;
}

/* Buttonbereich */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions {
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid #edf1ef !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions .hhws-step-btn {
  min-height: 42px !important;
  padding: 10px 18px !important;
  border-radius: 5px !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions .hhws-step-btn--primary {
  box-shadow: 0 6px 14px rgba(0,130,66,.12) !important;
}

/* Mobil / schmal: alles einspaltig */
@media (max-width: 900px) {
  .hhws-booking.is-reordered .hhws-booking__form {
    padding: 22px 16px 26px !important;
  }
  .hhws-booking.is-reordered .hhws-booking-embed {
    padding: 20px 16px !important;
  }
  .hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child):has(> .wpbc__field:nth-child(2)) {
    grid-template-columns: 1fr !important;
    row-gap: 15px !important;
  }
}


/* ===== v1.0.14 – Pflichtfelder, E-Mail-Validierung, Datenschutz-Zeile, grünes Software-Dropdown ===== */

/* Pflichtstern einheitlich Hartl-grün */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 label .hhws-required-star,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-required-star {
  color: #008242 !important;
  font-weight: 900 !important;
  margin-left: 2px !important;
}

/* Fehlerzustände */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-field-invalid input,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-field-invalid select,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-field-invalid textarea,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-field-invalid .hhws-custom-select__button {
  border-color: #b42318 !important;
  box-shadow: 0 0 0 3px rgba(180,35,24,.08) !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-field-error {
  display: block !important;
  margin-top: 5px !important;
  color: #b42318 !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
}

/* Datenschutz exakt auf einer Linie */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_wrap_checkbox,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-wrap {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_wrap_checkbox input[type="checkbox"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-wrap input[type="checkbox"] {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  accent-color: #008242 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox label,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-wrap label {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #435761 !important;
  font-size: 11.8px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  vertical-align: baseline !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox a,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-wrap a {
  color: #008242 !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  line-height: inherit !important;
  vertical-align: baseline !important;
  text-decoration: underline !important;
}

/* Native Select bleibt für Booking Calendar vorhanden, die sichtbare UI ist custom */
.hhws-booking.is-reordered .hhws-field-software select.hhws-native-select-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
}
.hhws-custom-select {
  position: relative !important;
  width: 100% !important;
  z-index: 20 !important;
}
.hhws-custom-select__button {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 43px !important;
  padding: 9px 40px 9px 12px !important;
  color: #052a3e !important;
  background: #fff !important;
  border: 1px solid #d1ddd6 !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  cursor: pointer !important;
}
.hhws-custom-select__button::after {
  content: '' !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 2px solid #008242 !important;
  border-bottom: 2px solid #008242 !important;
  transform: translateY(-65%) rotate(45deg) !important;
  transition: transform .15s ease !important;
}
.hhws-custom-select.is-open .hhws-custom-select__button {
  border-color: #008242 !important;
  box-shadow: 0 0 0 3px rgba(0,130,66,.08) !important;
}
.hhws-custom-select.is-open .hhws-custom-select__button::after {
  transform: translateY(-25%) rotate(225deg) !important;
}
.hhws-custom-select__menu {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 5px) !important;
  display: none !important;
  max-height: 280px !important;
  margin: 0 !important;
  padding: 5px !important;
  overflow-y: auto !important;
  background: #fff !important;
  border: 1px solid #cbdad2 !important;
  border-radius: 7px !important;
  box-shadow: 0 12px 30px rgba(5,42,62,.14) !important;
  list-style: none !important;
}
.hhws-custom-select.is-open .hhws-custom-select__menu {
  display: block !important;
}
.hhws-custom-select__option {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 9px 10px !important;
  color: #052a3e !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 4px !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  cursor: pointer !important;
}
.hhws-custom-select__option:hover,
.hhws-custom-select__option:focus,
.hhws-custom-select__option.is-active {
  color: #fff !important;
  background: #008242 !important;
  outline: none !important;
}
.hhws-custom-select__option.is-selected {
  color: #fff !important;
  background: #008242 !important;
  font-weight: 800 !important;
}

/* Der geöffnete native Browser-Select kann unter Windows/Chrome nicht zuverlässig umgefärbt werden.
   Deshalb ersetzt die eigene Oberfläche hier die blaue System-Markierung vollständig. */


/* ===== v1.0.14.1 – Datenschutz-Fehlermeldung sauber unter dem vollständigen Satz ===== */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox > .hhws-field-error {
  display: block !important;
  width: 100% !important;
  margin: 7px 0 0 25px !important;
  padding: 0 !important;
  color: #b42318 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  white-space: normal !important;
}


/* ===== v1.0.14.2 – ausschließlich Datenschutz-Satz in einer Zeile ===== */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  column-gap: 3px !important;
  row-gap: 0 !important;
  white-space: nowrap !important;
  width: 100% !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox > .wpbc_wrap_checkbox {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 4px 0 0 !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox > .hhws-field-error {
  flex: 0 0 100% !important;
  width: 100% !important;
  white-space: normal !important;
  margin: 7px 0 0 25px !important;
}

@media (max-width: 720px) {
  .hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox {
    white-space: normal !important;
  }
}


/* ===== v1.0.14.3 – nur Abstand in der Datenschutz-Zeile enger ===== */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox {
  column-gap: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox > .wpbc_wrap_checkbox {
  margin-right: 1px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox .wpdev-list-item,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox .wpdev-list-item-label {
  margin-right: 0 !important;
  padding-right: 0 !important;
}


/* ===== v1.0.14.4 – Software-Zeile und Datenschutz-Abstände feinjustiert ===== */
.hhws-software__logo--more {
  color: #052a3e !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
.hhws-software__logo--more span {
  display: inline-block !important;
  max-width: 130px !important;
  line-height: 1.25 !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox {
  column-gap: 0 !important;
  row-gap: 0 !important;
  align-items: flex-start !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox > .wpbc_wrap_checkbox,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox > .hhws-consent-wrap {
  margin-right: 6px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-text {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #435761 !important;
  font-size: 11.8px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  white-space: nowrap !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-text a {
  color: #008242 !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-text .hhws-consent-part--intro {
  margin-right: 4px !important;
}


/* ===== v1.0.14.5 – nur Leerzeichen zwischen „stimme“ und „den“ absichern ===== */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-text.hhws-consent-part--intro {
  margin-right: 0 !important;
}


/* ===== v1.0.14.6 – Terminart optisch identisch zur Handwerkersoftware ===== */
.hhws-booking.is-reordered .hhws-field-appointment-type select.hhws-native-select-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
}


/* ===== v1.0.14.9 – Terminbereich neu ausbalanciert, Felder unverändert ===== */

/* Desktop: linke Information und rechter Buchungsbereich gleichwertig aufteilen. */
@media (min-width: 1101px) {
  .hhws-booking__panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
}

.hhws-booking__panel {
  align-items: stretch !important;
  overflow: hidden !important;
  background: #f5faf7 !important;
  border-color: #dbe7e0 !important;
  border-radius: 10px !important;
  box-shadow: 0 14px 36px rgba(5,42,62,.055) !important;
}

/* Linke Seite: mehr Luft und drei Terminarten wie im ursprünglichen Entwurf nebeneinander. */
.hhws-booking__intro {
  padding: 38px 34px 30px !important;
  background: linear-gradient(180deg,#fbfdfb 0%,#f1f7f3 100%) !important;
}
.hhws-booking__intro-copy {
  margin-bottom: 28px !important;
}
.hhws-booking__intro h2 {
  max-width: 500px !important;
  margin-bottom: 14px !important;
  font-size: clamp(30px,2.15vw,38px) !important;
  line-height: 1.04 !important;
}
.hhws-booking__intro p {
  max-width: 500px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
.hhws-booking__cards {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 12px !important;
  margin-top: 0 !important;
}
.hhws-booking-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 160px !important;
  padding: 18px 13px 16px !important;
  text-align: center !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 16px rgba(5,42,62,.04) !important;
}
.hhws-booking-card__icon {
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 0 12px !important;
  padding: 11px !important;
}
.hhws-booking-card strong {
  display: block !important;
  margin: 0 0 7px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  text-align: center !important;
}
.hhws-booking-card > span:last-child {
  display: block !important;
  max-width: 175px !important;
  margin: 0 auto !important;
  font-size: 10.5px !important;
  line-height: 1.4 !important;
  text-align: center !important;
}
.hhws-script-note {
  margin-top: 22px !important;
  padding-top: 0 !important;
}

/* Rechte Seite: Fläche vollständig nutzen, damit das Formular nicht in viel Leerraum schwimmt. */
.hhws-booking.is-reordered .hhws-booking__form {
  min-width: 0 !important;
  padding: 36px 34px 34px !important;
  background: #f2f7f3 !important;
  border-left: 1px solid #dbe7e0 !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head,
.hhws-booking.is-reordered .hhws-booking-embed {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head {
  margin-bottom: 15px !important;
  padding: 0 !important;
}
/* Schritt 1 / Schritt 2 bewusst ausblenden; Titel darunter bleibt erhalten. */
.hhws-booking.is-reordered .hhws-booking__form-head .hhws-form-head-step {
  display: none !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head > span:not(.hhws-form-head-step) {
  font-size: 24px !important;
  line-height: 1.08 !important;
}
.hhws-booking.is-reordered .hhws-booking__form-head small {
  max-width: 680px !important;
  margin-top: 7px !important;
  font-size: 12px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed {
  min-width: 0 !important;
  padding: 27px 28px 24px !important;
  background: #ffffff !important;
  border: 1px solid #d9e5de !important;
  border-radius: 9px !important;
  box-shadow: 0 9px 24px rgba(5,42,62,.045) !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard__border_container,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc__row,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc__field {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Formular optisch kompakt, aber nicht gequetscht. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child) {
  margin-bottom: 14px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="text"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="email"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="tel"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="number"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select__button {
  min-height: 44px !important;
  background: #fbfdfc !important;
  border-color: #cadbd1 !important;
  border-radius: 6px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input:focus,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select:focus,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea:focus,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select.is-open .hhws-custom-select__button {
  background: #ffffff !important;
  border-color: #008242 !important;
  box-shadow: 0 0 0 3px rgba(0,130,66,.10) !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions {
  margin-top: 20px !important;
  padding-top: 18px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions .hhws-step-btn--primary {
  min-height: 44px !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
  background: #008242 !important;
  border-color: #008242 !important;
  box-shadow: 0 7px 16px rgba(0,130,66,.14) !important;
}

/* Kalenderansicht: beide Spalten bleiben innerhalb der weißen Karte. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child {
  display: grid !important;
  grid-template-columns: minmax(0,.9fr) minmax(285px,1.1fr) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: start !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_calendar_wraper,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_calendar,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline .datepick-month,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline td,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline th,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline .datepick-days-cell {
  height: 45px !important;
  min-height: 45px !important;
  line-height: 45px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline .datepick-days-cell a,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline .datepick-days-cell span {
  min-height: 43px !important;
  line-height: 45px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > div {
  min-height: 44px !important;
  border-radius: 6px !important;
}

/* Auswahl deutlich als volle Hartl-grüne Fläche darstellen – nicht nur als kleiner Rahmen. */
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date .wpbc-cell-box,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected .wpbc-cell-box,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day .wpbc-cell-box {
  background: #008242 !important;
  background-color: #008242 !important;
  color: #ffffff !important;
  border-color: #008242 !important;
  box-shadow: inset 0 0 0 999px #008242 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date *,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected *,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day * {
  color: #ffffff !important;
  background-color: transparent !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .wpbc_time_selected,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .hhws-time-pressing {
  color: #ffffff !important;
  background: #008242 !important;
  border-color: #008242 !important;
  box-shadow: inset 0 0 0 1px #008242 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .wpbc_time_selected * {
  color: #ffffff !important;
}

/* Legende in der Kalenderhälfte kompakter, damit nichts nach rechts übersteht. */
.hhws-booking.is-reordered .hhws-booking-embed .block_hints {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 14px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-legend-item {
  min-height: 42px !important;
  padding: 7px 9px !important;
}

/* Mittlere Breiten: zwei Bereiche untereinander statt zusammengequetscht. */
@media (max-width: 1100px) {
  .hhws-booking__panel {
    grid-template-columns: 1fr !important;
  }
  .hhws-booking__intro {
    border-right: 0 !important;
    border-bottom: 1px solid #dbe7e0 !important;
  }
  .hhws-booking.is-reordered .hhws-booking__form {
    border-left: 0 !important;
  }
}

@media (max-width: 760px) {
  .hhws-booking__intro {
    padding: 28px 20px 24px !important;
  }
  .hhws-booking__cards {
    grid-template-columns: 1fr !important;
  }
  .hhws-booking-card {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0,1fr) !important;
    text-align: left !important;
  }
  .hhws-booking-card__icon {
    grid-row: 1 / span 2 !important;
    margin: 0 !important;
  }
  .hhws-booking-card strong,
  .hhws-booking-card > span:last-child {
    grid-column: 2 !important;
    max-width: none !important;
    text-align: left !important;
  }
  .hhws-booking.is-reordered .hhws-booking__form {
    padding: 26px 18px !important;
  }
  .hhws-booking.is-reordered .hhws-booking-embed {
    padding: 22px 18px !important;
  }
  .hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}


/* ===== v1.0.14.10 – 40/60 Layout + Booking-Feinschliff ===== */

/* Desktop: mehr Raum für Formular/Kalender, linke Infoseite bleibt präsent. */
@media (min-width: 1101px) {
  .hhws-booking__panel {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
  }
}

/* Linke Seite im 40%-Bereich nicht quetschen. */
.hhws-booking__intro {
  padding-left: 30px !important;
  padding-right: 30px !important;
}
.hhws-booking__intro h2,
.hhws-booking__intro p {
  max-width: 100% !important;
}
.hhws-booking__cards {
  gap: 10px !important;
}
.hhws-booking-card {
  min-width: 0 !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.hhws-booking-card strong,
.hhws-booking-card > span:last-child {
  overflow-wrap: anywhere !important;
}

/* Im Formular-Schritt den kompletten Zusatzkopf oberhalb des Formulars entfernen. */
.hhws-page[data-hhws-flow-step="form"] .hhws-booking__form-head {
  display: none !important;
}

/* Nach Entfernen des Formular-Kopfs beginnt die weiße Karte sauber oben. */
.hhws-page[data-hhws-flow-step="form"] .hhws-booking__form {
  padding-top: 34px !important;
}

/* Trennlinien vor den Aktionen komplett entfernen. */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar {
  border-top: 0 !important;
  box-shadow: none !important;
  padding-top: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:last-child,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:last-child {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Formular: keine zusätzliche Linie direkt unter der Datenschutz-Zeile. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-wrap {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Kalenderauswahl: Hartl-Grün vollflächig + Zahl/Text sicher weiß. */
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date .wpbc-cell-box,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected .wpbc-cell-box,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day .wpbc-cell-box {
  background: #008242 !important;
  background-color: #008242 !important;
  border-color: #008242 !important;
  color: #fff !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date a,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date span,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date div,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected a,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected span,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected div,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day a,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day span,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day div {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
}

/* Kalender-Aktionsbuttons exakt gleich hoch und sauber ausgerichtet. */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar {
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-top: 22px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar > .hhws-step-btn--secondary,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar > .wpbc_bfb__btn,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar > .wpbc_bfb__btn input[type="button"],
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar > .wpbc_bfb__btn input[type="submit"] {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  box-sizing: border-box !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar > .hhws-step-btn--secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 18px !important;
  line-height: 1 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar > .wpbc_bfb__btn {
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar > .wpbc_bfb__btn input[type="button"],
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar > .wpbc_bfb__btn input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 18px !important;
  line-height: 1 !important;
}

/* Im Formular-Schritt ebenfalls keine künstliche Trennlinie vor dem Weiter-Button. */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form {
  margin-top: 20px !important;
}

@media (max-width: 1100px) {
  .hhws-page[data-hhws-flow-step="form"] .hhws-booking__form-head {
    display: none !important;
  }
}


/* ===== v1.0.14.11 – Ansprechpartner links + ruhiger Booking-Bereich ===== */

/* Zusatzkopf in beiden Booking-Schritten vollständig ausblenden. */
.hhws-booking .hhws-booking__form-head {
  display: none !important;
}
.hhws-booking.is-reordered .hhws-booking__form {
  padding-top: 34px !important;
}

/* Booking-Calendar setzt teils echte <hr>-Elemente als Trennlinien. Diese hier nicht anzeigen. */
.hhws-booking .hhws-booking-embed hr,
.hhws-booking .hhws-booking-embed .wpbc_wizard_step1 hr,
.hhws-booking .hhws-booking-embed .wpbc_wizard_step2 hr {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Ansprechpartner füllt den bislang leeren Bereich links sinnvoll auf. */
.hhws-booking-contact {
  width: 100% !important;
  max-width: 520px !important;
  margin: 24px auto 0 !important;
  padding: 20px 22px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid #dbe7e0 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 22px rgba(5,42,62,.045) !important;
  text-align: left !important;
}
.hhws-booking-contact__title {
  display: block !important;
  margin: 0 0 14px !important;
  color: #052a3e !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}
.hhws-booking-contact__row {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  min-width: 0 !important;
}
.hhws-booking-contact__photo,
.hhws-booking-contact__avatar {
  flex: 0 0 68px !important;
  width: 68px !important;
  height: 68px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  background: #eef7f1 !important;
}
.hhws-booking-contact__avatar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #008242 !important;
}
.hhws-booking-contact__avatar svg {
  width: 32px !important;
  height: 32px !important;
}
.hhws-booking-contact__copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 5px !important;
}
.hhws-booking-contact__copy h3 {
  margin: 0 0 2px !important;
  color: #052a3e !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
.hhws-booking-contact__copy a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  max-width: 100% !important;
  color: #052a3e !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
}
.hhws-booking-contact__copy a:hover {
  color: #008242 !important;
}
.hhws-booking-contact__icon {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  color: #008242 !important;
}
.hhws-booking-contact__icon svg {
  width: 16px !important;
  height: 16px !important;
}

/* Gewähltes Datum: unabhängig vom internen Booking-Calendar-Markup grüne Fläche + weiße Zahl. */
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected > *,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day > *,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date > * {
  background: #008242 !important;
  background-color: #008242 !important;
  border-color: #008242 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected *,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day *,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
}

/* Unterer separater Kontaktbereich ist in v1.0.14.11 in die linke Booking-Spalte gewandert. */
.hhws-contact {
  display: none !important;
}

@media (max-width: 760px) {
  .hhws-booking-contact {
    max-width: none !important;
    margin-top: 20px !important;
    padding: 17px !important;
  }
  .hhws-booking-contact__row {
    align-items: flex-start !important;
  }
  .hhws-booking-contact__photo,
  .hhws-booking-contact__avatar {
    flex-basis: 58px !important;
    width: 58px !important;
    height: 58px !important;
  }
}


/* ===== v1.0.14.12 – Kontakt wieder unten + kompakterer Buchungsbereich ===== */

/* Ansprechpartner wieder wie im ursprünglichen Entwurf unterhalb des Terminbereichs. */
.hhws-contact {
  display: block !important;
  padding: 30px 0 !important;
  background: linear-gradient(90deg,#f5faf6,#eef6f0) !important;
  border-top: 1px solid #e4ece7 !important;
}
.hhws-contact__grid {
  grid-template-columns: minmax(330px,1.08fr) minmax(260px,.9fr) minmax(280px,.9fr) !important;
  gap: 32px !important;
}
.hhws-contact__person {
  gap: 12px !important;
}
.hhws-contact__person-row {
  gap: 17px !important;
}
.hhws-contact__photo,
.hhws-contact__avatar {
  width: 84px !important;
  height: 84px !important;
  flex-basis: 84px !important;
}
.hhws-contact__title {
  font-size: clamp(19px,1.45vw,24px) !important;
}
.hhws-contact__person h3 {
  margin-bottom: 7px !important;
  font-size: 17px !important;
}
.hhws-contact__person a {
  gap: 7px !important;
  margin-top: 5px !important;
  font-size: 13px !important;
}
.hhws-contact__benefits {
  gap: 10px !important;
  padding-left: 26px !important;
}
.hhws-contact__benefits li {
  font-size: 13px !important;
  line-height: 1.42 !important;
}
.hhws-contact__question {
  grid-template-columns: 46px minmax(0,1fr) !important;
  gap: 14px !important;
  padding: 18px 20px !important;
}
.hhws-contact__question .hhws-icon {
  width: 40px !important;
  height: 40px !important;
}
.hhws-contact__question strong {
  font-size: 15px !important;
}
.hhws-contact__question small {
  font-size: 12px !important;
}

/* Der Ansprechpartner soll nicht zusätzlich in der linken Terminspalte erscheinen. */
.hhws-booking-contact {
  display: none !important;
}

/* Linke Seite behält den Text/Inhalt des ursprünglichen Entwurfs, aber ohne große Leerfläche. */
.hhws-booking__intro {
  height: auto !important;
  min-height: 0 !important;
  padding: 30px 26px 25px !important;
  justify-content: flex-start !important;
}
.hhws-booking__intro-copy {
  margin-bottom: 22px !important;
}
.hhws-booking__intro h2 {
  margin-bottom: 12px !important;
  font-size: clamp(28px,1.9vw,34px) !important;
  line-height: 1.06 !important;
}
.hhws-booking__intro p {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}
.hhws-booking__cards {
  gap: 9px !important;
}
.hhws-booking-card {
  min-height: 140px !important;
  padding: 16px 9px 14px !important;
}
.hhws-booking-card__icon {
  width: 44px !important;
  height: 44px !important;
  flex-basis: 44px !important;
  margin-bottom: 10px !important;
}
.hhws-booking-card strong {
  margin-bottom: 6px !important;
  font-size: 11.5px !important;
}
.hhws-booking-card > span:last-child {
  font-size: 10px !important;
  line-height: 1.35 !important;
}
.hhws-script-note {
  margin-top: 18px !important;
  font-size: 20px !important;
}

/* Rechte Seite kompakter: weniger Innenabstände und keine künstliche Mindesthöhe. */
.hhws-booking.is-reordered .hhws-booking__form {
  min-height: 0 !important;
  height: auto !important;
  padding: 22px 26px 24px !important;
  justify-content: flex-start !important;
}
.hhws-booking.is-reordered .hhws-booking-embed {
  min-height: 0 !important;
  height: auto !important;
  padding: 20px 22px 18px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_container,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_form,
.hhws-booking.is-reordered .hhws-booking-embed .booking_form,
.hhws-booking.is-reordered .hhws-booking-embed .booking_form_div,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc__form__div,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard__border_container,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 {
  min-height: 0 !important;
  height: auto !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 {
  align-content: start !important;
  justify-content: flex-start !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child) {
  margin-bottom: 10px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 label {
  margin-bottom: 5px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="text"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="email"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="tel"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="number"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select__button {
  min-height: 40px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form {
  position: static !important;
  margin-top: 14px !important;
  padding-top: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:last-child {
  min-height: 0 !important;
  height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Auch der Kalender-Schritt bleibt kompakt und wächst nur nach tatsächlichem Inhalt. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 {
  min-height: 0 !important;
  height: auto !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar {
  position: static !important;
  margin-top: 16px !important;
}

@media (max-width: 1100px) {
  .hhws-contact__grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .hhws-contact__question {
    grid-column: 1 / -1 !important;
    max-width: 520px !important;
  }
}
@media (max-width: 760px) {
  .hhws-contact {
    padding: 24px 0 !important;
  }
  .hhws-contact__grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .hhws-contact__benefits {
    border-left: 0 !important;
    padding-left: 0 !important;
  }
  .hhws-contact__photo,
  .hhws-contact__avatar {
    width: 72px !important;
    height: 72px !important;
    flex-basis: 72px !important;
  }
  .hhws-booking__intro,
  .hhws-booking.is-reordered .hhws-booking__form {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}


/* ===== v1.0.14.13 – linke Terminfläche voller nutzen + Formular kompakter ===== */

/* Etwas mehr Raum links als in 40/60, ohne dem Formular zu viel Breite zu nehmen. */
@media (min-width: 1101px) {
  .hhws-booking__panel {
    grid-template-columns: minmax(0, 45fr) minmax(0, 55fr) !important;
  }
}

/* Linke Hälfte wie im ursprünglichen Entwurf über die gesamte Höhe verteilen. */
.hhws-booking__intro {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  min-height: 100% !important;
  padding: 30px 28px 26px !important;
}
.hhws-booking__intro-copy {
  margin-bottom: 24px !important;
}
.hhws-booking__intro h2 {
  max-width: 560px !important;
  font-size: clamp(29px, 1.95vw, 35px) !important;
  line-height: 1.05 !important;
}
.hhws-booking__intro p {
  max-width: 550px !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
}
.hhws-booking__cards {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 11px !important;
  width: 100% !important;
}
.hhws-booking-card {
  min-height: 158px !important;
  padding: 17px 11px 15px !important;
  justify-content: flex-start !important;
}
.hhws-booking-card__icon {
  width: 50px !important;
  height: 50px !important;
  flex-basis: 50px !important;
  margin-bottom: 11px !important;
  padding: 12px !important;
}
.hhws-booking-card strong {
  font-size: 11.8px !important;
  line-height: 1.28 !important;
}
.hhws-booking-card > span:last-child {
  max-width: 180px !important;
  font-size: 10.4px !important;
  line-height: 1.42 !important;
}
/* Die Handschrift sitzt bewusst am unteren Ende der linken Fläche. */
.hhws-script-note {
  margin-top: auto !important;
  padding-top: 24px !important;
  padding-bottom: 4px !important;
  font-size: 20px !important;
}

/* Rechte Formularfläche dichter am tatsächlichen Inhalt halten. */
.hhws-booking.is-reordered .hhws-booking__form {
  padding: 16px 20px 18px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed {
  padding: 16px 18px 15px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row {
  min-height: 0 !important;
  height: auto !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child) {
  margin-bottom: 8px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 label {
  margin-bottom: 4px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="text"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="email"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="tel"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="number"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select__button {
  min-height: 38px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:last-child,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form {
  min-height: 0 !important;
  height: auto !important;
  margin-top: 10px !important;
  padding-top: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form {
  position: static !important;
  align-self: auto !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form .hhws-step-btn--primary {
  min-height: 40px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

@media (max-width: 1100px) {
  .hhws-booking__intro {
    min-height: 0 !important;
  }
  .hhws-script-note {
    margin-top: 20px !important;
  }
}
@media (max-width: 760px) {
  .hhws-booking__cards {
    grid-template-columns: 1fr !important;
  }
  .hhws-booking-card {
    min-height: 0 !important;
  }
}


/* ===== v1.0.14.14 – Dropdown vollständig sichtbar + Ansprechpartner in linker Terminfläche ===== */

/* Geöffnete Custom-Dropdowns müssen über nachfolgenden Booking-Calendar-Feldern liegen. */
.hhws-booking.is-reordered .hhws-booking-embed,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_container,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_form,
.hhws-booking.is-reordered .hhws-booking-embed .booking_form,
.hhws-booking.is-reordered .hhws-booking-embed .booking_form_div,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc__form__div,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc__field,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .bfb_element {
  overflow: visible !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-field-software,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-field-appointment-type {
  position: relative !important;
  overflow: visible !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-field-software {
  z-index: 120 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-field-appointment-type {
  z-index: 110 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select {
  position: relative !important;
  z-index: 20 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select.is-open {
  z-index: 9999 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select.is-open .hhws-custom-select__menu {
  z-index: 10000 !important;
  max-height: 300px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
}

/* Ansprechpartner nutzt den bisher leeren unteren Teil der linken Hälfte. */
.hhws-inline-contact {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: 26px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(0,130,66,.13) !important;
}
.hhws-inline-contact__photo-wrap,
.hhws-inline-contact__info {
  min-width: 0 !important;
  min-height: 118px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.hhws-inline-contact__photo-wrap {
  align-items: center !important;
}
.hhws-inline-contact__photo,
.hhws-inline-contact__avatar {
  width: 100px !important;
  height: 100px !important;
  flex: 0 0 100px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center top !important;
  background: #fff !important;
  border: 4px solid #fff !important;
  box-shadow: 0 8px 20px rgba(5,42,62,.10) !important;
}
.hhws-inline-contact__avatar {
  color: #008242 !important;
  background: #edf7f1 !important;
}
.hhws-inline-contact__avatar svg {
  width: 46px !important;
  height: 46px !important;
  fill: none !important;
  stroke: currentColor !important;
}
.hhws-inline-contact__info {
  align-items: flex-start !important;
  padding: 4px 4px !important;
  background: transparent !important;
}
.hhws-inline-contact__eyebrow,
.hhws-inline-contact__info > strong {
  display: block !important;
  margin: 0 0 6px !important;
  color: #052a3e !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}
.hhws-inline-contact__info h3 {
  margin: 0 0 8px !important;
  color: #008242 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}
.hhws-inline-contact__info a {
  display: flex !important;
  align-items: flex-start !important;
  gap: 7px !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #173746 !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
}
.hhws-inline-contact__info a:hover {
  color: #008242 !important;
}
.hhws-inline-contact__icon {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  margin-top: 1px !important;
  color: #008242 !important;
}
.hhws-inline-contact__icon svg {
  width: 100% !important;
  height: 100% !important;
  fill: none !important;
  stroke: currentColor !important;
}
.hhws-inline-contact__info small {
  display: block !important;
  margin-top: 8px !important;
  color: #5a6d77 !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
}
/* Die Handschrift bleibt direkt über dem neuen Ansprechpartnerblock statt am absoluten unteren Rand. */
.hhws-script-note {
  margin-top: 24px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Der bisherige untere Kontakt-/Footerblock ist in v1.0.14.14 aus dem Markup entfernt. */

@media (max-width: 1100px) {
  .hhws-inline-contact {
    max-width: 760px !important;
  }
}
@media (max-width: 760px) {
  .hhws-inline-contact {
    grid-template-columns: 90px minmax(0,1fr) !important;
    gap: 12px 16px !important;
  }
  .hhws-inline-contact__photo-wrap {
    grid-row: 1 / span 2 !important;
  }
  .hhws-inline-contact__photo,
  .hhws-inline-contact__avatar {
    width: 82px !important;
    height: 82px !important;
    flex-basis: 82px !important;
  }
  .hhws-inline-contact__photo-wrap,
  .hhws-inline-contact__info {
    min-height: 0 !important;
  }
  .hhws-inline-contact__info--mail {
    grid-column: 2 !important;
  }
}


/* ===== v1.0.14.15 – Ansprechpartner zurück in Footer + linke Terminfläche luftiger + optionaler Hinweis als Grafik ===== */

/* Der Ansprechpartner sitzt wieder ausschließlich im Kontakt-/Footerbereich. */
.hhws-inline-contact {
  display: none !important;
}

/* Linke Spalte: Überschrift, Einleitung und Terminarten mit mehr Luft statt gedrängt. */
.hhws-booking__intro {
  padding: 34px 30px 28px !important;
}
.hhws-booking__intro-copy {
  margin-bottom: 0 !important;
}
.hhws-booking__intro h2 {
  margin-bottom: 18px !important;
}
.hhws-booking__intro p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.hhws-booking__cards {
  margin-top: 34px !important;
}

/* Freie Fläche unten für den Hinweis nutzen. Text bleibt pflegbar; Upload-Grafik ersetzt ihn optional. */
.hhws-script-note {
  width: 100% !important;
  min-height: 116px !important;
  margin-top: 26px !important;
  padding: 12px 8px 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-align: center !important;
}
.hhws-script-note__text {
  display: inline-block !important;
}
.hhws-script-note__arrow {
  display: inline-block !important;
  flex: 0 0 auto !important;
}
.hhws-script-note--image {
  min-height: 150px !important;
}
.hhws-script-note--image img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: min(88%, 420px) !important;
  max-height: 150px !important;
  object-fit: contain !important;
}

/* Kontaktbereich unten wieder sichtbar und etwas präsenter wie vor v1.0.14.14. */
.hhws-contact {
  display: block !important;
  padding: 28px 0 30px !important;
}
.hhws-contact__grid {
  align-items: center !important;
}
.hhws-contact__photo,
.hhws-contact__avatar {
  width: 86px !important;
  height: 86px !important;
  flex-basis: 86px !important;
}
.hhws-contact__title {
  font-size: 18px !important;
}
.hhws-contact__person-copy h3 {
  font-size: 16px !important;
}

@media (max-width: 1100px) {
  .hhws-booking__intro {
    padding: 28px 24px !important;
  }
  .hhws-booking__cards {
    margin-top: 26px !important;
  }
  .hhws-script-note {
    min-height: 88px !important;
  }
}
@media (max-width: 760px) {
  .hhws-booking__intro h2 {
    margin-bottom: 13px !important;
  }
  .hhws-booking__cards {
    margin-top: 22px !important;
  }
  .hhws-script-note,
  .hhws-script-note--image {
    min-height: 0 !important;
    margin-top: 20px !important;
  }
  .hhws-script-note--image img {
    max-width: 92% !important;
    max-height: 110px !important;
  }
}


/* ===== v1.0.14.16 – optionale Grafik als vollbreiter Abschluss der linken Terminspalte ===== */
/* Nur die Bildvariante wird zum echten unteren Banner. Der normale Handschrift-Text bleibt unverändert. */
.hhws-booking__intro .hhws-script-note--image {
  align-self: stretch !important;
  flex: 0 0 auto !important;
  width: calc(100% + 60px) !important;
  height: var(--hhws-note-image-height, 220px) !important;
  min-height: var(--hhws-note-image-height, 220px) !important;
  max-height: none !important;
  margin: auto -30px -28px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 18px 18px 0 0 !important;
  background: transparent !important;
  line-height: 0 !important;
}
.hhws-booking__intro .hhws-script-note--image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 18px 18px 0 0 !important;
}

@media (max-width: 1100px) {
  .hhws-booking__intro .hhws-script-note--image {
    width: calc(100% + 48px) !important;
    margin-left: -24px !important;
    margin-right: -24px !important;
    margin-bottom: -28px !important;
  }
}
@media (max-width: 760px) {
  .hhws-booking__intro .hhws-script-note--image {
    width: calc(100% + 48px) !important;
    height: min(var(--hhws-note-image-height, 220px), 220px) !important;
    min-height: min(var(--hhws-note-image-height, 220px), 220px) !important;
    margin: 22px -24px -28px !important;
    border-radius: 16px 16px 0 0 !important;
  }
  .hhws-booking__intro .hhws-script-note--image img {
    border-radius: 16px 16px 0 0 !important;
  }
}


/* ===== v1.0.14.17 – Hero, Nutzenleiste, Formular-Farben, Software & Wizard-Fix ===== */

/* HERO: rechte Bildhälfte deutlich freier, Badge entfernt, klarer CTA wie beim Handwerkerforum. */
.hhws-hero {
  min-height: 505px !important;
  background:
    linear-gradient(90deg, rgba(3,20,31,.98) 0%, rgba(3,20,31,.94) 30%, rgba(3,20,31,.68) 47%, rgba(3,20,31,.24) 68%, rgba(3,20,31,.08) 100%),
    var(--hhws-hero-image, none),
    var(--hhws-navy) !important;
  background-size: cover !important;
  background-position: center center !important;
}
.hhws-hero::after {
  background: linear-gradient(180deg, transparent 78%, rgba(0,0,0,.08)) !important;
}
.hhws-hero__inner {
  min-height: 505px !important;
  grid-template-columns: minmax(520px,700px) 1fr !important;
  gap: 20px !important;
  padding-top: 48px !important;
  padding-bottom: 50px !important;
}
.hhws-hero__visual,
.hhws-hero__badge {
  display: none !important;
}
.hhws-hero__copy {
  max-width: 650px !important;
}
.hhws-hero__tagline {
  margin-bottom: 24px !important;
}
.hhws-hero__claim {
  max-width: 560px !important;
  margin-bottom: 10px !important;
  font-size: clamp(34px,3vw,48px) !important;
  line-height: 1.03 !important;
}
.hhws-hero__lead {
  max-width: 565px !important;
  margin-bottom: 24px !important;
  font-size: clamp(17px,1.35vw,20px) !important;
  line-height: 1.42 !important;
}
.hhws-hero__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  min-height: 48px !important;
  padding: 12px 22px !important;
  color: #fff !important;
  background: #008242 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.16) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.hhws-hero__cta:hover {
  background: #006f38 !important;
  color: #fff !important;
}
.hhws-hero__cta span {
  font-size: 20px !important;
  line-height: 1 !important;
}

/* Direkt unter dem Hero: Aufbau bewusst nach dem Handwerkerforum-Prinzip. */
.hhws-value-strip {
  width: 100% !important;
  padding: 34px 0 36px !important;
  background: #fff !important;
  border-bottom: 1px solid #edf1ef !important;
}
.hhws-value-strip__grid {
  display: grid !important;
  grid-template-columns: minmax(250px,1.15fr) repeat(4,minmax(170px,1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
}
.hhws-value-strip__intro,
.hhws-value-strip__item {
  min-width: 0 !important;
  padding: 8px 26px !important;
}
.hhws-value-strip__intro {
  padding-left: 0 !important;
}
.hhws-value-strip__intro h2 {
  margin: 0 0 10px !important;
  color: #052a3e !important;
  font-size: clamp(22px,1.7vw,29px) !important;
  font-weight: 900 !important;
  line-height: 1.06 !important;
  text-transform: none !important;
}
.hhws-value-strip__intro p {
  margin: 0 !important;
  color: #435761 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}
.hhws-value-strip__item {
  display: grid !important;
  grid-template-columns: 18px minmax(0,1fr) !important;
  align-content: center !important;
  gap: 10px !important;
  border-left: 1px solid #e6ece8 !important;
}
.hhws-value-strip__item .hhws-list-check {
  width: 18px !important;
  height: 18px !important;
  margin-top: 1px !important;
  color: #008242 !important;
}
.hhws-value-strip__item p {
  margin: 0 !important;
  color: #173746 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.46 !important;
}
.hhws-value-strip__item strong {
  color: #052a3e !important;
  font-weight: 900 !important;
}

/* Software-Zeile: vier Logos + ein sauberer Textblock + Statement; Titel mit grüner Linie. */
.hhws-software .hhws-section-title--compact {
  margin-bottom: 24px !important;
}
.hhws-software .hhws-section-title--compact > span {
  display: block !important;
  width: 36px !important;
  height: 3px !important;
  margin-top: 11px !important;
  background: #008242 !important;
  border-radius: 999px !important;
}
.hhws-software__row {
  grid-template-columns: repeat(5,minmax(0,1fr)) minmax(260px,1.45fr) !important;
  gap: 14px !important;
}
.hhws-software__logo {
  min-height: 84px !important;
}
.hhws-software__logo--more {
  padding-left: 18px !important;
  padding-right: 18px !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
}
.hhws-software__logo--more span {
  max-width: 160px !important;
}

/* Buchungsbereich: beide Seiten sitzen auf derselben Grundfläche. */
.hhws-booking__panel {
  align-items: stretch !important;
  background: #f2f8f4 !important;
}
.hhws-booking__intro,
.hhws-booking__form {
  background: transparent !important;
}
.hhws-booking__intro {
  border-right-color: rgba(0,130,66,.12) !important;
}

/* Das eigentliche Booking-Formular wie der grüne Handwerkerforum-Formularblock. */
.hhws-booking.is-reordered .hhws-booking-embed {
  background: #008242 !important;
  border: 0 !important;
  border-radius: 7px !important;
  box-shadow: 0 10px 26px rgba(5,42,62,.10) !important;
  padding: 20px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 {
  background: transparent !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 label,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 label,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_field_description,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 .wpbc_field_description {
  color: #fff !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="text"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="email"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="tel"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="number"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select__button {
  background: #fff !important;
  color: #052a3e !important;
  border-color: rgba(255,255,255,.95) !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 ::placeholder {
  color: #78878f !important;
  opacity: 1 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox label,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-wrap label,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-text {
  color: #fff !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox a,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-wrap a,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .hhws-consent-text a {
  color: #fff !important;
  text-decoration: underline !important;
}

/* Primärer Weiter-Button über komplette Formularbreite und dunkelblau. */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form {
  width: 100% !important;
  display: block !important;
  margin-top: 14px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form .hhws-step-btn--primary {
  width: 100% !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: #052a3e !important;
  border-color: #052a3e !important;
  border-radius: 3px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form .hhws-step-btn--primary:hover {
  background: #0a405a !important;
  border-color: #0a405a !important;
}

/* Kalender-Schritt bleibt auf der grünen Fläche, Kalender/Slots selbst lesbar weiß. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field {
  background: rgba(255,255,255,.98) !important;
  border-radius: 6px !important;
  padding: 16px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field *,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field label {
  color: #052a3e !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 .datepick-days-cell.datepick-selected,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 .datepick-days-cell.hhws-user-selected-date,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 .datepick-days-cell.datepick-selected *,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 .datepick-days-cell.hhws-user-selected-date * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar .wpbc_bfb__btn input[type="button"],
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar .wpbc_bfb__btn input[type="submit"] {
  background: #052a3e !important;
  border-color: #052a3e !important;
}

/* AJAX/Wizard-Sicherung: im Kalender-Schritt darf das Formular nie noch einmal darunter erscheinen. */
.hhws-page[data-hhws-flow-step="calendar"] .hhws-booking-embed .wpbc_wizard_step2 {
  display: none !important;
}
.hhws-page[data-hhws-flow-step="form"] .hhws-booking-embed .wpbc_wizard_step1 {
  display: none !important;
}

/* Ansprechpartner unten etwas präsenter, aber nicht überdimensioniert. */
.hhws-contact {
  padding: 36px 0 38px !important;
}
.hhws-contact__grid {
  grid-template-columns: minmax(360px,1.12fr) minmax(280px,.92fr) minmax(300px,.92fr) !important;
  gap: 38px !important;
}
.hhws-contact__photo,
.hhws-contact__avatar {
  width: 96px !important;
  height: 96px !important;
  flex-basis: 96px !important;
}
.hhws-contact__title {
  font-size: clamp(20px,1.5vw,25px) !important;
}
.hhws-contact__person h3,
.hhws-contact__person-copy h3 {
  font-size: 18px !important;
}
.hhws-contact__person a {
  font-size: 13.5px !important;
}
.hhws-contact__benefits li {
  font-size: 13.5px !important;
}
.hhws-contact__question {
  padding: 20px 22px !important;
}
.hhws-contact__question strong {
  font-size: 16px !important;
}
.hhws-contact__question small {
  font-size: 12.5px !important;
}

@media (max-width: 1180px) {
  .hhws-value-strip__grid {
    grid-template-columns: 1.25fr repeat(2,1fr) !important;
    row-gap: 18px !important;
  }
  .hhws-value-strip__item:nth-child(4) {
    border-left: 0 !important;
  }
  .hhws-software__row {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width: 760px) {
  .hhws-hero {
    min-height: 0 !important;
    background:
      linear-gradient(90deg, rgba(3,20,31,.96), rgba(3,20,31,.76)),
      var(--hhws-hero-image, none),
      var(--hhws-navy) !important;
  }
  .hhws-hero__inner {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    padding-top: 38px !important;
    padding-bottom: 40px !important;
  }
  .hhws-hero__brand {
    font-size: 42px !important;
  }
  .hhws-hero__tagline {
    white-space: normal !important;
  }
  .hhws-value-strip {
    padding: 28px 0 !important;
  }
  .hhws-value-strip__grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .hhws-value-strip__intro,
  .hhws-value-strip__item {
    padding: 14px 0 !important;
    border-left: 0 !important;
    border-top: 1px solid #e6ece8 !important;
  }
  .hhws-value-strip__intro {
    border-top: 0 !important;
  }
  .hhws-software__row {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .hhws-contact {
    padding: 28px 0 30px !important;
  }
  .hhws-contact__grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .hhws-contact__photo,
  .hhws-contact__avatar {
    width: 82px !important;
    height: 82px !important;
    flex-basis: 82px !important;
  }
}


/* ===== v1.0.14.18 – Feinschliff Hero, Versprechen, Software, Datenschutz, Buttons & Kalender ===== */
:root {
  --hhws-blue: #052a3e;
}

/* Hero: Bildbereich im Backend oben / mittig / unten wählbar. Rechts bleibt das Bild möglichst frei. */
.hhws-hero {
  background-position: var(--hhws-hero-position, center center) !important;
  background:
    linear-gradient(90deg, rgba(3,20,31,.97) 0%, rgba(3,20,31,.91) 29%, rgba(3,20,31,.58) 47%, rgba(3,20,31,.16) 67%, rgba(3,20,31,.02) 100%),
    var(--hhws-hero-image, none),
    var(--hhws-navy) !important;
  background-size: cover !important;
  background-position: var(--hhws-hero-position, center center) !important;
}
.hhws-hero__tagline,
.hhws-hero__tagline * {
  color: #fff !important;
}
.hhws-hero__claim span {
  color: #fff !important;
}

/* CTA wie beim Handwerkerforum: links angeschrägt und Pfeil direkt am Text. */
.hhws-hero__cta,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form .hhws-step-btn--primary {
  border-radius: 0 !important;
  clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%) !important;
  padding-left: 28px !important;
  padding-right: 24px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form .hhws-step-btn--primary::after {
  content: '→' !important;
  display: inline-block !important;
  margin-left: 13px !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar .wpbc_bfb__btn {
  position: relative !important;
  clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%) !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar .wpbc_bfb__btn::after {
  content: '→' !important;
  position: absolute !important;
  right: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #fff !important;
  pointer-events: none !important;
  font-size: 17px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar .wpbc_bfb__btn input {
  padding-right: 38px !important;
  border-radius: 0 !important;
}

/* "Unsere Versprechen" – ruhiger horizontaler Nutzenteil nach Handwerkerforum-Prinzip. */
.hhws-promise-strip {
  padding: 30px 0 32px !important;
}
.hhws-promise-strip .hhws-value-strip__grid {
  grid-template-columns: minmax(250px,1.12fr) repeat(5,minmax(145px,1fr)) !important;
  align-items: center !important;
}
.hhws-promise-strip .hhws-value-strip__intro h2 {
  text-transform: uppercase !important;
  font-size: clamp(21px,1.55vw,27px) !important;
  margin-bottom: 8px !important;
}
.hhws-promise-strip .hhws-value-strip__intro p {
  max-width: 260px !important;
}
.hhws-promise-strip .hhws-value-strip__item {
  min-height: 74px !important;
  padding: 10px 18px !important;
}
.hhws-promise-strip .hhws-value-strip__item p {
  font-size: 12.4px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

/* Software: nur vier Logos. Der dunkle Kasten übernimmt den "weitere Lösungen"-Hinweis. */
.hhws-software__row {
  grid-template-columns: repeat(4,minmax(0,1fr)) minmax(300px,1.55fr) !important;
  gap: 14px !important;
}
.hhws-software__statement--more {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 84px !important;
  padding: 14px 24px !important;
  text-align: center !important;
  color: #fff !important;
  background: #052a3e !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

/* Formular: lange Datenschutz-Einwilligung sauber wie beim Handwerkerforum. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox {
  display: grid !important;
  grid-template-columns: 17px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 9px !important;
  white-space: normal !important;
  width: 100% !important;
  margin-top: 4px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox > .wpbc_wrap_checkbox,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox > .hhws-consent-wrap {
  margin: 2px 0 0 !important;
  width: 17px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-text--long {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255,255,255,.96) !important;
  font-size: 10.6px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-text--long a {
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_inline_checkbox > .hhws-field-error {
  grid-column: 2 !important;
  width: auto !important;
  margin: 6px 0 0 !important;
}

/* Dropdown-Auswahl bewusst dunkelblau statt noch mehr Grün. */
.hhws-custom-select__option:hover,
.hhws-custom-select__option:focus,
.hhws-custom-select__option.is-active,
.hhws-custom-select__option.is-selected {
  color: #fff !important;
  background: #052a3e !important;
}
.hhws-custom-select.is-open .hhws-custom-select__button {
  border-color: #052a3e !important;
  box-shadow: 0 0 0 2px rgba(5,42,62,.10) !important;
}
.hhws-custom-select__button::after {
  border-right-color: #052a3e !important;
  border-bottom-color: #052a3e !important;
}

/* Kalender: beide weißen Karten gleich hoch, rechte Kalenderhälfte besser ausnutzen. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child {
  grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr) !important;
  align-items: stretch !important;
  gap: 18px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field {
  display: flex !important;
  flex-direction: column !important;
  min-height: 470px !important;
  height: 100% !important;
  padding: 16px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_calendar_wraper,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_calendar,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-one-month,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline .datepick-month,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline table {
  width: 100% !important;
  max-width: none !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .block_hints {
  margin-top: auto !important;
  padding-top: 14px !important;
}

/* Dünnere neutrale Zellkonturen; Auswahl vollständig dunkelblau ohne helle Innenkontur. */
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline .datepick-days-cell,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-inline .datepick-days-cell .wpbc-cell-box {
  border-color: #dce5e0 !important;
  border-width: 1px !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date .wpbc-cell-box,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected .wpbc-cell-box,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day .wpbc-cell-box {
  background: #052a3e !important;
  background-color: #052a3e !important;
  color: #fff !important;
  border-color: #052a3e !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date *,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected *,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .wpbc_time_selected,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .hhws-time-pressing {
  color: #fff !important;
  background: #052a3e !important;
  border-color: #052a3e !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .wpbc_time_selected * {
  color: #fff !important;
}

@media (max-width: 1180px) {
  .hhws-promise-strip .hhws-value-strip__grid {
    grid-template-columns: 1fr repeat(2,1fr) !important;
  }
  .hhws-software__row {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .hhws-software__statement--more {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 760px) {
  .hhws-promise-strip .hhws-value-strip__grid {
    grid-template-columns: 1fr !important;
  }
  .hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field {
    min-height: 0 !important;
  }
  .hhws-hero {
    background-position: var(--hhws-hero-position, center center) !important;
  }
}


/* ===== v1.0.14.19 – Versprechen wie Handwerkerforum + Datenschutz-Fix ===== */
.hhws-promise-strip {
  padding: 32px 0 34px !important;
  background: #fff !important;
}
.hhws-promise-strip__grid {
  display: grid !important;
  grid-template-columns: minmax(250px,1.05fr) repeat(3,minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
}
.hhws-promise-strip__intro {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 8px 28px 8px 0 !important;
}
.hhws-promise-strip__icon {
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #008242 !important;
}
.hhws-promise-strip__icon svg,
.hhws-promise-strip__icon img {
  width: 46px !important;
  height: 46px !important;
  object-fit: contain !important;
}
.hhws-promise-strip__intro h2 {
  margin: 0 !important;
  color: #052a3e !important;
  font-size: clamp(22px,1.55vw,29px) !important;
  font-weight: 800 !important;
  line-height: 1.04 !important;
  text-transform: none !important;
}
.hhws-promise-strip__group {
  min-height: 96px !important;
  display: grid !important;
  grid-template-rows: repeat(2,minmax(0,1fr)) !important;
  align-content: center !important;
  gap: 12px !important;
  padding: 10px 28px !important;
  border-left: 1px solid #e1e8e4 !important;
}
.hhws-promise-strip__point {
  display: grid !important;
  grid-template-columns: 21px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 9px !important;
  color: #263a48 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}
.hhws-promise-strip__point .hhws-list-check {
  width: 18px !important;
  height: 18px !important;
  margin-top: 0 !important;
  color: #008242 !important;
}
.hhws-promise-strip__point .hhws-list-check svg {
  width: 18px !important;
  height: 18px !important;
}

/* Nebenkarte bei den Schnittstellen: Aussagen an Flyer/Versprechen angeglichen. */
.hhws-profile ul {
  gap: 10px !important;
}
.hhws-profile li {
  line-height: 1.32 !important;
}

/* Datenschutz: nur echtes Kontrollkästchen links; kein zweites "Ich stimme" aus dem Booking-Calendar-Markup. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox {
  display: grid !important;
  grid-template-columns: 18px minmax(0,1fr) !important;
  align-items: start !important;
  column-gap: 10px !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 7px 0 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-checkbox-slot {
  display: flex !important;
  width: 18px !important;
  height: 18px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-checkbox-slot input[type="checkbox"] {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #052a3e !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-text--long {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 10.8px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-text--long a {
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_inline_checkbox > .hhws-field-error {
  grid-column: 2 !important;
  margin: 6px 0 0 !important;
}

@media (max-width: 980px) {
  .hhws-promise-strip__grid {
    grid-template-columns: minmax(220px,1fr) repeat(2,minmax(0,1fr)) !important;
  }
  .hhws-promise-strip__group:last-child {
    grid-column: 2 / 4 !important;
    border-top: 1px solid #e1e8e4 !important;
  }
}
@media (max-width: 700px) {
  .hhws-promise-strip__grid {
    grid-template-columns: 1fr !important;
  }
  .hhws-promise-strip__intro,
  .hhws-promise-strip__group,
  .hhws-promise-strip__group:last-child {
    grid-column: auto !important;
    border-left: 0 !important;
    border-top: 1px solid #e1e8e4 !important;
    padding: 16px 0 !important;
  }
  .hhws-promise-strip__intro {
    border-top: 0 !important;
  }
}


/* ===== v1.0.14.20 – Handwerkerforum-Nähe: kompakter Versprechen-Strip + Formular neu ausbalanciert ===== */

/* Direkt unter dem Hero: kompakter, dunkler Nutzen-Strip wie beim Handwerkerforum. */
.hhws-promise-strip {
  padding: 0 !important;
  background: #052a3e !important;
  border: 0 !important;
  box-shadow: none !important;
}
.hhws-promise-strip .hhws-inner {
  max-width: var(--hhws-max-width) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.hhws-promise-strip__grid {
  display: grid !important;
  grid-template-columns: minmax(260px,1.38fr) repeat(5,minmax(140px,1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-height: 104px !important;
}
.hhws-promise-strip__intro {
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
  padding: 18px 24px 18px 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.hhws-promise-strip__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  color: #00a65a !important;
  flex: 0 0 46px !important;
}
.hhws-promise-strip__icon svg,
.hhws-promise-strip__icon img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
}
.hhws-promise-strip__intro-copy {
  min-width: 0 !important;
}
.hhws-promise-strip__intro h2 {
  margin: 0 0 5px !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  text-transform: none !important;
}
.hhws-promise-strip__intro p {
  margin: 0 !important;
  max-width: 255px !important;
  color: rgba(255,255,255,.76) !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  line-height: 1.38 !important;
}
.hhws-promise-strip__item {
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr) !important;
  align-content: center !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  padding: 18px 15px !important;
  border-left: 1px solid rgba(255,255,255,.16) !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  color: #fff !important;
}
.hhws-promise-strip__item .hhws-list-check {
  width: 20px !important;
  height: 20px !important;
  color: #00a65a !important;
}
.hhws-promise-strip__item .hhws-list-check svg {
  width: 20px !important;
  height: 20px !important;
}
.hhws-promise-strip__item > span:last-child {
  color: #fff !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.34 !important;
}

/* Schnittstellen-Nebenkarte: ruhiger und etwas näher an den Flyer-Aussagen. */
.hhws-profile {
  background: linear-gradient(180deg,#f6fbf7 0%,#eef7f1 100%) !important;
  border-color: #e0ebe4 !important;
}
.hhws-profile h3 {
  margin-bottom: 18px !important;
  font-size: 18px !important;
  line-height: 1.08 !important;
}
.hhws-profile ul {
  gap: 11px !important;
}
.hhws-profile li {
  align-items: flex-start !important;
  font-size: 11.5px !important;
  line-height: 1.38 !important;
}

/* Buchungsbereich: gleiche Grundhöhe, aber das Formular wirkt wie ein bewusstes grünes Panel statt wie eine gefärbte Leerstelle. */
.hhws-booking__panel {
  align-items: stretch !important;
  overflow: hidden !important;
  border-radius: 9px !important;
  background: #f5faf7 !important;
  box-shadow: 0 10px 28px rgba(5,42,62,.05) !important;
}
.hhws-booking__intro {
  background: #f5faf7 !important;
  border-right: 1px solid rgba(5,42,62,.08) !important;
}
.hhws-booking.is-reordered .hhws-booking__form {
  background: linear-gradient(180deg,#008c48 0%,#008242 100%) !important;
  padding: 22px 24px 20px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 {
  display: grid !important;
  align-content: start !important;
  gap: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child) {
  margin-bottom: 12px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 label {
  color: #fff !important;
  margin-bottom: 6px !important;
  font-size: 11.5px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="text"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="email"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="tel"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input[type="number"],
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select__button {
  min-height: 42px !important;
  padding: 9px 12px !important;
  color: #052a3e !important;
  background: #fff !important;
  border: 1px solid rgba(5,42,62,.13) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  font-size: 12px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select__button {
  padding-right: 38px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form {
  margin-top: 18px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form .hhws-step-btn--primary {
  width: 100% !important;
  min-height: 44px !important;
  justify-content: center !important;
  color: #fff !important;
  background: #052a3e !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(10px 0,100% 0,100% 100%,0 100%) !important;
  box-shadow: none !important;
}

/* Datenschutz stabil und sauber innerhalb des grünen Formulars. */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-host,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_inline_checkbox.hhws-consent-host {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui {
  display: grid !important;
  grid-template-columns: 18px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 9px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 11px 0 2px !important;
  color: #fff !important;
  background: transparent !important;
  border-top: 1px solid rgba(255,255,255,.26) !important;
  cursor: pointer !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui__box {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: 1px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui input[type="checkbox"] {
  appearance: auto !important;
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #052a3e !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui__copy {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  color: rgba(255,255,255,.96) !important;
  font-size: 10.4px !important;
  font-weight: 500 !important;
  line-height: 1.48 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui__copy a {
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-host > .hhws-field-error {
  margin: 6px 0 0 27px !important;
  color: #fff !important;
  font-size: 10.5px !important;
}

/* Kontaktbereich etwas präsenter, aber weiterhin leichter als der Hauptinhalt. */
.hhws-contact {
  padding: 34px 0 36px !important;
  background: linear-gradient(90deg,#f4faf6,#eef7f1) !important;
}
.hhws-contact__grid {
  gap: 38px !important;
  align-items: center !important;
}
.hhws-contact__photo,
.hhws-contact__avatar {
  width: 94px !important;
  height: 94px !important;
  flex-basis: 94px !important;
}
.hhws-contact__title {
  font-size: 21px !important;
  margin-bottom: 8px !important;
}
.hhws-contact__person h3 {
  font-size: 18px !important;
}
.hhws-contact__person a,
.hhws-contact__benefits li {
  font-size: 13px !important;
}
.hhws-contact__question {
  padding: 20px 22px !important;
}
.hhws-contact__question strong {
  font-size: 16px !important;
}
.hhws-contact__question small {
  font-size: 12px !important;
}

@media (max-width: 1320px) {
  .hhws-promise-strip__grid {
    grid-template-columns: minmax(245px,1.25fr) repeat(5,minmax(120px,1fr)) !important;
  }
  .hhws-promise-strip__item {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
  .hhws-promise-strip__item > span:last-child {
    font-size: 10px !important;
  }
}
@media (max-width: 1040px) {
  .hhws-promise-strip__grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  .hhws-promise-strip__intro {
    grid-column: 1 / -1 !important;
    padding-left: 18px !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
  }
  .hhws-promise-strip__item:nth-child(2),
  .hhws-promise-strip__item:nth-child(5) {
    border-left: 0 !important;
  }
}
@media (max-width: 700px) {
  .hhws-promise-strip__grid {
    grid-template-columns: 1fr !important;
  }
  .hhws-promise-strip__intro,
  .hhws-promise-strip__item {
    border-left: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    padding: 14px 18px !important;
  }
  .hhws-promise-strip__item:last-child {
    border-bottom: 0 !important;
  }
  .hhws-booking.is-reordered .hhws-booking__form {
    padding: 20px 18px !important;
  }
  .hhws-contact__photo,
  .hhws-contact__avatar {
    width: 80px !important;
    height: 80px !important;
    flex-basis: 80px !important;
  }
}


/* ===== v1.0.14.21 – Unser Versprechen als heller Inhaltsbereich statt blauem Strip ===== */
.hhws-promise-strip,
.hhws-value-strip.hhws-promise-strip {
  display: none !important;
}
.hhws-promise-section {
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 34px 0 36px !important;
}
.hhws-promise-section .hhws-inner {
  max-width: var(--hhws-max-width) !important;
}
.hhws-promise-section__grid {
  display: grid !important;
  grid-template-columns: minmax(270px,1.12fr) repeat(3,minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
}
.hhws-promise-section__intro {
  display: grid !important;
  grid-template-columns: 52px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 16px !important;
  padding: 4px 34px 4px 0 !important;
  min-width: 0 !important;
}
.hhws-promise-section__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  color: #008c48 !important;
}
.hhws-promise-section__icon svg,
.hhws-promise-section__icon img {
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
}
.hhws-promise-section__intro h2 {
  margin: 0 0 8px !important;
  color: #052a3e !important;
  font-size: 24px !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  text-transform: none !important;
}
.hhws-promise-section__intro p {
  margin: 0 !important;
  max-width: 330px !important;
  color: #435761 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.48 !important;
}
.hhws-promise-section__group {
  display: grid !important;
  align-content: center !important;
  gap: 18px !important;
  padding: 4px 28px !important;
  border-left: 1px solid #e5ece8 !important;
  min-width: 0 !important;
}
.hhws-promise-section__point {
  display: grid !important;
  grid-template-columns: 20px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 9px !important;
  color: #052a3e !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.38 !important;
}
.hhws-promise-section__point .hhws-list-check {
  width: 18px !important;
  height: 18px !important;
  margin-top: 0 !important;
  color: #008c48 !important;
}
.hhws-promise-section__point .hhws-list-check svg {
  width: 18px !important;
  height: 18px !important;
}

@media (max-width: 1050px) {
  .hhws-promise-section__grid {
    grid-template-columns: 1fr 1fr !important;
    row-gap: 26px !important;
  }
  .hhws-promise-section__intro {
    grid-column: 1 / -1 !important;
    padding-right: 0 !important;
  }
  .hhws-promise-section__group {
    border-left: 0 !important;
    border-top: 1px solid #e5ece8 !important;
    padding: 22px 0 0 !important;
  }
  .hhws-promise-section__group:last-child {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 700px) {
  .hhws-promise-section {
    padding: 28px 0 30px !important;
  }
  .hhws-promise-section__grid {
    grid-template-columns: 1fr !important;
  }
  .hhws-promise-section__intro {
    grid-template-columns: 42px minmax(0,1fr) !important;
    gap: 12px !important;
  }
  .hhws-promise-section__icon {
    width: 40px !important;
    height: 40px !important;
  }
  .hhws-promise-section__icon svg,
  .hhws-promise-section__icon img {
    width: 38px !important;
    height: 38px !important;
  }
  .hhws-promise-section__intro h2 {
    font-size: 21px !important;
  }
  .hhws-promise-section__group,
  .hhws-promise-section__group:last-child {
    grid-column: auto !important;
  }
}


/* ===== v1.0.14.23 – Vorteilsbereich in voller Containerbreite ===== */
.hhws-promise-section--forum {
  background: #fff !important;
  padding: 34px 0 26px !important;
  border: 0 !important;
  box-shadow: none !important;
}
.hhws-promise-section--forum .hhws-inner {
  width: min(100%, var(--hhws-max-width)) !important;
  max-width: var(--hhws-max-width) !important;
  margin: 0 auto !important;
}
.hhws-promise-forum__grid {
  display: grid !important;
  grid-template-columns: minmax(250px, 1.18fr) repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: stretch !important;
  width: 100% !important;
}
.hhws-promise-forum__intro {
  display: grid !important;
  grid-template-columns: 44px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 8px 34px 8px 0 !important;
  min-width: 0 !important;
}
.hhws-promise-forum__icon {
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #008c48 !important;
}
.hhws-promise-forum__icon svg,
.hhws-promise-forum__icon img {
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
}
.hhws-promise-forum__intro h2 {
  margin: 0 0 8px !important;
  color: #052a3e !important;
  font-size: 23px !important;
  line-height: 1.04 !important;
  font-weight: 850 !important;
  text-transform: none !important;
}
.hhws-promise-forum__intro p {
  margin: 0 !important;
  max-width: 220px !important;
  color: #435761 !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
  font-weight: 500 !important;
}
.hhws-promise-forum__group {
  display: grid !important;
  align-content: center !important;
  gap: 16px !important;
  padding: 8px 18px !important;
  border-left: 1px solid #e2e8e5 !important;
  min-width: 0 !important;
}
.hhws-promise-forum__point {
  display: grid !important;
  grid-template-columns: 18px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  color: #052a3e !important;
  font-size: 13px !important;
  line-height: 1.34 !important;
  font-weight: 600 !important;
}
.hhws-promise-forum__point .hhws-list-check {
  width: 16px !important;
  height: 16px !important;
  margin-top: 1px !important;
  color: #008c48 !important;
}
.hhws-promise-forum__point .hhws-list-check svg {
  width: 16px !important;
  height: 16px !important;
}
.hhws-promise-forum__bridge {
  margin: 24px 0 0 !important;
  padding: 0 !important;
  color: #008c48 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 750 !important;
  text-align: center !important;
}

@media (max-width: 1240px) {
  .hhws-promise-forum__grid {
    grid-template-columns: minmax(260px, 1.1fr) repeat(2, minmax(0, 1fr)) !important;
    row-gap: 20px !important;
  }
  .hhws-promise-forum__intro {
    grid-column: 1 / -1 !important;
    padding-right: 0 !important;
  }
  .hhws-promise-forum__group {
    padding: 20px 18px 0 !important;
    border-top: 1px solid #e2e8e5 !important;
  }
  .hhws-promise-forum__group:nth-of-type(2),
  .hhws-promise-forum__group:nth-of-type(4) {
    border-left: 0 !important;
  }
}
@media (max-width: 900px) {
  .hhws-promise-forum__grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .hhws-promise-forum__group:last-child {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 700px) {
  .hhws-promise-section--forum {
    padding: 28px 0 24px !important;
  }
  .hhws-promise-forum__grid {
    grid-template-columns: 1fr !important;
  }
  .hhws-promise-forum__intro {
    grid-template-columns: 40px minmax(0,1fr) !important;
    gap: 12px !important;
  }
  .hhws-promise-forum__group,
  .hhws-promise-forum__group:last-child {
    grid-column: auto !important;
    border-left: 0 !important;
    padding: 16px 0 0 !important;
  }
  .hhws-promise-forum__bridge {
    margin-top: 20px !important;
    text-align: left !important;
  }
}



/* ===== v1.0.14.24 – 1:1 Aufbauprinzip des Handwerkerforum-Herausforderungen-Bereichs ===== */
.hhws-promise-section--forum {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 26px 0 8px !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.hhws-promise-forum__wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: var(--hhws-content-left) !important;
  padding-right: var(--hhws-content-right) !important;
}
.hhws-promise-forum__card {
  width: 100% !important;
  margin: 0 !important;
  padding: 30px 0 30px !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}
.hhws-promise-forum__grid {
  display: grid !important;
  grid-template-columns: minmax(350px,430px) minmax(0,1fr) !important;
  align-items: start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.hhws-promise-forum__intro {
  display: grid !important;
  grid-template-columns: 66px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 0 !important;
  min-height: 116px !important;
  padding: 0 clamp(28px,2.4vw,38px) 0 0 !important;
  border: 0 !important;
}
.hhws-promise-forum__intro-text { min-width: 0 !important; }
.hhws-promise-forum__icon {
  display: inline-flex !important;
  align-self: center !important;
  justify-self: start !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58px !important;
  height: 48px !important;
  color: #008242 !important;
}
.hhws-promise-forum__icon svg,
.hhws-promise-forum__icon img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.hhws-promise-forum__intro h2 {
  margin: 0 0 18px !important;
  color: #142333 !important;
  font-family: Lato,Arial,Helvetica,sans-serif !important;
  font-size: clamp(24px,1.75vw,30px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em !important;
  text-align: left !important;
}
.hhws-promise-forum__intro p {
  margin: 0 !important;
  max-width: none !important;
  color: #253340 !important;
  font-family: Lato,Arial,Helvetica,sans-serif !important;
  font-size: clamp(14px,1vw,16.5px) !important;
  font-weight: 500 !important;
  line-height: 1.46 !important;
  text-align: left !important;
}
.hhws-promise-forum__questions {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
}
.hhws-promise-forum__column {
  position: relative !important;
  display: grid !important;
  align-content: start !important;
  gap: 14px !important;
  min-height: 116px !important;
  margin: 0 !important;
  padding: 4px 20px 4px 22px !important;
  border-left: 1px solid #e4e9e7 !important;
  list-style: none !important;
}
.hhws-promise-forum__point {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 16px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #1d2a36 !important;
  font-family: Lato,Arial,Helvetica,sans-serif !important;
  font-size: clamp(13.5px,.92vw,15px) !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  text-align: left !important;
  list-style: none !important;
}
.hhws-promise-forum__point .hhws-list-check {
  display: inline-flex !important;
  width: 15px !important;
  height: 15px !important;
  margin-top: .16em !important;
  color: #008242 !important;
}
.hhws-promise-forum__point .hhws-list-check svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.hhws-promise-forum__bridge {
  margin: 28px 0 0 !important;
  padding: 0 !important;
  color: #008242 !important;
  font-family: Lato,Arial,Helvetica,sans-serif !important;
  font-size: clamp(18px,1.3vw,22px) !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  text-align: center !important;
}
@media (max-width:1460px) {
  .hhws-promise-forum__grid { grid-template-columns: minmax(320px,390px) minmax(0,1fr) !important; }
  .hhws-promise-forum__intro { padding-right: 28px !important; }
  .hhws-promise-forum__column { padding-right:16px !important; padding-left:18px !important; }
}
@media (max-width:1180px) {
  .hhws-promise-forum__grid { grid-template-columns:1fr !important; }
  .hhws-promise-forum__intro {
    grid-template-columns:62px minmax(0,1fr) !important;
    padding:0 0 22px !important;
    margin-bottom:2px !important;
    min-height:0 !important;
    border-bottom:1px solid #e4e9e7 !important;
  }
  .hhws-promise-forum__icon { width:54px !important; height:45px !important; }
  .hhws-promise-forum__questions { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:0 24px !important; }
  .hhws-promise-forum__column { min-height:0 !important; padding:16px 12px 0 0 !important; border-left:0 !important; }
  .hhws-promise-forum__questions .hhws-promise-forum__column:nth-child(even) { border-left:1px solid #e4e9e7 !important; padding-left:24px !important; }
}
@media (max-width:680px) {
  .hhws-promise-forum__wrap { padding-left:20px !important; padding-right:20px !important; }
  .hhws-promise-forum__card { padding:24px 0 !important; }
  .hhws-promise-forum__intro { grid-template-columns:52px minmax(0,1fr) !important; gap:14px !important; }
  .hhws-promise-forum__icon { width:46px !important; height:40px !important; }
  .hhws-promise-forum__questions { grid-template-columns:1fr !important; gap:0 !important; }
  .hhws-promise-forum__column,
  .hhws-promise-forum__questions .hhws-promise-forum__column:nth-child(even) {
    padding:14px 0 0 !important;
    border-left:0 !important;
  }
  .hhws-promise-forum__bridge { margin-top:24px !important; font-size:18px !important; }
}


/* ===== v1.0.14.25: Feinschliff Hero, Versprechen, Formular und Nebenkarte ===== */
.hhws-hero__brand { margin-bottom: 14px !important; }
.hhws-hero__tagline {
  margin-bottom: 32px !important;
  letter-spacing: .01em !important;
}
.hhws-hero__claim {
  margin-bottom: 18px !important;
}
.hhws-hero__lead {
  margin-bottom: 32px !important;
}
.hhws-hero__cta {
  margin-top: 4px !important;
}

/* Versprechen-Bereich: gleiche Breite wie die anderen Container, ohne Zusatzsatz unten. */
.hhws-promise-section--forum {
  padding: 26px 0 20px !important;
}
.hhws-promise-section--forum .hhws-inner.hhws-promise-forum__wrap {
  width: 100% !important;
  max-width: var(--hhws-max-width) !important;
  margin: 0 auto !important;
  padding-left: var(--hhws-content-left) !important;
  padding-right: var(--hhws-content-right) !important;
}
.hhws-promise-forum__wrap {
  width: 100% !important;
  max-width: var(--hhws-max-width) !important;
  margin: 0 auto !important;
}
.hhws-promise-forum__card {
  padding: 0 !important;
}
.hhws-promise-forum__grid {
  grid-template-columns: minmax(290px, 340px) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
}
.hhws-promise-forum__intro {
  min-height: 0 !important;
  padding: 8px 36px 8px 0 !important;
}
.hhws-promise-forum__intro h2 {
  margin-bottom: 12px !important;
  font-size: clamp(22px, 1.6vw, 28px) !important;
}
.hhws-promise-forum__intro p {
  font-size: clamp(14px, .96vw, 16px) !important;
  line-height: 1.48 !important;
}
.hhws-promise-forum__questions {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
}
.hhws-promise-forum__column {
  min-height: 0 !important;
  padding: 6px 18px 6px 20px !important;
}
.hhws-promise-forum__point {
  font-size: clamp(13.5px, .9vw, 15px) !important;
  line-height: 1.4 !important;
}
.hhws-promise-forum__bridge {
  display: none !important;
}

/* Nebenkarte rechts: optisch stärker und besser passend zum Raster. */
.hhws-support__layout {
  grid-template-columns: minmax(0, 1fr) 320px !important;
}
.hhws-profile {
  padding: 22px 24px 24px !important;
  background: linear-gradient(180deg,#f7fbf8 0%,#edf6ef 100%) !important;
}
.hhws-profile h3 {
  margin-bottom: 14px !important;
  font-size: 20px !important;
  line-height: 1.08 !important;
}
.hhws-profile ul {
  gap: 11px !important;
  margin-top: 0 !important;
}
.hhws-profile li {
  font-size: 12.8px !important;
  line-height: 1.42 !important;
}

/* Datenschutz / Checkbox im Formular stabil und klickbar. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc_inline_checkbox.hhws-consent-host,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-host {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui {
  display: grid !important;
  grid-template-columns: 18px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid rgba(255,255,255,.26) !important;
  background: transparent !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui__box {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: 1px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui input[type="checkbox"] {
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  margin: 0 !important;
  accent-color: #052a3e !important;
  cursor: pointer !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui__copy,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui__copy *,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui__copy a {
  display: inline !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.48 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-decoration-color: rgba(255,255,255,.88) !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui__copy {
  cursor: pointer !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui__copy a {
  font-weight: 700 !important;
  text-decoration: underline !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-host > .hhws-field-error,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_inline_checkbox > .hhws-field-error {
  display: block !important;
  margin: 6px 0 0 28px !important;
  color: #fff !important;
  font-size: 11px !important;
}

@media (max-width: 1180px) {
  .hhws-promise-forum__grid {
    grid-template-columns: 1fr !important;
  }
  .hhws-promise-forum__intro {
    padding: 0 0 22px !important;
  }
  .hhws-promise-forum__questions {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .hhws-support__layout {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 760px) {
  .hhws-promise-forum__questions {
    grid-template-columns: 1fr !important;
  }
  .hhws-promise-forum__column {
    padding: 14px 0 0 !important;
    border-left: 0 !important;
    border-top: 1px solid #e4e9e7 !important;
  }
}


/* ===== v1.0.14.26 – nur gezielte Korrekturen ===== */
/* Hero auf Desktop ca. 25 % höher, damit das hinterlegte Bild mehr Raum bekommt. */
@media (min-width: 761px) {
  .hhws-hero { min-height: 630px !important; }
  .hhws-hero__inner { min-height: 630px !important; }
}

/* Versprechen wieder exakt in der Gestaltung von v1.0.14.24; nur der Satz darunter bleibt entfernt. */
.hhws-promise-section--forum {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 26px 0 8px !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.hhws-promise-forum__wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: var(--hhws-content-left) !important;
  padding-right: var(--hhws-content-right) !important;
}
.hhws-promise-forum__card {
  width: 100% !important;
  margin: 0 !important;
  padding: 30px 0 30px !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}
.hhws-promise-forum__grid {
  display: grid !important;
  grid-template-columns: minmax(350px,430px) minmax(0,1fr) !important;
  align-items: start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.hhws-promise-forum__intro {
  display: grid !important;
  grid-template-columns: 66px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 0 !important;
  min-height: 116px !important;
  padding: 0 clamp(28px,2.4vw,38px) 0 0 !important;
  border: 0 !important;
}
.hhws-promise-forum__intro h2 {
  margin: 0 0 18px !important;
  font-size: clamp(24px,1.75vw,30px) !important;
  line-height: 1.1 !important;
}
.hhws-promise-forum__intro p {
  margin: 0 !important;
  max-width: none !important;
  font-size: clamp(14px,1vw,16.5px) !important;
  line-height: 1.46 !important;
}
.hhws-promise-forum__questions {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
}
.hhws-promise-forum__column {
  display: grid !important;
  align-content: start !important;
  gap: 14px !important;
  min-height: 116px !important;
  margin: 0 !important;
  padding: 4px 20px 4px 22px !important;
  border-left: 1px solid #e4e9e7 !important;
}
.hhws-promise-forum__point {
  font-size: clamp(13.5px,.92vw,15px) !important;
  line-height: 1.42 !important;
}
.hhws-promise-forum__bridge { display: none !important; }

/* Kurze, funktionierende Zustimmung wie in der früheren funktionierenden Version. */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 9px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact .hhws-consent-ui__box {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"] {
  display: block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  accent-color: #052a3e !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact .hhws-consent-ui__copy,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact .hhws-consent-ui__copy * {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  cursor: pointer !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact .hhws-consent-ui__copy a {
  color: #fff !important;
  font-weight: 750 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
}

@media (max-width:1460px) {
  .hhws-promise-forum__grid { grid-template-columns: minmax(320px,390px) minmax(0,1fr) !important; }
  .hhws-promise-forum__intro { padding-right: 28px !important; }
  .hhws-promise-forum__column { padding-right:16px !important; padding-left:18px !important; }
}
@media (max-width:1180px) {
  .hhws-promise-forum__grid { grid-template-columns:1fr !important; }
  .hhws-promise-forum__intro {
    grid-template-columns:62px minmax(0,1fr) !important;
    padding:0 0 22px !important;
    margin-bottom:2px !important;
    min-height:0 !important;
    border-bottom:1px solid #e4e9e7 !important;
  }
  .hhws-promise-forum__questions { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:0 24px !important; }
  .hhws-promise-forum__column { min-height:0 !important; padding:16px 12px 0 0 !important; border-left:0 !important; border-top:0 !important; }
  .hhws-promise-forum__questions .hhws-promise-forum__column:nth-child(even) { border-left:1px solid #e4e9e7 !important; padding-left:24px !important; }
}
@media (max-width:680px) {
  .hhws-promise-forum__wrap { padding-left:20px !important; padding-right:20px !important; }
  .hhws-promise-forum__card { padding:24px 0 !important; }
  .hhws-promise-forum__intro { grid-template-columns:52px minmax(0,1fr) !important; gap:14px !important; }
  .hhws-promise-forum__questions { grid-template-columns:1fr !important; gap:0 !important; }
  .hhws-promise-forum__column,
  .hhws-promise-forum__questions .hhws-promise-forum__column:nth-child(even) {
    padding:14px 0 0 !important;
    border-left:0 !important;
    border-top:0 !important;
  }
}


/* ===== v1.0.14.27 – nur Formular-/Wizard-Fixes ===== */
/* Formular nutzt die gesamte rechte grüne Fläche. */
.hhws-booking.is-reordered .hhws-booking__form,
.hhws-booking.is-reordered .hhws-booking-embed,
.hhws-booking.is-reordered .hhws-booking-embed > div,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_container,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_form,
.hhws-booking.is-reordered .hhws-booking-embed .booking_form,
.hhws-booking.is-reordered .hhws-booking-embed .booking_form_div,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc__form__div,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard__border_container,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row {
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  flex: 0 0 100% !important;
  box-sizing: border-box !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child) {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 > .wpbc__row:not(:last-child):has(> .wpbc__field:nth-child(2)) {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  column-gap: 18px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .wpbc__field,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 .bfb_element,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 input:not([type="checkbox"]):not([type="button"]):not([type="submit"]),
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 select,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step2 textarea,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-custom-select__button,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--form {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Schritt wirklich exklusiv anzeigen – verhindert das zweite Formular unter dem Kalender. */
.hhws-page[data-hhws-flow-step="calendar"] .hhws-booking-embed .wpbc_wizard_step2,
.hhws-page[data-hhws-flow-step="calendar"] .hhws-booking-embed .wpbc_wizard_step2[style] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}
.hhws-page[data-hhws-flow-step="form"] .hhws-booking-embed .wpbc_wizard_step1,
.hhws-page[data-hhws-flow-step="form"] .hhws-booking-embed .wpbc_wizard_step1[style] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}
.hhws-page[data-hhws-flow-step="calendar"] .hhws-booking-embed .wpbc_wizard_step1 {
  display: block !important;
  visibility: visible !important;
}
.hhws-page[data-hhws-flow-step="form"] .hhws-booking-embed .wpbc_wizard_step2 {
  display: block !important;
  visibility: visible !important;
}

/* Zustimmung: weißes Feld, bei Auswahl dunkelblau – klar vom grünen Hintergrund abgesetzt. */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(5,42,62,.45) !important;
  border-radius: 2px !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.22) !important;
  cursor: pointer !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]:checked {
  background: #052a3e !important;
  border-color: #052a3e !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]:checked::after {
  content: "✓" !important;
  position: absolute !important;
  left: 2px !important;
  top: -2px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 16px !important;
}

/* Beim finalen Button kein zusätzlicher Pfeil. */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar .wpbc_bfb__btn::after {
  content: none !important;
  display: none !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-step-actions--calendar .wpbc_bfb__btn input {
  padding-right: 16px !important;
}


/* ===== v1.0.14.28 – nur Auswahlzustände + kleine Kalenderbreite + leichtere Versprechen-Texte ===== */
/* Zustimmung: Haken exakt mittig im Kästchen. */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]:checked::after {
  content: "✓" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -52%) !important;
  width: auto !important;
  height: auto !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  pointer-events: none !important;
}

/* Ausgewählte Uhrzeit: dunkelblau mit sicher weißer Schrift. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .wpbc_time_selected,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .hhws-time-selected,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .hhws-time-pressing {
  background: #052a3e !important;
  background-color: #052a3e !important;
  border-color: #052a3e !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: none !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .wpbc_time_selected *,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .hhws-time-selected *,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_times_selector > .hhws-time-pressing * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Ausgewähltes Datum: komplette dunkelblaue Fläche + weiße Zahl. */
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date .wpbc-cell-box,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected .wpbc-cell-box,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day.hhws-user-selected-date,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day.hhws-user-selected-date .wpbc-cell-box {
  background: #052a3e !important;
  background-color: #052a3e !important;
  border-color: #052a3e !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: inset 0 0 0 999px #052a3e !important;
  outline: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.hhws-user-selected-date *,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-selected *,
.hhws-booking.is-reordered .hhws-booking-embed .datepick-days-cell.datepick-current-day.hhws-user-selected-date * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* Datum-Karte etwas breiter, damit der vorhandene Platz rechts besser genutzt wird. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child {
  grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr) !important;
  gap: 18px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .wpbc_calendar_wraper,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .wpbc_calendar,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-inline,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-one-month,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-month,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) table {
  width: 100% !important;
  max-width: none !important;
}

/* Nur die erklärenden Texte im Bereich „Reibungslose Datenübertragung“ etwas leichter. */
.hhws-promise-forum__intro p,
.hhws-promise-forum__point {
  font-weight: 400 !important;
}

@media (max-width: 900px) {
  .hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child {
    grid-template-columns: 1fr !important;
  }
}


/* ===== v1.0.14.29 – nur Checkbox-Haken sauber und dunkelblau ===== */
/* Kein Font-Zeichen mehr für den Haken: das verhindert die L-/Ecken-Darstellung in Chrome. */
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1.5px solid #052a3e !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]::before,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]::after {
  content: none !important;
  display: none !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]:checked {
  background-color: #052a3e !important;
  border-color: #052a3e !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.3 6.4 11.3 12.8 4.7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 13px 13px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(5,42,62,.35) !important;
  outline-offset: 2px !important;
}


/* ===== v1.0.14.30 – nur Kalenderbreite + leichtere Benefit-Texte ===== */
/* Kalender-/Datumsfeld nutzt die komplette verfügbare rechte Fläche. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) > *,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .wpbc_calendar_wraper,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .wpbc_calendar,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-inline,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-one-month,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-month,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) table,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .block_hints {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-inline {
  display: block !important;
}

/* Nur die Texte neben/unter „Reibungslose Datenübertragung“ leichter – Überschrift bleibt kräftig. */
.hhws-promise-forum__intro p,
.hhws-promise-forum__intro p *,
.hhws-promise-forum__point,
.hhws-promise-forum__point > span:last-child,
.hhws-promise-forum__column li,
.hhws-promise-forum__column li > span:last-child {
  font-weight: 400 !important;
}


/* ===== v1.0.14.31 – Kalender wirklich auf volle Breite der rechten Karte ===== */
/* Booking Calendar setzt intern teilweise feste Breiten/Floats. Diese Regeln gelten nur
   fuer die zweite Karte (Datum) im Kalenderschritt und lassen den Rest unveraendert. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) {
  --wpbc-width-calendar: 100% !important;
  --wpbc-calendar-width: 100% !important;
  --wpbc_cal_width: 100% !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .wpbc_calendar_wraper,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .wpbc_calendar,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-inline,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-one-month,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-month,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-month-row,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-month-header,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) table {
  display: block !important;
  float: none !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) table {
  display: table !important;
  table-layout: fixed !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-one-month {
  flex: 1 1 100% !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-inline th,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-inline td,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .datepick-inline .datepick-days-cell {
  width: 14.285714% !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .block_hints {
  width: 100% !important;
  max-width: 100% !important;
}


/* ===== v1.0.14.32 – tatsächlichen Booking-Calendar-Innenwrapper verbreitern ===== */
/* Im Frontend begrenzt .bfb_element den Kalender trotz breiter .wpbc__field-Karte auf ca. 300px.
   Deshalb nur im Datumsfeld des Kalenderschritts diesen internen Wrapper auf die volle Breite ziehen. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .bfb_element,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .wpbc_form_element,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .wpbc_form_field {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 1 1 100% !important;
  flex-basis: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .bfb_element > *,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .bfb_element .wpbc_calendar_wraper,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .bfb_element .datepick-inline,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .bfb_element .datepick-one-month,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .bfb_element .datepick-month,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 > .wpbc__row:first-child > .wpbc__field:nth-child(2) .bfb_element table {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}


/* ===== v1.0.14.33 – Kalenderbreite robust über den echten Datumsblock ===== */
/* :has() dient nur als CSS-Fallback; die eigentliche Breite wird zusätzlich per JS
   aus dem sichtbaren Datumsfeld gemessen und inline gesetzt. */
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 .wpbc__field:has(.datepick-inline) .bfb_element,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 .bfb_element:has(.datepick-inline),
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 .wpbc__field:has(.datepick-inline) .datepick-inline,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 .wpbc__field:has(.datepick-inline) .datepick-one-month,
.hhws-booking.is-reordered .hhws-booking-embed .wpbc_wizard_step1 .wpbc__field:has(.datepick-inline) .datepick-month {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 100% !important;
  box-sizing: border-box !important;
}


/* ===== v1.0.14.34 – Inhaltsupdates / zwei Terminarten / Profilabstand ===== */
.hhws-booking__cards.hhws-booking__cards--2 {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 14px !important;
}
.hhws-booking__cards.hhws-booking__cards--2 .hhws-booking-card {
  min-height: 158px !important;
}
.hhws-profile h3 {
  margin-bottom: 24px !important;
}
.hhws-profile ul {
  gap: 14px !important;
}
@media (max-width: 760px) {
  .hhws-booking__cards.hhws-booking__cards--2 {
    grid-template-columns: 1fr !important;
  }
}


/* ===== v1.0.14.38 – Buchungsbestätigung / Checkbox / Lato / Kontaktleiste ===== */
.hhws-page,
.hhws-page *,
.hhws-page input,
.hhws-page select,
.hhws-page textarea,
.hhws-page button {
  font-family: Lato, Arial, Helvetica, sans-serif !important;
}

.hhws-booking-embed .hhws-confirmation-notice {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.hhws-booking-embed .hhws-confirmation-booking-id {
  border-left: 4px solid #008242 !important;
  padding-left: 14px !important;
}

.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"] {
  background-color: transparent !important;
  background-image: none !important;
  border: 1.5px solid rgba(255,255,255,.98) !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]::before,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]::after {
  content: none !important;
  display: none !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]:checked {
  background-color: transparent !important;
  border-color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.1 8.5 6.3 11.4 12.9 4.8' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 12px 12px !important;
}
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]:focus,
.hhws-booking.is-reordered .hhws-booking-embed .hhws-consent-ui--compact input[type="checkbox"]:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.22) !important;
}

.hhws-contact__benefits {
  display: none !important;
}
.hhws-contact__grid {
  grid-template-columns: minmax(330px,1.12fr) minmax(280px,.88fr) !important;
}
.hhws-contact__question {
  grid-column: auto !important;
}
@media (max-width: 1100px) {
  .hhws-contact__grid {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 760px) {
  .hhws-contact__grid {
    grid-template-columns: 1fr !important;
  }
}


/* ===== v1.0.14.39 – nur Datenschutz + zweispaltiger Footer ===== */
.hhws-contact__benefits { display: none !important; }
.hhws-contact__grid {
  grid-template-columns: minmax(330px,1.12fr) minmax(280px,.88fr) !important;
  align-items: center !important;
}
.hhws-contact__question {
  grid-column: auto !important;
  justify-self: stretch !important;
}
@media (max-width: 760px) {
  .hhws-contact__grid { grid-template-columns: 1fr !important; }
}


/* ===== v1.0.14.40 – zusammengeführte stabile Buchungsbestätigung ===== */
.hhws-page .hhws-booking__form .wpbc_ty__message,
.hhws-page .hhws-booking__form .wpbc_ty__message *,
.hhws-page .hhws-booking__form .wpbc_ty__section_message,
.hhws-page .hhws-booking__form .wpbc_ty__section_message *,
.hhws-page .hhws-booking__form .hhws-confirmation-headline,
.hhws-page .hhws-booking__form .hhws-confirmation-headline * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.hhws-page .hhws-booking__form .hhws-confirmation-details {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #052a3e !important;
}
.hhws-page .hhws-booking__form .hhws-confirmation-details :not(.wpbc_ty__message):not(.wpbc_ty__section_message),
.hhws-page .hhws-booking__form .hhws-confirmation-heading,
.hhws-page .hhws-booking__form .wpbc_ty__section_header,
.hhws-page .hhws-booking__form .wpbc_ty__section_customer *,
.hhws-page .hhws-booking__form .wpbc_ty__section_booking * {
  color: #052a3e !important;
  -webkit-text-fill-color: #052a3e !important;
}
.hhws-page .hhws-booking__form .hhws-confirmation-details a {
  color: #052a3e !important;
  -webkit-text-fill-color: #052a3e !important;
  text-decoration: underline !important;
}
.hhws-page .hhws-booking__form .hhws-confirmation-booking-id {
  border-left: 4px solid #008242 !important;
  padding-left: 14px !important;
}


/* ===== v1.0.14.43 – Mobile Hero: ohne Hintergrundbild, klarer Textumbruch ===== */
/* Nur Smartphones: Desktop, Tablet und andere Landingpage-Elemente bleiben unberührt. */
@media (max-width: 760px) {
  .hhws-page .hhws-hero {
    min-height: 0 !important;
    height: auto !important;
    background: #061f30 !important;
    background-image: none !important;
    background-color: #061f30 !important;
    overflow: hidden !important;
  }
  .hhws-page .hhws-hero::after {
    display: none !important;
    content: none !important;
  }
  .hhws-page .hhws-hero__inner {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    gap: 0 !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 46px 22px 50px !important;
  }
  .hhws-page .hhws-hero__copy {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 500px !important;
	margin-top: 100px !important;
  }
  .hhws-page .hhws-hero__brand {
    max-width: 100% !important;
    font-size: clamp(28px, 7vw, 36px) !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }
  .hhws-page .hhws-hero__tagline {
    max-width: 100% !important;
    margin-bottom: 18px !important;
    font-size: clamp(13px, 3.5vw, 15px) !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }
  .hhws-page .hhws-hero__claim {
    display: block !important;
    max-width: 11.7ch !important;
    margin: 0 0 18px !important;
    font-size: clamp(30px, 8vw, 38px) !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    letter-spacing: -.03em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  .hhws-page .hhws-hero__lead {
    width: 100% !important;
    max-width: 32ch !important;
    margin: 0 0 28px !important;
    font-size: clamp(16px, 4.5vw, 18px) !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
  }
  .hhws-page .hhws-hero__cta {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 320px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 14px 22px 14px 28px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
  .hhws-page .hhws-hero__cta span {
    flex: 0 0 auto !important;
  }
}
@media (max-width: 360px) {
  .hhws-page .hhws-hero__inner { padding-right: 19px !important; padding-left: 19px !important; }
  .hhws-page .hhws-hero__claim { font-size: 30px !important; }
  .hhws-page .hhws-hero__cta { font-size: 15px !important; }
}
