/* Use the page's actual width, excluding the scrollbar, for the full-bleed hero. */
.home .main-page-wrapper:has(.f7-static-hero) {
    container-type: inline-size;
}

.home .f7-static-hero {
    width: 100cqi;
    margin-inline: calc(50% - 50cqi);
}

/* The native homepage hero fills its dedicated WPBakery column. */
.home .vc_column-inner:has(> .wpb_wrapper .f7-static-hero) {
    padding-inline: 0 !important;
}

/* Size card typography against the card, not the full browser window. */
.home .promo-banner-wrapper {
    container-type: inline-size;
}

.home .promo-banner {
    display: grid;
    min-height: clamp(150px, 65cqi, 280px);
}

.home .promo-banner.with-btn {
    min-height: clamp(180px, 70cqi, 300px);
}

.home .promo-banner .main-wrapp-img,
.home .promo-banner .banner-image {
    position: absolute;
    inset: 0;
    height: 100%;
}

.home .promo-banner .banner-image picture {
    display: block;
    height: 100%;
}

.home .promo-banner .banner-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Text sets the minimum required height; the background fills that space. */
.home .promo-banner .wrapper-content-banner {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    min-width: 0;
    padding: clamp(16px, 6cqi, 28px);
}

.home .promo-banner .content-banner {
    width: 100%;
    min-width: 0;
}

.home .promo-banner .banner-title {
    margin: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    font-size: clamp(16px, 7cqi, 22px) !important;
    line-height: 1.25 !important;
}

.home .promo-banner .banner-title.wd-fontsize-l {
    font-size: clamp(18px, 8cqi, 30px) !important;
}

.home .promo-banner .banner-btn-wrapper {
    margin-top: 16px;
}
