/* ================================================================
   PERTICOM Academy — WOW Effects 1.0.34
   Premium visual layer: subtle, scoped, performant.
   ================================================================ */

/* ---------- GLOBAL PREMIUM SURFACE ---------- */
body .pac-academy {
    --pac-wow-shadow: 0 22px 60px rgba(15, 23, 42, .10);
    --pac-wow-shadow-soft: 0 14px 36px rgba(15, 23, 42, .065);
    --pac-wow-line: rgba(255, 255, 255, .56);
    --pac-wow-glow: rgba(237, 27, 47, .13);
    --pac-wow-blue: rgba(59, 130, 246, .12);
    --pac-wow-purple: rgba(124, 58, 237, .11);
    isolation: isolate;
}

/* Smooth selection */
body .pac-academy ::selection {
    background: rgba(237, 27, 47, .18);
    color: #111827;
}

/* Ambient page glow — not a flat background */
body .pac-academy.pac-page-dashboard,
body .pac-academy.pac-page-catalog,
body .pac-academy.pac-page-course,
body .pac-academy.pac-page-lesson,
body .pac-academy.pac-page-login,
body .pac-academy.pac-page-certificates {
    position: relative;
    overflow-x: clip;
}

body .pac-academy.pac-page-dashboard::before,
body .pac-academy.pac-page-catalog::before,
body .pac-academy.pac-page-course::before,
body .pac-academy.pac-page-lesson::before,
body .pac-academy.pac-page-login::before,
body .pac-academy.pac-page-certificates::before {
    content: "";
    position: fixed;
    inset: -20% -10% auto -10%;
    height: 440px;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(circle at 18% 20%, rgba(237, 27, 47, .075), transparent 24%),
        radial-gradient(circle at 84% 18%, rgba(59, 130, 246, .055), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,0));
    filter: blur(.1px);
}

/* ---------- HERO WOW LAYER ---------- */
body .pac-academy .pac-catalog-hero,
body .pac-academy .pac-course-hero,
body .pac-academy .pac-dash-welcome {
    position: relative;
    overflow: hidden;
}

body .pac-academy .pac-catalog-hero::after,
body .pac-academy .pac-course-hero::after,
body .pac-academy .pac-dash-welcome::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .55;
    background:
        linear-gradient(120deg, transparent 0%, rgba(255,255,255,.08) 28%, transparent 42%),
        radial-gradient(circle at var(--pac-mouse-x, 65%) var(--pac-mouse-y, 35%), rgba(255,255,255,.13), transparent 24%);
    mix-blend-mode: screen;
}

/* discreet grid texture */
body .pac-academy .pac-catalog-hero > *,
body .pac-academy .pac-course-hero > *,
body .pac-academy .pac-dash-welcome > * {
    position: relative;
    z-index: 1;
}

/* Animated but subtle kicker underline */
body .pac-academy .pac-kicker,
body .pac-academy .pac-catalog-hero__kicker,
body .pac-academy .pac-lesson__header-kicker,
body .pac-academy .pac-course-card__kicker {
    position: relative;
    width: fit-content;
}

body .pac-academy .pac-kicker::after,
body .pac-academy .pac-catalog-hero__kicker::after,
body .pac-academy .pac-lesson__header-kicker::after,
body .pac-academy .pac-course-card__kicker::after {
    content: "";
    display: block;
    width: 24px;
    height: 2px;
    margin-top: 7px;
    border-radius: 999px;
    background: currentColor;
    opacity: .45;
}

/* ---------- CARDS: SPOTLIGHT + DEPTH ---------- */
body .pac-academy .pac-course-card,
body .pac-academy .pac-dash-course,
body .pac-academy .pac-dash-kpi,
body .pac-academy .pac-course-benefit,
body .pac-academy .pac-course-description,
body .pac-academy .pac-programme,
body .pac-academy .pac-course-sidebar__card,
body .pac-academy .pac-lesson__main,
body .pac-academy .pac-lesson__sidebar,
body .pac-academy .pac-certificate-card,
body .pac-academy .pac-gamif-card,
body .pac-academy .pac-ai__panel {
    position: relative;
    overflow: hidden;
    transition:
        transform .22s cubic-bezier(.2,.8,.2,1),
        box-shadow .22s cubic-bezier(.2,.8,.2,1),
        border-color .22s cubic-bezier(.2,.8,.2,1),
        background .22s cubic-bezier(.2,.8,.2,1);
}

body .pac-academy .pac-course-card::before,
body .pac-academy .pac-dash-course::before,
body .pac-academy .pac-dash-kpi::before,
body .pac-academy .pac-course-benefit::before,
body .pac-academy .pac-course-description::before,
body .pac-academy .pac-programme::before,
body .pac-academy .pac-course-sidebar__card::before,
body .pac-academy .pac-lesson__main::before,
body .pac-academy .pac-lesson__sidebar::before,
body .pac-academy .pac-certificate-card::before,
body .pac-academy .pac-gamif-card::before,
body .pac-academy .pac-ai__panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity .22s ease;
    background:
        radial-gradient(
            420px circle at var(--pac-card-x, 50%) var(--pac-card-y, 50%),
            rgba(237, 27, 47, .105),
            transparent 42%
        );
}

