.wp-block-lsm-headsm,
.lsm-headsm-block-wrapper {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.lsm-headsm {
    --lsm-headsm-accent: #e30613;
    --lsm-headsm-surface: #ffffff;
    --lsm-headsm-radius: 28px;
    position: relative;
}

.lsm-headsm__badge-wrap {
    text-align: center;
    position: relative;
    z-index: 3;
    margin-bottom: -18px;
}

.lsm-headsm__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: min(84%, 660px);
    padding: clamp(14px, 2vw, 22px) clamp(28px, 4vw, 64px) clamp(18px, 2.3vw, 26px);
    background: var(--lsm-headsm-accent);
    color: #ffffff;
    border-radius: 0 0 calc(var(--lsm-headsm-radius) + 10px) calc(var(--lsm-headsm-radius) + 10px);
    font-size: clamp(1.35rem, 2.7vw, 3rem);
    font-weight: 800;
    line-height: 1;
    text-align: center;
    box-shadow: 0 10px 28px rgba(227, 6, 19, 0.18);
}

.lsm-headsm__frame {
    border: 10px solid var(--lsm-headsm-accent);
    border-radius: var(--lsm-headsm-radius);
    background: var(--lsm-headsm-surface);
    overflow: hidden;
}

.lsm-headsm__media-link,
.lsm-headsm__image {
    display: block;
}

.lsm-headsm__media-link {
    text-decoration: none;
}

.lsm-headsm__image {
    width: 100%;
    height: auto;
    object-fit: contain;
    margin: 0;
}

.lsm-headsm__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    padding: 24px;
    background: #efefef;
    color: #6a6a6a;
    text-align: center;
    font-weight: 600;
}

@media (max-width: 767px) {
    .lsm-headsm__badge-wrap {
        margin-bottom: -12px;
    }

    .lsm-headsm__frame {
        border-width: 7px;
    }

    .lsm-headsm__badge {
        min-width: 74%;
        max-width: 92%;
    }
}
