/*---*\
Full Width Image Background
Full-width photo with a navy overlay, WYSIWYG copy, and decorative logo accents.

KEY FEATURES:
- Admin-uploaded background image with 40% navy overlay
- Decorative V watermark and top-left corner curve
- Corner fill matches the previous block color
- Extra 100px white band when the previous block uses an image background

IMPLEMENTATION NOTES:
- WYSIWYG heading, body, and CTA styles come from fx_wysiwyg
- V stays a fixed size per breakpoint so taller copy does not stretch it
- V uses white 8% plus 12px backdrop blur so it reads as frosted blue over the photo
\*---*/

.full-width-image-background {
    position: relative;
    overflow: hidden;
    min-height: auto;
    background-color: var(--color-primary);
    padding-right: 32px;
    padding-left: 32px;
}

.full-width-image-background__media,
.full-width-image-background__overlay {
    position: absolute;
    inset: 0;
}

.full-width-image-background__img {
    position: absolute;
    inset: 0;
    max-width: none;
}

.full-width-image-background__overlay {
    background-color: var(--color-primary-70);
}

.full-width-image-background__logo {
    position: absolute;
    right: -20px;
    bottom: -20px;
    z-index: 1;
    width: 212px;
    height: 200px;
    background-color: var(--color-white-8);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    -webkit-mask-image: url("/wp-content/themes/viaflex/assets/img/logo-shape.svg");
    mask-image: url("/wp-content/themes/viaflex/assets/img/logo-shape.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    pointer-events: none;
}

.full-width-image-background__corner {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 50px;
    height: 75px;
    background-color: var(--color-surface-white);
    -webkit-mask-image: url("/wp-content/themes/viaflex/assets/img/corner-curve.svg");
    mask-image: url("/wp-content/themes/viaflex/assets/img/corner-curve.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    transform: scaleX(-1);
    pointer-events: none;
}

.full-width-image-background--corner-gray .full-width-image-background__corner {
    background-color: var(--color-surface-off-white);
}

.full-width-image-background--corner-navy .full-width-image-background__corner {
    background-color: var(--color-surface-primary);
}

.accessories-listing + .full-width-image-background--corner-navy .full-width-image-background__corner {
    background-color: var(--color-white);
}

.full-width-image-background--after-image {
    padding-top: calc(100px + var(--section-margins));
    background-color: var(--color-surface-white);
}

.full-width-image-background--after-image .full-width-image-background__media,
.full-width-image-background--after-image .full-width-image-background__overlay,
.full-width-image-background--after-image .full-width-image-background__corner {
    top: 100px;
}

.full-width-image-background__content {
    position: relative;
    z-index: 3;
    width: 100%;
}

.full-width-image-background .wysiwyg,
.full-width-image-background .wysiwyg h2,
.full-width-image-background .wysiwyg h3,
.full-width-image-background .wysiwyg h4,
.full-width-image-background .wysiwyg p,
.full-width-image-background .wysiwyg li {
    color: var(--color-text-inverse);
}

@media (min-width: 768px) {
    .full-width-image-background {
        min-height: 450px;
        padding-right: 52px;
        padding-left: 52px;
    }

    .full-width-image-background__logo {
        right: -33px;
        bottom: -29px;
        width: 350px;
        height: 330px;
    }

    .full-width-image-background__corner {
        width: 95px;
        height: 143px;
    }

    .full-width-image-background__content {
        max-width: 664px;
    }
}

@media (min-width: 1200px) {
    .full-width-image-background {
        min-height: 613px;
        padding-right: 400px;
        padding-left: 216px;
    }

    .full-width-image-background__logo {
        top: 150px;
        right: -240px;
        bottom: auto;
        width: 700px;
        height: 661px;
    }

    .full-width-image-background--after-image .full-width-image-background__logo {
        top: 250px;
    }

    .full-width-image-background__corner {
        width: 200px;
        height: 300px;
    }

    .full-width-image-background__content {
        max-width: none;
    }
}

@media (min-width: 1367px) {
    .full-width-image-background {
        padding-right: 672px;
        padding-left: 368px;
    }
}
