.hero-carousel {
    --offset: var(--header-height, 80px);

    position: relative;
    overflow: hidden;
    width: 100%;
    height: calc(100dvh - var(--offset) - var(--wp-admin--admin-bar--height, 0px));

    @media (width < 1200px) {
        --offset: var(--header-height, 65px);
    }
}

.hero-carousel__slides {
    position: relative;
    height: 100%;
}

.hero-carousel__slide {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition--timing-300) ease-in-out;
    pointer-events: none;

    &.is-active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    &:not(.is-active) video {
        animation-play-state: paused;
    }
}

.hero-carousel .hero-carousel__slide.wp-block-cover {
    height: 100%;
    max-height: none;
    align-items: center;
    padding-block-end: calc(var(--wp--preset--spacing--regular) * 2) !important;

    @media (width < 820px) {
        --media-shift: 0px;
    }
}

.hero-carousel__slide .wp-block-cover__inner-container {
    width: 100%;
    max-width: var(--wp--style--global--content-size);
    margin-inline: auto;
}

.hero-carousel__slide .wp-block-cover__inner-container > .wp-block-group {
    width: calc(var(--wp--style--global--content-size) * 0.45);
    max-width: calc(var(--wp--style--global--content-size) * 0.45);
    margin-inline: 0;
    height: auto !important;
    min-height: auto !important;

    @media (width < 820px) {
        width: 100%;
        max-width: 100%;
    }
}

.hero-carousel .hero-carousel__slide.wp-block-cover.is-position-bottom-center:not(.is-style-offset-right) {
    align-items: flex-end;
    padding-block-end: calc(var(--wp--preset--spacing--regular) * 2 - 3rem) !important;
}

.hero-carousel__slide.is-position-bottom-center:not(.is-style-offset-right) .wp-block-cover__inner-container > .wp-block-group {
    width: 100%;
    max-width: var(--wp--style--global--content-size);
    margin-inline: auto;
    text-align: center;
}

.hero-carousel__nav {
    position: absolute;
    inset-inline: 0;
    inset-block-end: var(--wp--preset--spacing--small);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2em;
    z-index: 2;
}

.hero-carousel__dots {
    display: flex;
    align-items: center;
    gap: 0.8em;
}

.hero-carousel__arrow {
    background-color: transparent;
    border: none;
    color: var(--wp--preset--color--white);
    cursor: pointer;
    display: grid;
    place-items: center;
    padding: 0.2em;

    svg {
        width: 1.4em;
        height: 1.4em;
    }
}

.hero-carousel__dot {
    background-color: var(--wp--preset--color--primary-orange-400);
    transition:
        width var(--transition--timing-300) ease,
        border-radius var(--transition--timing-300) ease,
        background-color var(--transition--timing-300) ease;
    border-radius: 50%;
    border: none;
    height: 14px;
    width: 14px;
    padding: 0;
    cursor: pointer;

    &.is-active {
        background-color: var(--wp--preset--color--primary-orange-900);
        border-radius: 12px;
        width: 36px;
    }
}
