/* ==========================================================================
   Revisions stylesheet — overrides on top of wvw-re-launch.webflow.css
   Loaded last so these rules win.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. singel-feature-card: stretch the central image to match the height
      of the two stacked feature-card columns on either side, and remove
      the spacing gap below the image.
   -------------------------------------------------------------------------- */
.feature-card-wrapper {
  align-items: stretch;
}
.feature-card-wrapper > .singel-feature-card {
  height: 100%;
  align-self: stretch;
  margin-bottom: 0;
  padding: 0;
  overflow: hidden;
}
.singel-feature-card .image,
.singel-feature-card > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  border-radius: 24px;
  flex: 1 1 auto;
}

/* --------------------------------------------------------------------------
   2. CTA hover animations — applies to all primary CTA buttons site-wide.
   -------------------------------------------------------------------------- */
.button-link,
a.button-link,
.button-3,
.button-2,
.button-secondary,
.cta-section .button-link {
  transition:
    transform 220ms cubic-bezier(.2, .8, .2, 1),
    box-shadow 220ms ease,
    filter 220ms ease,
    background-color 220ms ease;
  will-change: transform;
}
.button-link:hover,
a.button-link:hover,
.button-3:hover,
.button-2:hover,
.button-secondary:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
  filter: brightness(1.05);
}
.button-link:active,
a.button-link:active,
.button-3:active,
.button-2:active,
.button-secondary:active {
  transform: translateY(0) scale(1);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .12);
}

/* Arrow icon nudge on hover */
.button-link .button_arrow-icon,
a.button-link .button_arrow-icon,
.button-3 .button_arrow-icon {
  transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
}
.button-link:hover .button_arrow-icon,
a.button-link:hover .button_arrow-icon,
.button-3:hover .button_arrow-icon {
  transform: translateX(4px) !important;
}

/* Generic anchor CTAs that sit on cards (links wrapping cta-image, etc.) */
a.cta-image-link {
  display: block;
  transition: transform 220ms cubic-bezier(.2, .8, .2, 1), box-shadow 220ms ease;
}
a.cta-image-link:hover {
  transform: translateY(-2px) scale(1.005);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .14);
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .button-link,
  a.button-link,
  .button-3,
  .button-2,
  .button-secondary,
  .button-link .button_arrow-icon,
  a.cta-image-link {
    transition: none !important;
  }
  .button-link:hover,
  a.button-link:hover,
  .button-3:hover,
  .button-2:hover,
  .button-secondary:hover,
  a.cta-image-link:hover {
    transform: none;
  }
}

/* --------------------------------------------------------------------------
   3. Reduce hero title size on hero-section.lp3 / display-h1 so the
      hero doesn't stretch overly tall on /institutionelle-kunden and
      sibling pages (banken, immobilienmakler, anwalte, family-offices,
      wirtschaftsprufer, versicherungen, professionelle-gutachter, …).
   -------------------------------------------------------------------------- */
.hero-section.lp3 .display-h1,
.hero-section.lp3 .display-h1.white,
.hero-section.lp1 .display-h1,
.hero-section .content-wrapper-hero-image .display-h1 {
  font-size: clamp(2rem, 3.4vw + 1rem, 3rem);
  line-height: 1.18;
  letter-spacing: -0.5px;
}

/* Also cap the hero image height so the image cannot stretch the section
   beyond a reasonable viewport-friendly maximum. */
.hero-section.lp3 .image-container,
.hero-section.lp3 .image-wrap {
  max-height: 480px;
}
.hero-section.lp3 .image-wrap {
  width: auto;
  height: 100%;
  max-height: 480px;
  object-fit: contain;
}

@media (max-width: 991px) {
  .hero-section.lp3 .display-h1,
  .hero-section.lp1 .display-h1 {
    font-size: clamp(1.75rem, 4.8vw, 2.4rem);
  }
  .hero-section.lp3 .image-container,
  .hero-section.lp3 .image-wrap {
    max-height: 360px;
  }
}

/* --------------------------------------------------------------------------
   4. Home page: enlarge .image-wbw on mobile only.
      body-17 is the home page body class.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  body.body-17 .image-wbw {
    width: 100%;
    max-width: 320px;
    height: auto;
    max-height: 240px;
  }
}
@media (max-width: 479px) {
  body.body-17 .image-wbw {
    max-width: 280px;
    max-height: 220px;
  }
}