body .pac-academy .pac-course-card:hover::before,
body .pac-academy .pac-dash-course:hover::before,
body .pac-academy .pac-dash-kpi:hover::before,
body .pac-academy .pac-course-benefit:hover::before,
body .pac-academy .pac-course-description:hover::before,
body .pac-academy .pac-programme:hover::before,
body .pac-academy .pac-course-sidebar__card:hover::before,
body .pac-academy .pac-lesson__main:hover::before,
body .pac-academy .pac-lesson__sidebar:hover::before,
body .pac-academy .pac-certificate-card:hover::before,
body .pac-academy .pac-gamif-card:hover::before,
body .pac-academy .pac-ai__panel:hover::before {
    opacity: 1;
}

body .pac-academy .pac-course-card:hover,
body .pac-academy .pac-dash-course:hover,
body .pac-academy .pac-course-benefit:hover,
body .pac-academy .pac-certificate-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--pac-wow-shadow);
    border-color: rgba(237, 27, 47, .18);
}

/* Prevent nested content from being hidden below spotlight */
body .pac-academy .pac-course-card > *,
body .pac-academy .pac-dash-course > *,
body .pac-academy .pac-dash-kpi > *,
body .pac-academy .pac-course-benefit > *,
body .pac-academy .pac-course-description > *,
body .pac-academy .pac-programme > *,
body .pac-academy .pac-course-sidebar__card > *,
body .pac-academy .pac-lesson__main > *,
body .pac-academy .pac-lesson__sidebar > *,
body .pac-academy .pac-certificate-card > *,
body .pac-academy .pac-gamif-card > *,
body .pac-academy .pac-ai__panel > * {
    position: relative;
    z-index: 1;
}

/* ---------- COURSE CARDS VISUAL UPGRADE ---------- */
body .pac-academy .pac-course-card__media {
    position: relative;
}

body .pac-academy .pac-course-card__media::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 42%;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(15, 23, 42, .28));
    opacity: .55;
}

body .pac-academy .pac-course-card__media img,
body .pac-academy .pac-course-card__media video {
    transform: scale(1.001);
    transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .7s cubic-bezier(.2,.8,.2,1);
}

body .pac-academy .pac-course-card:hover .pac-course-card__media img,
body .pac-academy .pac-course-card:hover .pac-course-card__media video {
    transform: scale(1.055);
    filter: saturate(1.05) contrast(1.02);
}

/* Premium placeholder shimmer */
body .pac-academy .pac-course-card__media--placeholder,
body .pac-academy .pac-course-hero__visual-placeholder,
body .pac-academy .pac-lesson__video-placeholder {
    position: relative;
    overflow: hidden;
}

body .pac-academy .pac-course-card__media--placeholder::after,
body .pac-academy .pac-course-hero__visual-placeholder::after,
body .pac-academy .pac-lesson__video-placeholder::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-110%);
    background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,.45) 48%, transparent 70%);
    animation: pac-wow-shimmer 4.8s ease-in-out infinite;
}

/* ---------- BUTTONS: CLEAN RIPPLE / GLOW ---------- */
body .pac-academy .pac-btn,
body .pac-academy button,
body .pac-academy .pac-pill,
body .pac-academy .pac-favorite-btn {
    transform: translateZ(0);
}

body .pac-academy .pac-btn-primary,
body .pac-academy a.pac-btn-primary,
body .pac-academy button.pac-btn-primary {
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 26px rgba(237, 27, 47, .18);
}

body .pac-academy .pac-btn-primary::after,
body .pac-academy a.pac-btn-primary::after,
body .pac-academy button.pac-btn-primary::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-105%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
    transition: transform .55s ease;
}

body .pac-academy .pac-btn-primary:hover::after,
body .pac-academy a.pac-btn-primary:hover::after,
body .pac-academy button.pac-btn-primary:hover::after {
    transform: translateX(105%);
}

/* ---------- TOPBAR POLISH ---------- */
body .pac-academy.pac-topbar {
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
}

body .pac-academy.pac-topbar .pac-topbar__logo-img {
    transition: transform .22s ease, filter .22s ease;
}

body .pac-academy.pac-topbar .pac-topbar__logo:hover .pac-topbar__logo-img {
    transform: translateY(-1px);
    filter: drop-shadow(0 8px 16px rgba(15,23,42,.10));
}

/* ---------- LESSON PLAYER WOW BUT READABLE ---------- */
body .pac-academy .pac-lesson__main {
    box-shadow: 0 18px 48px rgba(15, 23, 42, .075);
}

body .pac-academy .pac-lesson__header {
    background:
        radial-gradient(circle at 90% 0%, rgba(237, 27, 47, .055), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,250,251,.92));
}

