/* ================================================================
   PERTICOM Academy — Ultra WOW 1.0.35
   Premium cinematic layer: refined, scoped, accessible.
   ================================================================ */

/* ---------- FOUNDATION ---------- */
body .pac-academy {
    --pac-ultra-black: #0f1220;
    --pac-ultra-ink: #171b2a;
    --pac-ultra-border: rgba(229, 231, 235, .88);
    --pac-ultra-glass: rgba(255,255,255,.78);
    --pac-ultra-red: rgba(237, 27, 47, .18);
    --pac-ultra-red-soft: rgba(237, 27, 47, .07);
    --pac-ultra-blue: rgba(59, 130, 246, .085);
    --pac-ultra-gold: rgba(245, 158, 11, .12);
    --pac-ultra-shadow: 0 28px 80px rgba(15,23,42,.16);
    --pac-ultra-shadow-soft: 0 18px 50px rgba(15,23,42,.08);
}

/* cinematic body ambient */
body.pac-design-marketplace::before,
body.pac-design-premium::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -10;
    pointer-events: none;
    background:
        radial-gradient(circle at var(--pac-global-x, 78%) var(--pac-global-y, 16%), rgba(237,27,47,.075), transparent 18%),
        radial-gradient(circle at 12% 12%, rgba(15,23,42,.055), transparent 18%),
        linear-gradient(180deg, #fafbff 0%, #f4f6fb 55%, #eef2f8 100%);
}

/* premium soft noise illusion without image */
body .pac-academy::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: .42;
    background-image:
        linear-gradient(90deg, rgba(15,23,42,.018) 1px, transparent 1px),
        linear-gradient(180deg, rgba(15,23,42,.014) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.6), transparent 48%);
}

body .pac-academy > * {
    position: relative;
    z-index: 1;
}

/* ---------- HERO CINEMATIC ---------- */
body .pac-academy .pac-course-hero,
body .pac-academy .pac-catalog-hero,
body .pac-academy .pac-dash-welcome {
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.10);
}

body .pac-academy .pac-course-hero::before,
body .pac-academy .pac-catalog-hero::before,
body .pac-academy .pac-dash-welcome::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 20%, rgba(237,27,47,.19), transparent 18%),
        radial-gradient(circle at 82% 16%, rgba(255,255,255,.10), transparent 18%),
        linear-gradient(120deg, transparent 0%, rgba(255,255,255,.065) 48%, transparent 100%);
    opacity: .9;
}

body .pac-academy .pac-course-hero__title,
body .pac-academy .pac-catalog-hero h1,
body .pac-academy .pac-dash-welcome__greeting {
    text-shadow: 0 14px 42px rgba(0,0,0,.22);
}

/* elegant animated underline for hero title */
body .pac-academy .pac-course-hero__title::after,
body .pac-academy .pac-catalog-hero h1::after,
body .pac-academy .pac-dash-welcome__greeting::after {
    content: "";
    display: block;
    width: min(120px, 28%);
    height: 3px;
    margin-top: 18px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--pac-red), rgba(255,255,255,.78), transparent);
    opacity: .84;
}

/* catalog hero centered underline */
body .pac-academy .pac-catalog-hero h1::after {
    margin-left: auto;
    margin-right: auto;
}

/* ---------- GLASS FILTER BAR ---------- */
body .pac-academy .pac-catalog-filters,
body .pac-academy .pac-lesson__topbar,
body .pac-academy.pac-topbar {
    background: rgba(255,255,255,.82) !important;
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
}

/* ---------- 3D TILT CARD SYSTEM ---------- */
body .pac-ultra-tilt {
    transform-style: preserve-3d;
    will-change: transform;
}

body .pac-ultra-tilt > * {
    transform: translateZ(0.01px);
}

body .pac-ultra-tilt:hover {
    box-shadow: var(--pac-ultra-shadow) !important;
}

body .pac-ultra-tilt::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity .22s ease;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.32) 0%,
            transparent 28%,
            transparent 66%,
            rgba(237,27,47,.055) 100%
        );
}

body .pac-ultra-tilt:hover::after {
    opacity: 1;
}

/* ---------- CARD DESIGN REFINEMENT ---------- */
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-certificate-card {
    border-color: rgba(229,231,235,.82) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(252,253,255,.95) 100%) !important;
}

body .pac-academy .pac-course-card__body,
body .pac-academy .pac-dash-course__body {
    position: relative;
}

/* tiny premium corner marker */
body .pac-academy .pac-course-card__body::before,
body .pac-academy .pac-dash-course__body::before {
    content: "";
    position: absolute;
    top: 14px;
    right: 16px;
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(237,27,47,.65), transparent);
    opacity: .55;
}

/* ---------- PREMIUM COURSE MEDIA ---------- */
body .pac-academy .pac-course-card__media,
body .pac-academy .pac-course-hero__visual-frame,
body .pac-academy .pac-lesson__video {
    outline: 1px solid rgba(255,255,255,.38);
    outline-offset: -1px;
}

body .pac-academy .pac-course-hero__visual-frame {
    box-shadow:
        0 30px 85px rgba(0,0,0,.26),
        0 0 0 1px rgba(255,255,255,.12) inset;
}

