/*
 * VSL Team Profile Photo Upgrade
 * Adds real staff photography and contact details without changing team URLs.
 */

.vsl-team-clean-image {
    overflow: hidden;
}

.vsl-team-clean-image.has-profile-photo {
    position: absolute;
    inset: 0;
    background: #eaf4f7 !important;
}

.vsl-team-clean-image.has-profile-photo::before,
.vsl-team-clean-image.has-profile-photo::after {
    opacity: 0 !important;
}

.vsl-team-clean-image.has-profile-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center 18%;
    transform: scale(1.005);
    transition:
        transform 520ms cubic-bezier(.2, .75, .2, 1),
        filter 420ms ease;
    filter: saturate(.96) contrast(1.02);
}

.vsl-team-clean-card:hover .vsl-team-clean-image.has-profile-photo img,
.vsl-team-clean-card:focus-visible .vsl-team-clean-image.has-profile-photo img {
    transform: scale(1.045);
    filter: saturate(1) contrast(1.035);
}

.vsl-team-clean-phone {
    width: fit-content;
    max-width: 100%;
    margin-top: 10px;
    padding: 7px 10px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    background: rgba(9, 25, 56, .52);
    color: #fff;
    font-family: Inter, Poppins, Arial, sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 750;
    line-height: 1;
    letter-spacing: .01em;
    white-space: nowrap;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}

.vsl-team-clean-phone > span {
    width: 18px;
    height: 18px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #31459a, #1db9c2);
    color: #fff;
    font-size: 9px;
}

@media (max-width: 640px) {
    .vsl-team-clean-phone {
        font-size: 10px;
        padding: 6px 8px;
    }
}

/* VSL PROFILE PHOTO VISIBILITY — AUTHORITATIVE START */

/*
 * Real-photo cards keep the existing design, but the image remains visible
 * behind the copy instead of being swallowed by a dark opaque panel.
 */
.vsl-team-clean-card.has-profile-photo-card {
    background: #07172a !important;
    isolation: isolate;
}

.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-image.has-profile-photo {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    transform: none !important;
    background: #eaf4f7 !important;
    z-index: 0 !important;
}

.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-image.has-profile-photo img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 10% !important;
    opacity: 1 !important;
    transform: scale(1.10) !important;
    filter:
        brightness(1.08)
        saturate(1.02)
        contrast(1.015) !important;
    transition:
        transform 520ms cubic-bezier(.2, .75, .2, 1),
        filter 420ms ease !important;
}

.vsl-team-clean-card.has-profile-photo-card:hover .vsl-team-clean-image.has-profile-photo img,
.vsl-team-clean-card.has-profile-photo-card:focus-visible .vsl-team-clean-image.has-profile-photo img {
    transform: scale(1.15) !important;
    filter:
        brightness(1.10)
        saturate(1.04)
        contrast(1.02) !important;
}

/* Lighter image overlay: image stays visible from top to bottom. */
.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-gradient {
    z-index: 1 !important;
    opacity: 1 !important;
    background:
        linear-gradient(
            180deg,
            rgba(4, 12, 32, 0.00) 0%,
            rgba(4, 12, 32, 0.03) 30%,
            rgba(4, 12, 32, 0.15) 48%,
            rgba(4, 12, 32, 0.34) 70%,
            rgba(4, 12, 32, 0.58) 100%
        ),
        radial-gradient(
            circle at 22% 12%,
            rgba(29, 185, 194, 0.08),
            transparent 46%
        ) !important;
}

/* Copy receives only a light readability veil, not an opaque block. */
.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-card-body {
    z-index: 3 !important;
    background:
        linear-gradient(
            180deg,
            rgba(4, 12, 32, 0.05) 0%,
            rgba(4, 12, 32, 0.18) 35%,
            rgba(4, 12, 32, 0.34) 100%
        ) !important;
    backdrop-filter: blur(1.5px) !important;
    -webkit-backdrop-filter: blur(1.5px) !important;
}

.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-card-top {
    z-index: 4 !important;
}

.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-card-body strong,
.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-card-body em,
.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-card-body small,
.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-card-body b,
.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-phone {
    text-shadow: 0 3px 16px rgba(0, 0, 0, .78);
}

.vsl-team-clean-card.has-profile-photo-card .vsl-team-clean-phone {
    background: rgba(5, 17, 42, .42) !important;
    border-color: rgba(255, 255, 255, .28) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
}

/* VSL PROFILE PHOTO VISIBILITY — AUTHORITATIVE END */

/* VSL COMPLETE TEAM PHOTO CROPS — START */

.vsl-team-clean-card img[src$="kiggundu-victor-paul.webp"] {
    object-position: center 10% !important;
    transform: scale(1.08) !important;
}

.vsl-team-clean-card img[src$="dr-monkya-samuel-namenkere.webp"] {
    object-position: center 18% !important;
    transform: scale(1.055) !important;
}

