/* IHB V44.3 – Scoped Montage-Feinschliff (after V44.2)
   Real layout fix: native SPPB 47%-columns in text sections and the button link element.
   Scoped exclusively to sections of /leistungen/montage.
*/

/* Shared: prevent the old fixed column widths from squeezing content. */
body.ihb-page:has(.ihb-v44-page) .ihb-v44-intro > :is(.sppb-row-container,.sppb-container-inner) > .sppb-row,
body.ihb-page:has(.ihb-v44-page) .ihb-v44-why > :is(.sppb-row-container,.sppb-container-inner) > .sppb-row {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    width:100%!important;
    gap:0!important;
}
body.ihb-page:has(.ihb-v44-page) :is(.ihb-v44-intro,.ihb-v44-why) > :is(.sppb-row-container,.sppb-container-inner) > .sppb-row > .sppb-row-column {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    flex:none!important;
    padding-inline:0!important;
    margin:0!important;
}
body.ihb-page:has(.ihb-v44-page) :is(.ihb-v44-intro,.ihb-v44-why) .sppb-column,
body.ihb-page:has(.ihb-v44-page) :is(.ihb-v44-intro,.ihb-v44-why) .sppb-column-addons,
body.ihb-page:has(.ihb-v44-page) :is(.ihb-v44-intro,.ihb-v44-why) .sppb-addon-wrapper,
body.ihb-page:has(.ihb-v44-page) :is(.ihb-v44-intro,.ihb-v44-why) .sppb-addon-content {
    max-width:none!important;
    min-width:0!important;
}

/* 01 – one editorial introduction, directly followed by the picture chronology. */
body.ihb-page:has(.ihb-v44-page) .ihb-v44-intro {
    background:#f6f3ed!important;
    padding:clamp(72px,8vw,112px) 0 clamp(48px,5vw,76px)!important;
}
.ihb-v44-intro .ihb-v44-intro-title .sppb-addon-title {
    max-width:21ch!important;
    font-size:clamp(43px,5.5vw,73px)!important;
    line-height:1.07!important;
    margin:0 0 clamp(22px,3vw,32px)!important;
}
.ihb-v44-intro .ihb-v44-intro-copy .sppb-addon-content {max-width:860px!important;}
.ihb-v44-intro .ihb-v44-intro-copy .sppb-addon-content > p:first-child {
    max-width:75ch!important;
    font-size:clamp(16px,1.45vw,19px)!important;
    line-height:1.8!important;
    color:#486678!important;
}
.ihb-v44-intro .ihb-v44-intro-copy p.ihb-v44-note {
    max-width:85ch!important;
    margin:14px 0 0!important;
    padding:10px 0 10px 18px!important;
    font:400 13px/1.8 system-ui,sans-serif!important;
    color:#687986!important;
    border-left:2px solid #c6a47e!important;
}
.ihb-v44-intro .ihb-v44-jump nav {margin-top:25px!important;gap:10px!important;}
.ihb-v44-intro .ihb-v44-jump nav a {
    display:inline-flex!important;
    align-items:center!important;
    min-height:42px!important;
    padding:10px 17px!important;
    border:1px solid #d8c5ab!important;
    background:transparent!important;
    color:#18384d!important;
    font:800 10px/1.4 system-ui,sans-serif!important;
    letter-spacing:.09em!important;
    text-decoration:none!important;
    transition:background-color .18s ease,border-color .18s ease!important;
}
.ihb-v44-intro .ihb-v44-jump nav a:is(:hover,:focus-visible) {
    background:#ead9c1!important;
    border-color:#c7a47e!important;
}