body .pac-academy .pac-course-hero__visual-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 65% 30%, rgba(255,255,255,.22), transparent 18%),
        linear-gradient(180deg, transparent, rgba(15,23,42,.20));
    opacity: .72;
}

/* ---------- MAGNETIC BUTTON FEEL ---------- */
body .pac-magnetic {
    will-change: transform;
    transition: transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s ease;
}

body .pac-academy .pac-btn-primary.pac-magnetic:hover {
    box-shadow:
        0 16px 34px rgba(237,27,47,.25),
        0 0 0 1px rgba(255,255,255,.22) inset;
}

/* ---------- LESSON: CURRENT SECTION FOCUS ---------- */
body .pac-academy .pac-lesson__body h2,
body .pac-academy .pac-lesson__body h3 {
    transition: color .25s ease, transform .25s ease;
}

body .pac-academy .pac-lesson__body h2.pac-section-current,
body .pac-academy .pac-lesson__body h3.pac-section-current {
    color: var(--pac-red) !important;
    transform: translateX(2px);
}

body .pac-academy .pac-lesson__body h2.pac-section-current::before {
    opacity: 1;
    box-shadow: 0 0 0 6px rgba(237,27,47,.085);
}

/* subtle reading rail */
body .pac-lesson-reading-rail {
    position: fixed;
    left: max(18px, calc((100vw - 1440px) / 2 + 8px));
    top: 30%;
    width: 2px;
    height: 35vh;
    z-index: 40;
    border-radius: 999px;
    background: rgba(15,23,42,.08);
    overflow: hidden;
    pointer-events: none;
}

body .pac-lesson-reading-rail span {
    display: block;
    width: 100%;
    height: var(--pac-lesson-read, 0%);
    background: linear-gradient(180deg, var(--pac-red), rgba(237,27,47,.28));
    border-radius: inherit;
}

/* ---------- MINI COURSE NAV / SECTION PILLS ---------- */
body .pac-ultra-section-dots {
    position: fixed;
    right: 18px;
    top: 50%;
    z-index: 70;
    transform: translateY(-50%);
    display: grid;
    gap: 9px;
}

body .pac-ultra-section-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(15,23,42,.22);
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

body .pac-ultra-section-dots button.is-active {
    transform: scale(1.55);
    background: var(--pac-red);
    box-shadow: 0 0 0 5px rgba(237,27,47,.11);
}

/* ---------- COUNT UP STATS POLISH ---------- */
body .pac-academy .pac-catalog-stat strong,
body .pac-academy .pac-dash-kpi__value {
    font-variant-numeric: tabular-nums;
}

/* ---------- NAVIGATION LINKS POLISH ---------- */
body .pac-academy .pac-lesson__nav-item,
body .pac-academy .pac-topbar__link,
body .pac-academy .pac-course-sidebar__details li {
    transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

body .pac-academy .pac-lesson__nav-item:hover {
    transform: translateY(-2px);
}

/* ---------- EMPTY STATES ---------- */
body .pac-academy .pac-empty,
body .pac-academy .pac-empty-state,
body .pac-academy .pac-dash-empty,
body .pac-academy .pac-certificate-empty {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 0%, rgba(237,27,47,.07), transparent 32%),
        linear-gradient(180deg, #fff, #fbfcff);
}

/* ---------- STATUS CHIPS ---------- */
body .pac-academy .pac-badge,
body .pac-academy .pac-pill,
body .pac-academy .pac-course-hero__tags .pac-badge {
    box-shadow: 0 1px 0 rgba(255,255,255,.35) inset;
}

/* ---------- PREMIUM LOADED STATE ---------- */
body.pac-ultra-ready .pac-academy .pac-course-hero__content,
body.pac-ultra-ready .pac-academy .pac-catalog-hero__inner,
body.pac-ultra-ready .pac-academy .pac-dash-welcome__inner {
    animation: pac-ultra-hero-enter .8s cubic-bezier(.2,.8,.2,1) both;
}

body.pac-ultra-ready .pac-academy .pac-course-hero__visual {
    animation: pac-ultra-visual-enter .9s cubic-bezier(.2,.8,.2,1) both;
}

/* ---------- ANIMATIONS ---------- */
@keyframes pac-ultra-hero-enter {
    from {
        opacity: 0;
        transform: translateY(14px);
        filter: blur(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@keyframes pac-ultra-visual-enter {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.985);
        filter: blur(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

/* ---------- ACCESSIBILITY ---------- */
@media (prefers-reduced-motion: reduce) {
    body.pac-design-marketplace::before,
    body.pac-design-premium::before,
    body .pac-ultra-tilt,
    body .pac-magnetic,
    body .pac-academy .pac-course-card__media img,
    body .pac-academy .pac-course-card__media video,
    body .pac-academy .pac-lesson__body h2,
    body .pac-academy .pac-lesson__body h3 {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }

    body .pac-ultra-section-dots,
    body .pac-lesson-reading-rail {
        display: none !important;
    }
}

@media (max-width: 900px) {
    body .pac-ultra-section-dots,
    body .pac-lesson-reading-rail {
        display: none;
    }
}

@media (max-width: 640px) {
    body .pac-academy .pac-course-hero__title::after,
    body .pac-academy .pac-catalog-hero h1::after,
    body .pac-academy .pac-dash-welcome__greeting::after {
        width: 86px;
        margin-top: 14px;
    }
}
