/* Homepage bands: explicit top-level sections, never nested cards. */
body.page-id-101 {
  --hz-home-band: #eef4f7;
  --hz-home-band-rgb: 238,244,247;
  --hz-home-paper: #fff;
}
body.page-id-101 .elementor-101 > :is(
  [data-id="1ec7215"], .hz-home-services, [data-id="7ddf364"],
  [data-id="ebfd343"], [data-id="c728a13"]
) {
  background: var(--hz-home-band) !important;
}
body.page-id-101 .elementor-101 > :is(
  [data-id="22d2fdf"], [data-id="f9f9e76"], [data-id="8ccd9b6"],
  .hz-partners
) {
  background: var(--hz-home-paper) !important;
}
body.page-id-101 .elementor-101 [data-id="3546979"] {
  background: transparent !important;
}
/* Match the hero's original image fade to the current band's color. */
body.page-id-101 .elementor-101 [data-id="3f906cc"]::after {
  background: linear-gradient(90deg,
    var(--hz-home-band) 0%,
    rgba(var(--hz-home-band-rgb),.95) 7%,
    rgba(var(--hz-home-band-rgb),.56) 21%,
    rgba(var(--hz-home-band-rgb),0) 42%);
}

/* The complete service grid follows the intro; two detailed features stay in
   their original scoped container, now a separate white section. */
body.page-id-101 .hz-home-services .hz-service-links-dark {
  margin-top: 0;
}
body.page-id-101 .hz-home-services .hz-service-links-dark h3 {
  margin: 0;
  text-wrap: wrap;
}
body.page-id-101 .hz-home-services [data-id="b3ffb3b"] {
  margin-bottom: 42px;
}

/* The featured section no longer needs the old nested section padding. */
body.page-id-101 .elementor-101 [data-id="f9f9e76"] [data-id="3546979"] {
  padding: 0;
  margin: 0;
  gap: 0;
}

/* Compact phone overview: the same service links become a numbered list.
   Desktop/tablet cards and the separate Bad/Heizung features stay unchanged. */
@media (max-width: 680px) {
  body.page-id-101 .hz-home-services .hz-home-service-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    border-top: 1px solid #c6d5df;
  }
  body.page-id-101 .hz-home-services .hz-home-service-grid > a {
    min-height: 64px;
    overflow: visible;
    border: 0;
    border-bottom: 1px solid #c6d5df;
    border-radius: 0;
    background: transparent;
    color: #202830 !important;
    box-shadow: none;
  }
  body.page-id-101 .hz-home-services .hz-home-service-grid > a::before,
  body.page-id-101 .hz-home-services .hz-home-service-grid .hz-service-image,
  body.page-id-101 .hz-home-services .hz-home-service-grid .hz-service-shade,
  body.page-id-101 .hz-home-services .hz-home-service-grid .hz-card > p {
    display: none !important;
  }
  body.page-id-101 .hz-home-services .hz-home-service-grid .hz-card {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    height: 100%;
    padding: 16px 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    transform: none;
    transition: none;
  }
  body.page-id-101 .hz-home-services .hz-home-service-grid .hz-num {
    position: static !important;
    display: block;
    width: auto;
    height: auto;
    margin: 0 !important;
    border-radius: 0;
    background: transparent;
    color: #00539c;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    font-variant-numeric: tabular-nums;
  }
  body.page-id-101 .hz-home-services .hz-home-service-grid .hz-card h3 {
    margin: 0;
    color: #202830 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }
  body.page-id-101 .hz-home-services .hz-home-service-grid .hz-service-arrow {
    position: static;
    width: 20px;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: #00539c;
    font-size: 20px;
    line-height: 1;
  }
  body.page-id-101 .hz-home-services .hz-home-service-grid > a:focus-visible {
    outline: 3px solid #00539c;
    outline-offset: 3px;
  }
}