/* Preserve lightbox on step photos, disable distracting icon only on the HERO photo. */
.ihb-v44-hero .ihb-v44-hero-img,
.ihb-v44-hero .ihb-v44-hero-img :is(.sppb-addon-single-image-container,.sppb-addon-single-image,.sppb-addon-content),
.ihb-v44-hero .ihb-v44-hero-img img {
    cursor:default!important;
}
.ihb-v44-hero .ihb-v44-hero-img :is(.sppb-img-lightbox,.sppb-image-hover-icon,.sppb-img-overlay,.sppb-image-overlay,.sppb-img-hover,.sppb-image-overlay-icon,.sppb-icon,
 .sppb-addon-single-image-overlay,.sppb-addon-single-image-container a)::before,
.ihb-v44-hero .ihb-v44-hero-img :is(.sppb-img-lightbox,.sppb-image-hover-icon,.sppb-img-overlay,.sppb-image-overlay,.sppb-img-hover,.sppb-image-overlay-icon,.sppb-icon,
 .sppb-addon-single-image-overlay,.sppb-addon-single-image-container a)::after {
    content:none!important;
    display:none!important;
}
.ihb-v44-hero .ihb-v44-hero-img :is(.sppb-img-lightbox,.sppb-image-hover-icon,.sppb-img-overlay,.sppb-image-overlay,
 .sppb-img-hover,.sppb-image-overlay-icon,.sppb-icon,.fa-plus,.fa-plus-circle,.sppb-addon-single-image-overlay) {
    display:none!important;
}
.ihb-v44-hero .ihb-v44-hero-img a {cursor:default!important;pointer-events:none!important;}

/* Native SPPB 6 button class is often on the <a>, NOT a surrounding wrapper.
   Keep every selector limited to the Montage hero/CTA. */
.ihb-v44-hero :is(a.sppb-btn.ihb-v44-btn,a.ihb-v44-btn,.ihb-v44-btn a.sppb-btn,.ihb-v44-btn > a,.ihb-v44-btn .sppb-btn),
.ihb-v44-cta :is(a.sppb-btn.ihb-v44-btn,a.ihb-v44-btn,.ihb-v44-btn a.sppb-btn,.ihb-v44-btn > a,.ihb-v44-btn .sppb-btn) {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:auto!important;
    max-width:100%!important;
    min-height:54px!important;
    padding:16px 24px!important;
    background:#e2c6a0!important;
    border:1px solid #e2c6a0!important;
    border-radius:2px!important;
    box-shadow:none!important;
    color:#15364b!important;
    text-decoration:none!important;
    font:800 11px/1.35 system-ui,sans-serif!important;
    letter-spacing:.10em!important;
    text-transform:uppercase!important;
    white-space:normal!important;
    opacity:1!important;
    transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important;
}
.ihb-v44-hero :is(a.sppb-btn.ihb-v44-btn,a.ihb-v44-btn,.ihb-v44-btn a.sppb-btn,.ihb-v44-btn > a,.ihb-v44-btn .sppb-btn):hover,
.ihb-v44-cta :is(a.sppb-btn.ihb-v44-btn,a.ihb-v44-btn,.ihb-v44-btn a.sppb-btn,.ihb-v44-btn > a,.ihb-v44-btn .sppb-btn):hover {
    background:#f1ddbf!important;
    border-color:#f1ddbf!important;
    color:#15364b!important;
    transform:translateY(-2px)!important;
}
/* Secondary button uses an understated outlined treatment, not browser-blue text. */
.ihb-v44-cta :is(a.sppb-btn.ihb-v44-btn-secondary,a.ihb-v44-btn-secondary,.ihb-v44-btn-secondary a.sppb-btn,.ihb-v44-btn-secondary > a,.ihb-v44-btn-secondary .sppb-btn) {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:100%!important;
    min-height:54px!important;
    padding:16px 24px!important;
    border:1px solid rgba(226,198,160,.68)!important;
    border-radius:2px!important;
    background:transparent!important;
    color:#f5e9dc!important;
    text-decoration:none!important;
    font:800 11px/1.35 system-ui,sans-serif!important;
    text-transform:uppercase!important;
    letter-spacing:.10em!important;
    white-space:normal!important;
    box-shadow:none!important;
}
.ihb-v44-cta :is(a.sppb-btn.ihb-v44-btn-secondary,a.ihb-v44-btn-secondary,.ihb-v44-btn-secondary a.sppb-btn,.ihb-v44-btn-secondary > a,.ihb-v44-btn-secondary .sppb-btn):hover {
    background:rgba(226,198,160,.12)!important;
    border-color:#e2c6a0!important;
    color:#fff!important;
}
.ihb-v44-hero :is(a.sppb-btn.ihb-v44-btn,a.ihb-v44-btn,.ihb-v44-btn a.sppb-btn,.ihb-v44-btn > a,.ihb-v44-btn .sppb-btn):focus-visible,
.ihb-v44-cta :is(a.ihb-v44-btn,a.ihb-v44-btn-secondary,.ihb-v44-btn a.sppb-btn,.ihb-v44-btn-secondary a.sppb-btn):focus-visible {
    outline:3px solid #f1ddbf!important;
    outline-offset:4px!important;
}
.ihb-v44-cta .ihb-v44-cta-right {gap:16px!important;}

