/* ideal-heim-bau V9.3 — consistent CTA system.
   SP Page Builder Pro 6 attaches CSS classes DIRECTLY TO the <a class="sppb-btn">.
   Loaded LAST to override generated per-addon blue button styling. */
:root {
  --ihb-cta-sand:#ead5b7;
  --ihb-cta-sand-hover:#f7e7d0;
  --ihb-cta-ink:#18334c;
  --ihb-cta-transition:background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}

/* PRIMARY & CONTACT actions: native, editable SPPB button addons.
   Also usable on later pages via the reusable ihb-btn-primary CSS class. */
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-hero-button,
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-cta-button,
body.ihb-page .ihb-content a.sppb-btn.ihb-btn-primary {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  max-width:100%!important;
  width:auto!important;
  min-height:60px!important;
  margin:8px 0 0!important;
  padding:18px 29px!important;
  border:1px solid var(--ihb-cta-sand)!important;
  border-radius:2px!important;
  background:var(--ihb-cta-sand)!important;
  background-image:none!important;
  color:var(--ihb-cta-ink)!important;
  box-shadow:0 8px 22px rgba(7,26,42,.16)!important;
  font-family:var(--ihb-sans)!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.35!important;
  letter-spacing:.085em!important;
  text-align:center!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  text-shadow:none!important;
  white-space:normal!important;
  vertical-align:middle!important;
  cursor:pointer!important;
  transition:var(--ihb-cta-transition)!important;
}
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-hero-button:hover,
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-cta-button:hover,
body.ihb-page .ihb-content a.sppb-btn.ihb-btn-primary:hover {
  background:var(--ihb-cta-sand-hover)!important;
  border-color:var(--ihb-cta-sand-hover)!important;
  color:#102a42!important;
  box-shadow:0 12px 28px rgba(7,26,42,.23)!important;
  transform:translateY(-2px)!important;
}
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-hero-button:active,
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-cta-button:active,
body.ihb-page .ihb-content a.sppb-btn.ihb-btn-primary:active {
  transform:translateY(0)!important;
  box-shadow:0 4px 11px rgba(7,26,42,.15)!important;
}
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-hero-button:focus-visible,
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-cta-button:focus-visible,
body.ihb-page .ihb-content a.sppb-btn.ihb-btn-primary:focus-visible {
  outline:3px solid #fff!important;
  outline-offset:4px!important;
}
/* Slightly roomier hero button, with a better gap below the introductory copy. */
body.ihb-page--home .ihb-v9-hero a.sppb-btn.ihb-v9-hero-button {
  min-height:64px!important;
  padding:20px 33px!important;
  margin-top:3px!important;
}
/* Contact CTA uses the same treatment, but no random blue SPPB default. */
body.ihb-page--home .ihb-v9-cta a.sppb-btn.ihb-v9-cta-button {
  min-height:61px!important;
  padding:19px 31px!important;
  margin-top:20px!important;
}

/* Text actions: predictable understated links, never blue filled buttons. */
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-link,
body.ihb-page .ihb-content a.sppb-btn.ihb-btn-text {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  max-width:100%!important;
  min-height:37px!important;
  margin:8px 0 0!important;
  padding:8px 0 7px!important;
  border:0!important;
  border-bottom:1px solid #ac906f!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  color:#223e59!important;
  box-shadow:none!important;
  font-family:var(--ihb-sans)!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1.5!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  white-space:normal!important;
  cursor:pointer!important;
  transition:color .2s ease,border-color .2s ease!important;
}
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-link:hover,
body.ihb-page .ihb-content a.sppb-btn.ihb-btn-text:hover {
  background:transparent!important;
  color:#987450!important;
  border-bottom-color:#987450!important;
}
body.ihb-page .ihb-content a.sppb-btn.ihb-v9-link:focus-visible,
body.ihb-page .ihb-content a.sppb-btn.ihb-btn-text:focus-visible {
  outline:2px solid #ab906f!important;
  outline-offset:4px!important;
}
/* House-cover links stay INSIDE the image composition; no card position changes. */
body.ihb-page--home .ihb-v9-showcase-grid a.sppb-btn.ihb-v9-card-link {
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  color:#f9f4ed!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:750!important;
  letter-spacing:.09em!important;
  line-height:1.3!important;
  border-bottom:1px solid #dfc9ad!important;
  transition:color .2s ease,border-color .2s ease!important;
}
body.ihb-page--home .ihb-v9-showcase-grid a.sppb-btn.ihb-v9-card-link:hover {
  background:transparent!important;
  color:#f2d7b5!important;
  border-bottom-color:#f2d7b5!important;
}
body.ihb-page--home .ihb-v9-showcase-grid a.sppb-btn.ihb-v9-card-link:focus-visible {
  outline:2px solid #fff!important;
  outline-offset:4px!important;
}
/* The persistent header CTA remains an outline variant in the same color system. */
body.ihb-page .ihb-header a.ihb-header-cta {
  border-radius:2px!important;
  font-family:var(--ihb-sans)!important;
  font-weight:750!important;
  letter-spacing:.085em!important;
  text-decoration:none!important;
  transition:background .2s ease,border-color .2s ease,color .2s ease!important;
}
body.ihb-page .ihb-header a.ihb-header-cta:hover {
  background:rgba(189,155,119,.14)!important;
  border-color:#bd9b77!important;
}
@media(max-width:700px){
  body.ihb-page .ihb-content a.sppb-btn.ihb-v9-hero-button,
  body.ihb-page .ihb-content a.sppb-btn.ihb-v9-cta-button,
  body.ihb-page .ihb-content a.sppb-btn.ihb-btn-primary {
    min-height:56px!important;
    padding:16px 21px!important;
    font-size:11px!important;
    line-height:1.45!important;
  }
  body.ihb-page .ihb-content a.sppb-btn.ihb-v9-link,
  body.ihb-page .ihb-content a.sppb-btn.ihb-btn-text{font-size:11px!important;}
}
@media(prefers-reduced-motion:reduce){
  body.ihb-page .ihb-content a.sppb-btn.ihb-v9-hero-button,
  body.ihb-page .ihb-content a.sppb-btn.ihb-v9-cta-button,
  body.ihb-page .ihb-content a.sppb-btn.ihb-btn-primary{transition:none!important;transform:none!important;}
}