body .pac-academy .pac-lesson__body {
    max-width: 880px;
}

body .pac-academy .pac-lesson__body h2,
body .pac-academy .pac-lesson__body h3 {
    position: relative;
}

body .pac-academy .pac-lesson__body h2::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 10px;
    border-radius: 999px;
    background: var(--pac-red);
    vertical-align: .18em;
    opacity: .75;
}

/* Sidebar mini timeline */
body .pac-academy .pac-lesson__sidebar-lessons {
    position: relative;
}

body .pac-academy .pac-lesson__sidebar-lesson.is-current {
    box-shadow: inset 3px 0 0 var(--pac-red);
}

/* ---------- PROGRESS BAR / KPIS ---------- */
body .pac-academy .pac-progress__bar,
body .pac-academy .pac-level-progress__bar,
body .pac-academy .pac-xp-progress__bar {
    position: relative;
    overflow: hidden;
}

body .pac-academy .pac-progress__bar::after,
body .pac-academy .pac-level-progress__bar::after,
body .pac-academy .pac-xp-progress__bar::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent);
    animation: pac-wow-progress 2.8s ease-in-out infinite;
}

/* ---------- AI BUTTON SUBTLE WOW ---------- */
body .pac-ai__trigger {
    animation: pac-wow-soft-pulse 4.5s ease-in-out infinite;
}

/* ---------- SCROLL REVEAL ---------- */
body .pac-wow-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition:
        opacity .65s cubic-bezier(.2,.8,.2,1),
        transform .65s cubic-bezier(.2,.8,.2,1);
    will-change: opacity, transform;
}

body .pac-wow-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ---------- FLOATING COMMAND / BACK TO TOP UPGRADE ---------- */
body .pac-learning-tools button {
    border: 1px solid rgba(229,231,235,.92);
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

body .pac-reading-progress {
    height: 4px;
    background:
        linear-gradient(90deg, var(--pac-red), #ff6b7d, var(--pac-red));
    background-size: 180% 100%;
    animation: pac-wow-reading-gradient 5s linear infinite;
}

/* ---------- CERTIFICATES ---------- */
body .pac-academy .pac-certificate-card__preview,
body .pac-academy .pac-certificate__preview {
    background:
        radial-gradient(circle at 18% 18%, rgba(237,27,47,.14), transparent 24%),
        linear-gradient(135deg, #ffffff 0%, #f7f8fc 100%);
}

/* ---------- FORMS ---------- */
body .pac-academy input[type="text"],
body .pac-academy input[type="email"],
body .pac-academy input[type="password"],
body .pac-academy input[type="search"],
body .pac-academy input[type="url"],
body .pac-academy input[type="number"],
body .pac-academy select,
body .pac-academy textarea {
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

body .pac-academy input:focus,
body .pac-academy select:focus,
body .pac-academy textarea:focus {
    box-shadow: 0 0 0 4px rgba(237, 27, 47, .08) !important;
}

/* ---------- ANIMATIONS ---------- */
@keyframes pac-wow-shimmer {
    0%, 58% { transform: translateX(-110%); }
    78%, 100% { transform: translateX(110%); }
}

@keyframes pac-wow-progress {
    0%, 38% { transform: translateX(-100%); }
    70%, 100% { transform: translateX(100%); }
}

@keyframes pac-wow-soft-pulse {
    0%, 100% { box-shadow: 0 18px 42px rgba(237, 27, 47, .16), 0 8px 18px rgba(15, 23, 42, .10); }
    50% { box-shadow: 0 22px 52px rgba(237, 27, 47, .25), 0 10px 22px rgba(15, 23, 42, .12); }
}

@keyframes pac-wow-reading-gradient {
    0% { background-position: 0% 50%; }
    100% { background-position: 180% 50%; }
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion: reduce) {
    body .pac-academy *,
    body .pac-academy *::before,
    body .pac-academy *::after,
    body .pac-reading-progress,
    body .pac-ai__trigger {
        animation: none !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    body .pac-wow-reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ---------- MOBILE ---------- */
@media (max-width: 640px) {
    body .pac-academy.pac-page-dashboard::before,
    body .pac-academy.pac-page-catalog::before,
    body .pac-academy.pac-page-course::before,
    body .pac-academy.pac-page-lesson::before {
        height: 300px;
    }

    body .pac-academy .pac-course-card:hover,
    body .pac-academy .pac-dash-course:hover,
    body .pac-academy .pac-course-benefit:hover {
        transform: none;
    }
}


/* Tooltips for learning tools */
body .pac-learning-tools button[data-pac-tooltip]::before {
    content: attr(data-pac-tooltip);
    position: absolute;
    right: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%) translateX(4px);
    opacity: 0;
    pointer-events: none;
    padding: 6px 9px;
    border-radius: 8px;
    background: #111827;
    color: #fff;
    font-size: 12px;
    white-space: nowrap;
    transition: opacity .18s ease, transform .18s ease;
}

body .pac-learning-tools button[data-pac-tooltip]:hover::before {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}
