/*
 * Velocity Admini V32
 * Scoped only to the Admini page.
 * No global card/panel/hero overrides.
 */

body.vc-admins-v32 main {
    isolation: isolate;
}

/* Existing Admini hero: preserve its artwork/layout, add depth only. */
body.vc-admins-v32 .hero,
body.vc-admins-v32 .vc-page-hero {
    position: relative;
    overflow: hidden;
    border-color: rgba(62, 157, 226, .36) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.025),
        0 22px 60px rgba(0,0,0,.22),
        0 0 38px rgba(22,137,235,.055);
}

body.vc-admins-v32 .hero > *,
body.vc-admins-v32 .vc-page-hero > * {
    position: relative;
    z-index: 2;
}

/* Admin cards only. */
body.vc-admins-v32 .staff-card,
body.vc-admins-v32 .panel.staff-card {
    position: relative;
    overflow: hidden;

    border: 1px solid rgba(71, 143, 197, .27) !important;
    border-radius: 12px !important;

    background:
        radial-gradient(circle at 84% 10%, rgba(21,128,224,.11), transparent 31%),
        linear-gradient(155deg, rgba(8,29,45,.96), rgba(5,19,31,.97)) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.022),
        0 13px 34px rgba(0,0,0,.17);

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease,
        background .22s ease;
}

/* Very subtle light sweep; no extra image assets. */
body.vc-admins-v32 .staff-card::after,
body.vc-admins-v32 .panel.staff-card::after {
    content: "";
    position: absolute;
    top: -70%;
    left: -35%;
    width: 32%;
    height: 240%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(102,194,255,.065),
        transparent
    );

    transform: rotate(18deg) translateX(-220%);
    transition: transform .65s ease;
    pointer-events: none;
    z-index: 1;
}

body.vc-admins-v32 .staff-card > *,
body.vc-admins-v32 .panel.staff-card > * {
    position: relative;
    z-index: 2;
}

@media (hover:hover) and (pointer:fine) {
    body.vc-admins-v32 .staff-card:hover,
    body.vc-admins-v32 .panel.staff-card:hover {
        transform: translateY(-5px);
        border-color: rgba(58,172,247,.58) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.035),
            0 20px 46px rgba(0,0,0,.25),
            0 0 28px rgba(25,145,240,.095);
    }

    body.vc-admins-v32 .staff-card:hover::after,
    body.vc-admins-v32 .panel.staff-card:hover::after {
        transform: rotate(18deg) translateX(520%);
    }
}

/* Existing avatar/photo elements get a cleaner blue edge without changing sizing. */
body.vc-admins-v32 .staff-card img,
body.vc-admins-v32 .panel.staff-card img {
    transition:
        transform .22s ease,
        filter .22s ease,
        box-shadow .22s ease;
}

@media (hover:hover) and (pointer:fine) {
    body.vc-admins-v32 .staff-card:hover img,
    body.vc-admins-v32 .panel.staff-card:hover img {
        transform: scale(1.025);
        filter: saturate(1.06) brightness(1.035);
    }
}

/* Cleaner text hierarchy, but preserve current font sizes/layout. */
body.vc-admins-v32 .staff-card h2,
body.vc-admins-v32 .staff-card h3,
body.vc-admins-v32 .staff-card strong,
body.vc-admins-v32 .panel.staff-card h2,
body.vc-admins-v32 .panel.staff-card h3,
body.vc-admins-v32 .panel.staff-card strong {
    text-shadow: 0 2px 14px rgba(0,0,0,.22);
}

body.vc-admins-v32 .staff-card a,
body.vc-admins-v32 .panel.staff-card a {
    transition:
        color .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

/* One-time entrance; JS adds .vc-admins-ready after page load. */
body.vc-admins-v32:not(.vc-admins-ready) .staff-card {
    opacity: 0;
    transform: translateY(8px);
}

body.vc-admins-v32.vc-admins-ready .staff-card {
    animation: vcAdminsCardIn .42s ease both;
}

body.vc-admins-v32.vc-admins-ready .staff-card:nth-of-type(2) { animation-delay: .04s; }
body.vc-admins-v32.vc-admins-ready .staff-card:nth-of-type(3) { animation-delay: .08s; }
body.vc-admins-v32.vc-admins-ready .staff-card:nth-of-type(4) { animation-delay: .12s; }
body.vc-admins-v32.vc-admins-ready .staff-card:nth-of-type(5) { animation-delay: .16s; }
body.vc-admins-v32.vc-admins-ready .staff-card:nth-of-type(6) { animation-delay: .20s; }

@keyframes vcAdminsCardIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 680px) {
    body.vc-admins-v32 .staff-card,
    body.vc-admins-v32 .panel.staff-card {
        border-radius: 10px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.vc-admins-v32 .staff-card,
    body.vc-admins-v32 .panel.staff-card,
    body.vc-admins-v32 .staff-card::after,
    body.vc-admins-v32 .panel.staff-card::after,
    body.vc-admins-v32 .staff-card img,
    body.vc-admins-v32 .panel.staff-card img {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    body.vc-admins-v32:not(.vc-admins-ready) .staff-card {
        opacity: 1;
        transform: none;
    }
}
