.minihobby-promo-banner {
    --mh-promo-accent: var(--wp--preset--color--accent, #08c9e8);
    --mh-promo-cta: #ff6100;
    --mh-promo-text: #ffffff;
    --mh-promo-muted: #b9c5e1;
    --mh-promo-border: rgba(255, 255, 255, 0.08);
    --mh-promo-overlay: .72;
    --mh-promo-min-height: 450px;
    --mh-promo-bg-x: 50%;
    --mh-promo-bg-y: 50%;
    --mh-promo-bg: none;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: var(--mh-promo-min-height);
    overflow: hidden;
    border: 1px solid var(--mh-promo-border);
    border-radius: 18px;
    background: #070912;
    color: var(--mh-promo-text);
}

.minihobby-promo-banner__backdrop {
    position: absolute;
    inset: 0;
    z-index: -3;
    background-image: var(--mh-promo-bg);
    background-size: cover;
    background-position: var(--mh-promo-bg-x) var(--mh-promo-bg-y);
    background-repeat: no-repeat;
    transform: scale(1.002);
}

.minihobby-promo-banner__overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg,
            rgba(5, 7, 14, .98) 0%,
            rgba(5, 7, 14, .93) 20%,
            rgba(5, 7, 14, calc(var(--mh-promo-overlay) * .92)) 38%,
            rgba(5, 7, 14, calc(var(--mh-promo-overlay) * .45)) 62%,
            rgba(5, 7, 14, calc(var(--mh-promo-overlay) * .20)) 100%
        ),
        linear-gradient(180deg,
            rgba(5, 7, 14, calc(var(--mh-promo-overlay) * .45)) 0%,
            rgba(5, 7, 14, calc(var(--mh-promo-overlay) * .10)) 55%,
            rgba(5, 7, 14, calc(var(--mh-promo-overlay) * .35)) 100%
        );
}

.minihobby-promo-banner__content {
    width: min(680px, 52%);
    padding: clamp(42px, 6vw, 88px) clamp(32px, 4.5vw, 84px);
}

.minihobby-promo-banner__subtitle {
    margin: 0 0 24px;
    color: #18d4f4;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .22em;
    line-height: 1.25;
    text-transform: uppercase;
}

.minihobby-promo-banner__title {
    margin: 0 0 22px;
    color: var(--mh-promo-text);
    font-size: clamp(38px, 4.2vw, 62px);
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.05;
}

.minihobby-promo-banner__description {
    max-width: 620px;
    margin: 0;
    color: var(--mh-promo-muted);
    font-size: clamp(16px, 1.25vw, 21px);
    font-weight: 400;
    line-height: 1.6;
}

.minihobby-promo-banner__actions {
    margin-top: 32px;
}

.minihobby-promo-banner__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 14px 30px;
    border: 1px solid var(--mh-promo-cta);
    border-radius: 10px;
    background: var(--mh-promo-cta);
    color: #fff !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    text-transform: uppercase;
    box-shadow: none;
    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.minihobby-promo-banner__cta:hover,
.minihobby-promo-banner__cta:focus-visible {
    color: #fff !important;
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(255, 97, 0, .22);
}

@media (max-width: 900px) {
    .minihobby-promo-banner {
        min-height: max(420px, var(--mh-promo-min-height));
    }

    .minihobby-promo-banner__overlay {
        background:
            linear-gradient(90deg, rgba(5, 7, 14, .96) 0%, rgba(5, 7, 14, .84) 58%, rgba(5, 7, 14, .52) 100%),
            linear-gradient(180deg, rgba(5, 7, 14, .18), rgba(5, 7, 14, .52));
    }

    .minihobby-promo-banner__content {
        width: min(760px, 78%);
        padding: 48px 36px;
    }
}

@media (max-width: 640px) {
    .minihobby-promo-banner {
        min-height: 520px;
        border-radius: 14px;
        align-items: flex-end;
    }

    .minihobby-promo-banner__backdrop {
        background-position: 66% center;
    }

    .minihobby-promo-banner__overlay {
        background:
            linear-gradient(0deg, rgba(5, 7, 14, .98) 0%, rgba(5, 7, 14, .86) 56%, rgba(5, 7, 14, .54) 100%);
    }

    .minihobby-promo-banner__content {
        width: 100%;
        padding: 38px 24px;
    }

    .minihobby-promo-banner__subtitle {
        margin-bottom: 16px;
    }

    .minihobby-promo-banner__title {
        margin-bottom: 16px;
        font-size: clamp(34px, 11vw, 48px);
    }

    .minihobby-promo-banner__description {
        font-size: 16px;
    }

    .minihobby-promo-banner__actions {
        margin-top: 26px;
    }

    .minihobby-promo-banner__cta {
        width: 100%;
    }
}
