:root {
    --virtual-listing-desc-padding: 0;
    --virtual-listing-desc-gap: 16px;
    --virtual-listing-desc-border-radius: 16px;
    --virtual-listing-img-border-radius: 8px;
    --virtual-listing-gap-row-col: 24px;
    --virtual-listing-card-bg: #F4F8FF;
    --virtual-listing-desc-width: 100%;
    --virtual-listing-img-width: 100%;
}

.virtual-listing-desc .h4 a {
    color: var(--text-primary);
}

.virtual-listing-desc .h4 a:hover {
    color: var(--blueHover);
}

.virtual-events-listing-wrapper {
    background: linear-gradient(180deg, var(--Brand-25, #F4FAFF) 0%, #FFF 100%);
}



.virtual-listing-grid {
    display: flex;
    flex-direction: column;
    gap: var(--virtual-listing-gap-row-col);
}

.virtual-listing-row {
    display: flex;
    flex-direction: column;
    gap: var(--virtual-listing-gap-row-col);
}

/* ===== Left: description card ===== */
.virtual-listing-desc {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--virtual-listing-desc-gap);
    box-shadow: var(--web-gray-32-dp-3-xl-x, 0) 18px 28px -20px rgba(153, 198, 255, 0.10);
}

.virtual-listing-desc :is(h3, h4, h2, p) {
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

.virtual-listing-desc__meta {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 8px;
    color: var(--text-primary, #1B223A);
    font-weight: 400;
}

.virtual-listing-desc__meta img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.virtual-listing-desc__cta {
    margin-top: auto;
    font-weight: 500;
    color: var(--blue);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.virtual-listing-desc__cta:where(:hover, :focus) {
    color: var(--blueHover);
    text-decoration: none
}

.virtual-listing-tags {
    font-weight: 400;
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap;
    color: #000823
}

.virtual-listing-tags__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--orange, #F97C00);
    flex-shrink: 0;
}

/* ===== Right: media card ===== */
.virtual-listing-img {
    display: flex;
    border-radius: var(--virtual-listing-img-border-radius);
    overflow: hidden;
    background: #e5f3fe;
    border: 1px solid var(--brand-200, #99C6FF);
}

.virtual-listing-img__media {
    width: 100%;
    height: auto;
    /* object-fit: cover; */
    display: block;
}

.virtual-listing-img a {
    display: flex;
    align-self: center;
    width:100%;
}

@media (max-width: 767px) {
    .virtual-listing-row {
        padding: 24px;
        border-radius: var(--virtual-listing-desc-border-radius);
        border: 1px solid var(--Brand-200, #99C6FF);
        background: linear-gradient(180deg, var(--brand-25, #F4FAFF) 0%, #FFF 100%);
        box-shadow: var(--web-gray-32-dp-3-xl-x, 0) 18px 28px -20px rgba(153, 198, 255, 0.10);
    }

    .virtual-events-listing-wrapper {
        padding-top: 68px;
    }

    /* .virtual-listing-desc__cta {
        margin-top: 17px;
    } */

    .virtual-listing-desc__cta i {
        font-size: 19px;
        padding-left: 5px;
    }
}

/* ===== 768px and above: pair cards into rows ===== */
@media (min-width: 768px) {
    :root {
        --virtual-listing-desc-padding: 24px;
        --virtual-listing-desc-gap: 16px;
        --virtual-listing-desc-border-radius: 16px;
        --virtual-listing-img-border-radius: 16px;
        --virtual-listing-card-bg: #F4F8FF;
        --virtual-listing-desc-width: 315px;
        --virtual-listing-img-width: 381px;
    }

    .virtual-listing-row {
        flex-direction: row-reverse;
        align-items: flex-start;
    }

    .virtual-listing-desc,
    .virtual-listing-img {
        flex: 1 1 0%;
        min-width: 0;
    }

    .virtual-listing-desc {
        max-width: var(--virtual-listing-desc-width);
    }

    .virtual-listing-img {
        max-width: var(--virtual-listing-img-width);
    }

    .virtual-listing-desc {
        border: 1px solid var(--brand-200, #99C6FF);
        padding: var(--virtual-listing-desc-padding);
        border-radius: var(--virtual-listing-desc-border-radius);
        background: linear-gradient(180deg, var(--brand-25, #F4FAFF) 0%, #FFF 100%);
        box-shadow: var(--web-gray-32-dp-3-xl-x, 0) 18px 28px -20px rgba(153, 198, 255, 0.10);
    }

    .virtual-events-listing-wrapper {
        margin-top: -58px;
    }

}

@media (min-width: 768px) and (max-width: 990px) {
    .virtual-listing-desc__cta {
        margin-top: 33px;
    }

    .virtual-listing-desc__cta i {
        padding-left: 6px
    }
}

/* ===== 991px and above ===== */
@media (min-width: 991px) {
    :root {
        --virtual-listing-desc-padding: 32px;
        --virtual-listing-desc-gap: 16px;
        --virtual-listing-card-bg: #F4F8FF;
        --virtual-listing-desc-width: 372px;
        --virtual-listing-img-width: 532px;
    }

    .virtual-listing-row {
        align-items: stretch;
    }

    .virtual-events-listing-wrapper {
        margin-top: -19px;
    }
}

/* ===== 1200px and above ===== */
@media (min-width: 1200px) {
    :root {
        --virtual-listing-desc-padding: 40px;
        --virtual-listing-desc-gap: 24px;
        --virtual-listing-desc-border-radius: 24px;
        --virtual-listing-img-border-radius: 24px;
        --virtual-listing-card-bg: #F4F8FF;
        --virtual-listing-desc-width: 496px;
        --virtual-listing-img-width: 704px;

    }

    .virtual-events-listing-wrapper {
        margin-top: -10px;
    }

    .virtual-listing-desc__cta {
        gap: 12px;
    }
}

/* ===== 1601px and above ===== */
@media (min-width: 1180px) and (max-width: 1330px) {
    :root {
        --virtual-listing-desc-width: 696px;
        --virtual-listing-img-width: 526px;
    }
}

@media (min-width: 1601px) {
    :root {
        --virtual-listing-desc-padding: 56px;
        --virtual-listing-desc-gap: 24px;
        --virtual-listing-gap-row-col: 32px;
        --virtual-listing-card-bg: #F4F8FF;
        --virtual-listing-desc-width: 566px;
        --virtual-listing-img-width: 858px;
    }

    .virtual-events-listing-wrapper .container {
        /* 1460px of row content (desc + gap + img) plus the container's own left/right padding */
        max-width: calc(var(--virtual-listing-desc-width) + var(--virtual-listing-gap-row-col) + var(--virtual-listing-img-width) + (var(--containerFluidPadding) * 2));
        margin-inline: auto
    }

    .virtual-listing-desc .h4 {
        line-height: 44px;
    }

    .virtual-listing-desc__cta i {
        font-size: 22px;
    }

    .virtual-events-listing-wrapper {
        margin-top: 0
    }
}
@media (min-width: 1201px) and (max-width: 1600px)
{
.cta-band .container-sm {
  	max-width: 960px !important
  }
}