/* NeoWeb Collection Promo Inserts 1.0.1 */

.nek-promo-insert {
    position: relative !important;
    display: block !important;
    align-self: stretch;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0;
    overflow: hidden !important;
    border-radius: var(--nek-promo-radius, 0) !important;
    color: var(--nek-promo-text, #fff) !important;
    background: var(--nek-promo-bg, #1f2933) !important;
    isolation: isolate;
}

.nek-promo-insert,
.nek-promo-insert *,
.nek-promo-insert *::before,
.nek-promo-insert *::after {
    box-sizing: border-box !important;
}

.nek-promo-insert[data-height-mode="grid"] {
    height: var(--nek-promo-auto-height, auto);
}

.nek-promo-insert[data-height-mode="ratio"] {
    height: auto;
    min-height: 0;
}

.nek-promo-insert[data-height-mode="custom"] {
    height: auto;
    min-height: var(
        --nek-promo-height-desktop,
        360px
    );
    aspect-ratio: auto !important;
}

/* Intrinsic fallback before the row-height synchronizer runs. */
.nek-promo-insert[data-height-mode="grid"],
.nek-promo-insert[data-height-mode="ratio"] {
    aspect-ratio: 1 / 1;
}

.nek-promo-insert[data-height-mode="grid"][data-span-desktop="2x1"],
.nek-promo-insert[data-height-mode="ratio"][data-span-desktop="2x1"] {
    aspect-ratio: 2 / 1;
}

.nek-promo-insert[data-height-mode="grid"][data-span-desktop="1x2"],
.nek-promo-insert[data-height-mode="ratio"][data-span-desktop="1x2"] {
    aspect-ratio: 1 / 2;
}

.nek-promo-insert[data-height-mode="grid"][data-span-desktop="2x2"],
.nek-promo-insert[data-height-mode="ratio"][data-span-desktop="2x2"] {
    aspect-ratio: 1 / 1;
}

.nek-promo-insert[data-height-mode="grid"][data-span-desktop="full-row"],
.nek-promo-insert[data-height-mode="ratio"][data-span-desktop="full-row"] {
    aspect-ratio: 4 / 1;
}

.nek-promo-insert[data-height-mode="grid"][data-span-desktop="full-grid"],
.nek-promo-insert[data-height-mode="ratio"][data-span-desktop="full-grid"] {
    aspect-ratio: 16 / 7;
}

.nek-promo-insert__link {
    position: relative !important;
    z-index: 0;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    min-height: inherit;
    overflow: hidden !important;
    color: inherit !important;
    background: transparent !important;
    text-decoration: none !important;
}

.nek-promo-insert__picture,
.nek-promo-insert__image,
.nek-promo-insert__overlay {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nek-promo-insert__picture {
    z-index: 0;
    overflow: hidden !important;
    line-height: 0 !important;
}

.nek-promo-insert__image {
    object-fit: var(
        --nek-promo-fit-desktop,
        contain
    ) !important;
    object-position: var(
        --nek-promo-position-desktop,
        50% 50%
    ) !important;
    transform: none;
    transition: transform .45s ease;
}

.nek-promo-insert:hover
.nek-promo-insert__image {
    transform: scale(1.025);
}

.nek-promo-insert__overlay {
    z-index: 1;
    background:
        rgba(
            var(--nek-promo-overlay, 0,0,0),
            var(--nek-promo-overlay-opacity, .35)
        ) !important;
    pointer-events: none;
}

.nek-promo-insert__content {
    position: relative !important;
    z-index: 2;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: min(100%, 680px) !important;
    padding: clamp(22px, 4vw, 54px) !important;
}

.nek-promo-insert.is-horizontal-left
.nek-promo-insert__link {
    justify-content: flex-start !important;
}

.nek-promo-insert.is-horizontal-center
.nek-promo-insert__link {
    justify-content: center !important;
}

.nek-promo-insert.is-horizontal-right
.nek-promo-insert__link {
    justify-content: flex-end !important;
}

.nek-promo-insert.is-vertical-top
.nek-promo-insert__link {
    align-items: flex-start !important;
}

.nek-promo-insert.is-vertical-center
.nek-promo-insert__link {
    align-items: center !important;
}

.nek-promo-insert.is-vertical-bottom
.nek-promo-insert__link {
    align-items: flex-end !important;
}

.nek-promo-insert.is-text-left
.nek-promo-insert__content {
    align-items: flex-start !important;
    text-align: left !important;
}

.nek-promo-insert.is-text-center
.nek-promo-insert__content {
    align-items: center !important;
    text-align: center !important;
}

.nek-promo-insert.is-text-right
.nek-promo-insert__content {
    align-items: flex-end !important;
    text-align: right !important;
}

.nek-promo-insert__eyebrow {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.nek-promo-insert__title {
    margin: 0 !important;
    color: inherit !important;
    font-size: clamp(26px, 3.2vw, 54px) !important;
    line-height: 1.02 !important;
}

.nek-promo-insert__description {
    max-width: 54ch !important;
    margin: 0 !important;
    color: inherit !important;
    font-size: clamp(14px, 1.2vw, 18px) !important;
    line-height: 1.55 !important;
}

.nek-promo-insert__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    margin-top: 6px !important;
    padding: 10px 20px !important;
    border: 1px solid currentColor !important;
    border-radius: 0;
    color: inherit !important;
    background: transparent !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.nek-promo-insert__button:hover {
    color: #111 !important;
    background: #fff !important;
}

/* Desktop spans */
.nek-promo-insert[data-span-desktop="1x1"] {
    grid-column: span 1;
    grid-row: span 1;
}

.nek-promo-insert[data-span-desktop="2x1"] {
    grid-column: span 2;
    grid-row: span 1;
}

.nek-promo-insert[data-span-desktop="1x2"] {
    grid-column: span 1;
    grid-row: span 2;
}

.nek-promo-insert[data-span-desktop="2x2"] {
    grid-column: span 2;
    grid-row: span 2;
}

.nek-promo-insert[data-span-desktop="full-row"],
.nek-promo-insert[data-span-desktop="full-grid"] {
    grid-column: 1 / -1;
}

.nek-promo-insert.is-full-grid-takeover {
    width: 100% !important;
}

.nek-archive-view-list .nek-promo-insert {
    grid-column: 1 / -1;
}

@media (max-width: 1024px) {
    .nek-promo-insert[data-height-mode="custom"] {
        min-height: var(
            --nek-promo-height-tablet,
            300px
        );
    }

    .nek-promo-insert[data-height-mode="grid"],
    .nek-promo-insert[data-height-mode="ratio"] {
        aspect-ratio: 1 / 1;
    }

    .nek-promo-insert[data-height-mode="grid"][data-span-tablet="2x1"],
    .nek-promo-insert[data-height-mode="ratio"][data-span-tablet="2x1"] {
        aspect-ratio: 2 / 1;
    }

    .nek-promo-insert[data-height-mode="grid"][data-span-tablet="1x2"],
    .nek-promo-insert[data-height-mode="ratio"][data-span-tablet="1x2"] {
        aspect-ratio: 1 / 2;
    }

    .nek-promo-insert[data-height-mode="grid"][data-span-tablet="2x2"],
    .nek-promo-insert[data-height-mode="ratio"][data-span-tablet="2x2"] {
        aspect-ratio: 1 / 1;
    }

    .nek-promo-insert[data-height-mode="grid"][data-span-tablet="full-row"],
    .nek-promo-insert[data-height-mode="ratio"][data-span-tablet="full-row"] {
        aspect-ratio: 3 / 1;
    }

    .nek-promo-insert[data-height-mode="grid"][data-span-tablet="full-grid"],
    .nek-promo-insert[data-height-mode="ratio"][data-span-tablet="full-grid"] {
        aspect-ratio: 4 / 3;
    }

    .nek-promo-insert__image {
        object-fit: var(
            --nek-promo-fit-tablet,
            contain
        ) !important;
        object-position: var(
            --nek-promo-position-tablet,
            50% 50%
        ) !important;
    }

    .nek-promo-insert[data-span-tablet="1x1"] {
        grid-column: span 1;
        grid-row: span 1;
    }

    .nek-promo-insert[data-span-tablet="2x1"] {
        grid-column: span 2;
        grid-row: span 1;
    }

    .nek-promo-insert[data-span-tablet="1x2"] {
        grid-column: span 1;
        grid-row: span 2;
    }

    .nek-promo-insert[data-span-tablet="2x2"] {
        grid-column: span 2;
        grid-row: span 2;
    }

    .nek-promo-insert[data-span-tablet="full-row"],
    .nek-promo-insert[data-span-tablet="full-grid"] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .nek-promo-insert[data-height-mode="custom"] {
        min-height: var(
            --nek-promo-height-mobile,
            280px
        );
    }

    .nek-promo-insert[data-height-mode="grid"],
    .nek-promo-insert[data-height-mode="ratio"] {
        aspect-ratio: 1 / 1;
    }

    .nek-promo-insert[data-height-mode="grid"][data-span-mobile="1x2"],
    .nek-promo-insert[data-height-mode="ratio"][data-span-mobile="1x2"] {
        aspect-ratio: 1 / 2;
    }

    .nek-promo-insert[data-height-mode="grid"][data-span-mobile="full-grid"],
    .nek-promo-insert[data-height-mode="ratio"][data-span-mobile="full-grid"] {
        aspect-ratio: 4 / 5;
    }

    .nek-promo-insert__image {
        object-fit: var(
            --nek-promo-fit-mobile,
            contain
        ) !important;
        object-position: var(
            --nek-promo-position-mobile,
            50% 50%
        ) !important;
    }

    .nek-promo-insert[data-span-mobile="1x1"] {
        grid-column: span 1;
        grid-row: span 1;
    }

    .nek-promo-insert[data-span-mobile="2x1"] {
        grid-column: 1 / -1;
        grid-row: span 1;
    }

    .nek-promo-insert[data-span-mobile="1x2"] {
        grid-column: span 1;
        grid-row: span 2;
    }

    .nek-promo-insert[data-span-mobile="2x2"] {
        grid-column: 1 / -1;
        grid-row: span 2;
    }

    .nek-promo-insert[data-span-mobile="full-row"],
    .nek-promo-insert[data-span-mobile="full-grid"] {
        grid-column: 1 / -1;
    }

    .nek-promo-insert__content {
        padding: 24px !important;
    }

    .nek-promo-insert__title {
        font-size: clamp(24px, 9vw, 38px) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nek-promo-insert__image {
        transition: none !important;
    }

    .nek-promo-insert:hover
    .nek-promo-insert__image {
        transform: none !important;
    }
}