.vsl-team-clean-card img[src$="kisakye-lilian-tracy.webp"] {
    object-position: center 11% !important;
    transform: scale(1.08) !important;
}

.vsl-team-clean-card img[src$="dr-kisseka-abdallah.webp"] {
    object-position: center 10% !important;
    transform: scale(1.07) !important;
}

.vsl-team-clean-card img[src$="enock-williams-wasswa.webp"] {
    object-position: center 10% !important;
    transform: scale(1.07) !important;
}

.vsl-team-clean-card img[src$="dr-kisembo-joseph-a-l.webp"] {
    object-position: center 10% !important;
    transform: scale(1.07) !important;
}

.vsl-team-clean-card:hover img[src$="kiggundu-victor-paul.webp"],
.vsl-team-clean-card:focus-visible img[src$="kiggundu-victor-paul.webp"] {
    transform: scale(1.12) !important;
}

.vsl-team-clean-card:hover img[src$="dr-monkya-samuel-namenkere.webp"],
.vsl-team-clean-card:focus-visible img[src$="dr-monkya-samuel-namenkere.webp"] {
    transform: scale(1.095) !important;
}

.vsl-team-clean-card:hover img[src$="kisakye-lilian-tracy.webp"],
.vsl-team-clean-card:focus-visible img[src$="kisakye-lilian-tracy.webp"],
.vsl-team-clean-card:hover img[src$="dr-kisseka-abdallah.webp"],
.vsl-team-clean-card:focus-visible img[src$="dr-kisseka-abdallah.webp"],
.vsl-team-clean-card:hover img[src$="enock-williams-wasswa.webp"],
.vsl-team-clean-card:focus-visible img[src$="enock-williams-wasswa.webp"],
.vsl-team-clean-card:hover img[src$="dr-kisembo-joseph-a-l.webp"],
.vsl-team-clean-card:focus-visible img[src$="dr-kisembo-joseph-a-l.webp"] {
    transform: scale(1.11) !important;
}

/* VSL COMPLETE TEAM PHOTO CROPS — END */

/* VSL CHRISTINE NAMUGERWA PHOTO CROP - START */

.vsl-team-clean-card img[src$="christine-namugerwa.webp"] {
    object-position: center 12% !important;
    transform: scale(1.06) !important;
    filter:
        brightness(1.035)
        saturate(1.01)
        contrast(1.015) !important;
}

.vsl-team-clean-card:hover img[src$="christine-namugerwa.webp"],
.vsl-team-clean-card:focus-visible img[src$="christine-namugerwa.webp"] {
    transform: scale(1.10) !important;
    filter:
        brightness(1.055)
        saturate(1.025)
        contrast(1.02) !important;
}

/* VSL CHRISTINE NAMUGERWA PHOTO CROP - END */

/* VSL WARREN ABUBAKAR PHOTO CROPS - START */

.vsl-team-clean-card img[src$="warren-mondo.webp"] {
    object-position: center 16% !important;
    transform: scale(1.23) !important;
    filter:
        brightness(1.03)
        saturate(1.01)
        contrast(1.015) !important;
}

.vsl-team-clean-card:hover img[src$="warren-mondo.webp"],
.vsl-team-clean-card:focus-visible img[src$="warren-mondo.webp"] {
    transform: scale(1.28) !important;
    filter:
        brightness(1.05)
        saturate(1.02)
        contrast(1.02) !important;
}

.vsl-team-clean-card img[src$="makamba-abubakar.webp"] {
    object-position: center 12% !important;
    transform: scale(1.08) !important;
    filter:
        brightness(1.03)
        saturate(1.01)
        contrast(1.015) !important;
}

.vsl-team-clean-card:hover img[src$="makamba-abubakar.webp"],
.vsl-team-clean-card:focus-visible img[src$="makamba-abubakar.webp"] {
    transform: scale(1.12) !important;
    filter:
        brightness(1.05)
        saturate(1.02)
        contrast(1.02) !important;
}

/* VSL WARREN ABUBAKAR PHOTO CROPS - END */

/* VSL KIIZA EMMANUEL PHOTO CROP - START */

.vsl-team-clean-card img[src$="kiiza-emmanuel.webp"] {
    object-position: center 12% !important;
    transform: scale(1.02) !important;
    filter:
        brightness(1.025)
        saturate(1.01)
        contrast(1.015) !important;
}

.vsl-team-clean-card:hover img[src$="kiiza-emmanuel.webp"],
.vsl-team-clean-card:focus-visible img[src$="kiiza-emmanuel.webp"] {
    transform: scale(1.05) !important;
    filter:
        brightness(1.04)
        saturate(1.02)
        contrast(1.02) !important;
}

/* VSL KIIZA EMMANUEL PHOTO CROP - END */
