/* Shared Elementor template 4265: compact banner on interior pages only.
 * Keep the full photograph on desktop; on narrow screens, fill the banner
 * with a crop focused on the group. The URL also supports partner banners.
 */
body.biorecos-compact-banner .elementor-4265 .elementor-element.elementor-element-79e30e9 {
    position: relative;
    background-image: none !important;
    background-color: #fff;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-79e30e9::before {
    content: "";
    position: absolute;
    inset: 0 0 auto auto;
    width: min(60%, 793.75px);
    height: 300px;
    background-image: var(--biorecos-banner-image);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right center;
    pointer-events: none;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-79e30e9 > .elementor-motion-effects-container {
    display: none;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-79e30e9 > .elementor-container {
    min-height: 300px;
    padding: 16px 24px;
    align-items: center;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element.elementor-element-323664c {
    width: 50%;
    min-width: 0;
    transform: none;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-323664c > .elementor-widget-wrap.elementor-element-populated {
    margin: 0;
    padding: 0;
    gap: 10px;
    justify-content: flex-start;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-323664c > .elementor-widget-wrap > .elementor-widget {
    margin: 0;
    /* Elementor's :not(...) spacing selector otherwise takes precedence. */
    margin-block-end: 0 !important;
    --flex-grow: 0;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-323664c .elementor-widget > .elementor-widget-container {
    margin: 0;
    padding: 0;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element.elementor-element-dc15fbc {
    display: none;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element.elementor-element-c87ffc1,
body.biorecos-compact-banner .elementor-4265 .elementor-element.elementor-element-e5d95d3 {
    text-align: left;
    letter-spacing: normal;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

/* These sizes override the inline typography saved in the Elementor text. */
body.biorecos-compact-banner .elementor-4265 .elementor-element-c87ffc1 p {
    margin: 0;
    font-size: 2rem !important;
    line-height: 1.2;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-e5d95d3 p,
body.biorecos-compact-banner .elementor-4265 .elementor-element-e5d95d3 span {
    margin: 0;
    font-size: 1.125rem !important;
    line-height: 1.35;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element.elementor-element-15fcbf7 {
    width: 100%;
    max-width: 360px;
    margin-bottom: 0;
    --container-widget-width: 100%;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-15fcbf7 .elementor-nav-menu--main > .elementor-nav-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    width: 100%;
    margin: 0;
    padding: 0;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-15fcbf7 .elementor-nav-menu--main > .elementor-nav-menu > li {
    width: auto;
    min-width: 0;
    flex: 1 1 130px;
    margin: 0;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-15fcbf7 .elementor-nav-menu--main > .elementor-nav-menu > li.pre_inscription_normal_link {
    flex-basis: 100%;
}

body.biorecos-compact-banner .elementor-4265 .elementor-element-15fcbf7 .elementor-nav-menu--main > .elementor-nav-menu > li > a {
    display: block;
    padding: 7px 10px;
    font-size: 1rem;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Keep the search field below the photograph, including when zoomed. */
body.biorecos-compact-banner .elementor-4265 .elementor-element.elementor-element-63b88ce {
    margin-top: 16px;
}

@media (max-width: 900px) {
    /* Fill the entire content height instead of shrinking the photo inside it.
     * The translucent gradient keeps the overlaid text readable after cropping.
     */
    body.biorecos-compact-banner .elementor-4265 .elementor-element-79e30e9::before {
        width: 100%;
        height: 100%;
        background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.65) 42%, rgba(255, 255, 255, 0) 78%), var(--biorecos-banner-image);
        background-size: cover;
        background-position: 75% center;
    }

    body.biorecos-compact-banner .elementor-4265 .elementor-element-79e30e9 > .elementor-container {
        padding: 16px;
    }

    body.biorecos-compact-banner .elementor-4265 .elementor-element.elementor-element-323664c {
        width: 56%;
    }

    body.biorecos-compact-banner .elementor-4265 .elementor-element-323664c > .elementor-widget-wrap.elementor-element-populated {
        gap: 8px;
    }

    body.biorecos-compact-banner .elementor-4265 .elementor-element-c87ffc1 p {
        font-size: clamp(1.25rem, 3.5vw, 1.75rem) !important;
    }

    body.biorecos-compact-banner .elementor-4265 .elementor-element-e5d95d3 p,
    body.biorecos-compact-banner .elementor-4265 .elementor-element-e5d95d3 span {
        font-size: 1rem !important;
    }

    body.biorecos-compact-banner .elementor-4265 .elementor-element-15fcbf7 .elementor-nav-menu--main > .elementor-nav-menu > li > a {
        padding: 7px 4px;
        font-size: 0.875rem;
    }
}
