.shop-all-hero {
    position: relative;
    overflow: hidden;
    min-height: var(--shop-hero-min-height, 260px);
    background:
        radial-gradient(circle at 20% 15%, rgba(255,255,255,.92), transparent 36%),
        linear-gradient(110deg, var(--shop-hero-bg, #eadfe3) 0%, #f7eff2 58%, #eadfe3 100%);
    color: var(--shop-hero-text, #171313);
}

.shop-all-hero__inner {
    width: min(1500px, calc(100% - 48px));
    min-height: inherit;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 46%);
    align-items: stretch;
}

.shop-all-hero__copy {
    position: relative;
    z-index: 2;
    align-self: center;
    max-width: 690px;
    padding: 54px 36px 54px 0;
}

.shop-all-hero__eyebrow {
    margin: 0 0 14px;
    color: var(--shop-hero-accent, #f21869);
    font: 700 12px/1.3 Arial, Helvetica, sans-serif;
    letter-spacing: .24em;
}

.shop-all-hero__heading {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 5vw, 82px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.04em;
}

.shop-all-hero__description {
    max-width: 600px;
    margin: 18px 0 0;
    color: var(--shop-hero-muted, #65575a);
    font: 400 17px/1.6 Arial, Helvetica, sans-serif;
}

.shop-all-hero__media {
    position: relative;
    min-height: inherit;
}

.shop-all-hero__media::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0 auto 0 0;
    width: 28%;
    background: linear-gradient(90deg, #f3e8ec 0%, transparent 100%);
    pointer-events: none;
}

.shop-all-hero__media.is-empty {
    background:
        linear-gradient(135deg, rgba(242,24,105,.08), rgba(255,255,255,.2)),
        radial-gradient(circle at 70% 30%, rgba(255,255,255,.9), transparent 24%);
}

.shop-all-hero__image {
    width: 100%;
    height: 100%;
    min-height: var(--shop-hero-min-height, 260px);
    display: block;
    object-fit: cover;
    object-position: var(--shop-hero-image-position, right center);
}

@media (max-width: 820px) {
    .shop-all-hero__inner {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .shop-all-hero__copy {
        padding: 44px 24px 30px;
    }

    .shop-all-hero__media {
        min-height: 280px;
    }

    .shop-all-hero__media::before {
        display: none;
    }
}
