.spvc-thumbnail-wrap {
    position: relative;
    display: block;
    width: 100%;
    line-height: 0;
    overflow: hidden;
    border-radius: 20px;
    isolation: isolate;
}

.spvc-thumbnail-wrap > a,
.spvc-thumbnail-wrap > img,
.spvc-thumbnail-wrap .wp-post-image,
.spvc-thumbnail-wrap .attachment-post-thumbnail,
.spvc-thumbnail-wrap picture,
.spvc-thumbnail-wrap picture img,
.spvc-thumbnail-wrap .fusion-imageframe,
.spvc-thumbnail-wrap .fusion-imageframe img {
    display: block;
    width: 100%;
    height: auto;
}

.spvc-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 30;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 15px;
    border-radius: 999px;
    background: linear-gradient(
        135deg,
        rgba(8, 14, 10, 0.80),
        rgba(18, 32, 22, 0.66)
    );
    backdrop-filter: blur(14px) saturate(155%);
    -webkit-backdrop-filter: blur(14px) saturate(155%);
    border: 1px solid rgba(120, 255, 160, 0.16);
    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.32),
        0 0 0 1px rgba(255, 255, 255, 0.03) inset,
        0 0 18px rgba(80, 255, 140, 0.10);
    color: #ffffff;
    line-height: 1;
    pointer-events: none;
    transform: translateZ(0);
}

.spvc-badge::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.14) 0%,
        rgba(200, 255, 220, 0.05) 45%,
        rgba(255, 255, 255, 0.015) 100%
    );
    z-index: -1;
}

.spvc-badge::after {
    content: '';
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: radial-gradient(
        circle at top left,
        rgba(158, 255, 176, 0.12),
        transparent 42%
    );
    z-index: -1;
}

.spvc-badge-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: #98ffb3;
    opacity: 1;
    filter: drop-shadow(0 0 6px rgba(120, 255, 160, 0.18));
}

.spvc-badge-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
}

.spvc-badge-count {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: #ffffff;
    white-space: nowrap;
    text-rendering: optimizeLegibility;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
}

.single-post .spvc-thumbnail-wrap,
.single .spvc-thumbnail-wrap {
    margin-bottom: 0;
}

.fusion-post-content-container .spvc-thumbnail-wrap,
.fusion-post-slideshow .spvc-thumbnail-wrap,
.fusion-image-wrapper .spvc-thumbnail-wrap,
.fusion-imageframe .spvc-thumbnail-wrap {
    border-radius: inherit;
}

@media (max-width: 768px) {
    .spvc-badge {
        top: 10px;
        right: 10px;
        min-height: 36px;
        padding: 8px 12px;
        gap: 6px;
        border-width: 1px;
    }

    .spvc-badge-count {
        font-size: 12px;
    }

    .spvc-badge-icon,
    .spvc-badge-icon svg {
        width: 16px;
        height: 16px;
    }
}