/* 02 – Three features need the WHOLE content column, not 47% of it. */
body.ihb-page:has(.ihb-v44-page) .ihb-v44-why {
    padding:clamp(80px,8.5vw,122px) 0!important;
}
.ihb-v44-why .ihb-v44-why-title .sppb-addon-title {
    max-width:24ch!important;
    font-size:clamp(42px,5vw,65px)!important;
    line-height:1.1!important;
    margin-bottom:36px!important;
}
.ihb-v44-why .ihb-v44-why-grid,
.ihb-v44-why .ihb-v44-why-grid .sppb-addon-content {width:100%!important;max-width:none!important;}
.ihb-v44-why .ihb-v44-feature-grid {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:clamp(17px,2.25vw,27px)!important;
    width:100%!important;
    max-width:100%!important;
    align-items:stretch!important;
}
.ihb-v44-why .ihb-v44-feature-grid > article {
    min-width:0!important;
    width:100%!important;
    padding:clamp(25px,3vw,36px)!important;
    min-height:255px!important;
    border-top:3px solid #c5a47f!important;
    background:#fff!important;
    box-shadow:0 13px 34px rgba(18,46,65,.06)!important;
}
.ihb-v44-why .ihb-v44-feature-grid h3 {
    font:400 clamp(26px,2.7vw,37px)/1.13 Georgia,'Times New Roman',serif!important;
    letter-spacing:-.035em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:auto!important;
    margin:19px 0 16px!important;
}
.ihb-v44-why .ihb-v44-feature-grid p {
    color:#536d7c!important;
    font:400 15px/1.78 system-ui,sans-serif!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
}
@media (max-width:920px){
    .ihb-v44-why .ihb-v44-feature-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .ihb-v44-why .ihb-v44-feature-grid > article {min-height:0!important;}
}
@media (max-width:640px){
    .ihb-v44-why .ihb-v44-feature-grid {grid-template-columns:minmax(0,1fr)!important;}
    .ihb-v44-why .ihb-v44-feature-grid > article {padding:28px!important;}
    .ihb-v44-why .ihb-v44-feature-grid h3 {font-size:clamp(28px,8vw,34px)!important;}
    .ihb-v44-intro .ihb-v44-intro-title .sppb-addon-title {font-size:clamp(40px,10vw,56px)!important;}
    .ihb-v44-cta :is(a.ihb-v44-btn,a.ihb-v44-btn-secondary,.ihb-v44-btn a.sppb-btn,.ihb-v44-btn-secondary a.sppb-btn){width:100%!important;}
}
@media (prefers-reduced-motion:reduce){
    .ihb-v44-hero a,.ihb-v44-cta a,.ihb-v44-intro a{transition:none!important;transform:none!important;}
}
