.baypress-hero-shell,
.baypress-hero-shell-enabled-yes {
    --baypress-hero-object-position: 50% 50%;
    --baypress-hero-overlay-color: #000000;
    --baypress-hero-overlay-color-stop: 0%;
    --baypress-hero-overlay-gradient-color: rgba(0, 0, 0, 0);
    --baypress-hero-overlay-gradient-color-stop: 100%;
    --baypress-hero-overlay-gradient-angle: 180deg;
    --baypress-hero-overlay-gradient-position: center center;
    --baypress-hero-overlay-background: var(--baypress-hero-overlay-color);
    --baypress-hero-overlay-opacity: 0.35;
    background-position: var(--baypress-hero-object-position);
    background-repeat: no-repeat;
    background-size: cover;
    isolation: isolate;
    min-height: 42rem;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.baypress-hero-shell--full-width {
    left: 50%;
    max-width: 100vw;
    transform: translateX(-50%);
    width: 100vw;
}

.baypress-hero-shell--compact { min-height: 28rem; }
.baypress-hero-shell--large,
.baypress-hero-shell--custom { min-height: 42rem; }
.baypress-hero-shell--viewport { min-height: 100svh; }

.baypress-hero-overlay--solid {
    --baypress-hero-overlay-background: var(--baypress-hero-overlay-color);
}

.baypress-hero-overlay--linear-gradient {
    --baypress-hero-overlay-background: linear-gradient(
        var(--baypress-hero-overlay-gradient-angle),
        var(--baypress-hero-overlay-color) var(--baypress-hero-overlay-color-stop),
        var(--baypress-hero-overlay-gradient-color) var(--baypress-hero-overlay-gradient-color-stop)
    );
}

.baypress-hero-overlay--radial-gradient {
    --baypress-hero-overlay-background: radial-gradient(
        at var(--baypress-hero-overlay-gradient-position),
        var(--baypress-hero-overlay-color) var(--baypress-hero-overlay-color-stop),
        var(--baypress-hero-overlay-gradient-color) var(--baypress-hero-overlay-gradient-color-stop)
    );
}

.baypress-hero-shell__media,
.baypress-hero-shell__overlay {
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.baypress-hero-shell__media {
    overflow: hidden;
    z-index: 0;
}

.baypress-hero-shell__overlay {
    background: var(--baypress-hero-overlay-background);
    opacity: var(--baypress-hero-overlay-opacity);
    z-index: 1;
}

.elementor-edit-area-active .baypress-hero-shell-enabled-yes::before,
.elementor-editor-active .baypress-hero-shell-enabled-yes::before {
    background: var(--baypress-hero-overlay-background);
    content: "";
    inset: 0;
    opacity: var(--baypress-hero-overlay-opacity);
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.elementor-edit-area-active .baypress-hero-shell-enabled-yes > :not(.baypress-hero-shell__media):not(.baypress-hero-shell__overlay),
.elementor-editor-active .baypress-hero-shell-enabled-yes > :not(.baypress-hero-shell__media):not(.baypress-hero-shell__overlay) {
    position: relative;
    z-index: 2;
}

.baypress-hero-shell__image,
.elementor .baypress-hero-shell .baypress-hero-shell__image {
    display: block;
    height: 100% !important;
    inset: 0;
    max-width: none !important;
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    object-position: var(--baypress-hero-object-position);
    pointer-events: none;
    position: absolute;
    width: 100% !important;
}

.baypress-hero-shell > .e-con-inner,
.baypress-hero-shell > .elementor-element,
.baypress-hero-shell > .e-con,
.baypress-hero-shell > .elementor-widget,
.baypress-hero-shell > [data-element_type] {
    position: relative;
    z-index: 2;
}

.baypress-hero-shell > .e-con {
    max-width: none;
    width: 100%;
}

.baypress-hero-shell--focal-center-center {
    --baypress-hero-object-position: 50% 50%;
    background-position: 50% 50% !important;
}

.baypress-hero-shell--focal-center-top {
    --baypress-hero-object-position: 50% 0%;
    background-position: 50% 0% !important;
}

.baypress-hero-shell--focal-center-bottom {
    --baypress-hero-object-position: 50% 100%;
    background-position: 50% 100% !important;
}

.baypress-hero-shell--focal-left-center {
    --baypress-hero-object-position: 0% 50%;
    background-position: 0% 50% !important;
}

.baypress-hero-shell--focal-right-center {
    --baypress-hero-object-position: 100% 50%;
    background-position: 100% 50% !important;
}

@media (max-width: 767px) {
    .baypress-hero-shell,
    .baypress-hero-shell-enabled-yes,
    .baypress-hero-shell--large,
    .baypress-hero-shell--custom { min-height: 32rem; }
    .baypress-hero-shell--compact { min-height: 24rem; }
    .baypress-hero-shell--viewport { min-height: 100svh; }
}

.baypress-hero-shell--focal-center-center .baypress-hero-shell__image {
    object-position: 50% 50% !important;
}

.baypress-hero-shell--focal-center-top .baypress-hero-shell__image {
    object-position: 50% 0% !important;
}

.baypress-hero-shell--focal-center-bottom .baypress-hero-shell__image {
    object-position: 50% 100% !important;
}

.baypress-hero-shell--focal-left-center .baypress-hero-shell__image {
    object-position: 0% 50% !important;
}

.baypress-hero-shell--focal-right-center .baypress-hero-shell__image {
    object-position: 100% 50% !important;
}

.baypress-hero-overlay--solid .baypress-hero-shell__overlay,
.elementor-edit-area-active .baypress-hero-overlay--solid::before,
.elementor-editor-active .baypress-hero-overlay--solid::before {
    background: var(--baypress-hero-overlay-color) !important;
    opacity: var(--baypress-hero-overlay-opacity);
}

.baypress-hero-overlay--linear-gradient .baypress-hero-shell__overlay,
.elementor-edit-area-active .baypress-hero-overlay--linear-gradient::before,
.elementor-editor-active .baypress-hero-overlay--linear-gradient::before {
    background: linear-gradient(
        var(--baypress-hero-overlay-gradient-angle),
        var(--baypress-hero-overlay-color) var(--baypress-hero-overlay-color-stop),
        var(--baypress-hero-overlay-gradient-color) var(--baypress-hero-overlay-gradient-color-stop)
    ) !important;
    opacity: 1;
}

.baypress-hero-overlay--radial-gradient .baypress-hero-shell__overlay,
.elementor-edit-area-active .baypress-hero-overlay--radial-gradient::before,
.elementor-editor-active .baypress-hero-overlay--radial-gradient::before {
    background: radial-gradient(
        at var(--baypress-hero-overlay-gradient-position),
        var(--baypress-hero-overlay-color) var(--baypress-hero-overlay-color-stop),
        var(--baypress-hero-overlay-gradient-color) var(--baypress-hero-overlay-gradient-color-stop)
    ) !important;
    opacity: 1;
}
