
/* =========================================================
   V23
   ONLY targeted repairs.
   ========================================================= */


/* ---------------------------------------------------------
   HOME — STOP HUGE/EMPTY HERO
--------------------------------------------------------- */

body.v22-home .hero{
    width:min(1440px,calc(100% - 48px)) !important;

    min-height:0 !important;
    height:auto !important;

    margin:24px auto 0 !important;
    padding:0 !important;

    overflow:hidden !important;
}


body.v22-home .v14-hero-content,
body.v22-home .heroContent,
body.v22-home .heroInner,
body.v22-home .heroText{
    min-height:0 !important;
    height:auto !important;

    position:relative !important;

    inset:auto !important;

    transform:none !important;
}


/* Desktop */

@media(min-width:701px){

    body.v22-home .hero{
        min-height:500px !important;
    }

    body.v22-home .v14-hero-content{
        width:min(850px,66%) !important;

        padding:58px 48px 60px 70px !important;

        justify-content:center !important;
    }

    body.v22-home .v14-hero-content h1{
        font-size:clamp(58px,5.3vw,90px) !important;

        line-height:.95 !important;
    }

}


/* Phone = not cramped and not huge */

@media(max-width:700px){

    body.v22-home .hero{
        width:auto !important;

        min-height:0 !important;

        margin:24px 18px 0 !important;

        border-radius:23px !important;
    }

    body.v22-home .v14-hero-content{
        width:auto !important;

        min-height:0 !important;

        padding:42px 24px 44px !important;
    }

    body.v22-home .v14-hero-content .heroLabel{
        margin:0 0 24px !important;
    }

    body.v22-home .v14-hero-content h1{
        font-size:clamp(40px,11vw,56px) !important;

        line-height:.97 !important;

        letter-spacing:-1.8px !important;
    }

    body.v22-home .v14-hero-content > p{
        margin-top:26px !important;

        font-size:16px !important;

        line-height:1.68 !important;
    }

    body.v22-home .v14-hero-content .heroActions{
        margin-top:30px !important;
    }

}


/* ---------------------------------------------------------
   RESTORE ALL RESOURCE / MOD LOGOS
--------------------------------------------------------- */

.resourceCard img,
.recommendCard img,
.fp-related-card img,
.detailLogo,
.detailLogo img,
.resourceLogo,
.resourceLogo img,
.clientLogo,
.modLogo,
.imageArea img,
.logoWrap img{
    display:block !important;

    visibility:visible !important;

    opacity:1 !important;

    object-fit:cover !important;

    transform:none;
}


@media(max-width:700px){

    .resourceCard img,
    .recommendCard img,
    .fp-related-card img{
        min-width:64px !important;
        min-height:64px !important;

        max-width:none !important;
    }

}


/* ---------------------------------------------------------
   DETAIL PAGE — RELATED MUST BE FINAL CONTENT
--------------------------------------------------------- */

body.v22-detail{
    min-height:0 !important;
    height:auto !important;

    overflow-x:hidden !important;
}


body.v22-detail main,
body.v22-detail .detailPage{
    min-height:0 !important;
    height:auto !important;

    margin-bottom:0 !important;
    padding-bottom:0 !important;
}


/*
 User wants page to end after Related Resources.
 Footer hidden on detail pages.
*/

body.v22-detail .fp-footer,
body.v22-detail footer{
    display:none !important;
}


/* legacy line */

body.v22-detail .legacy-end-label,
body.v22-detail .v23-end-label{
    display:none !important;
}


/* Related container */

body.v22-detail .fp-related{
    position:relative !important;

    width:min(1320px,calc(100% - 44px)) !important;

    min-height:0 !important;
    height:auto !important;

    margin:28px auto 20px !important;

    padding-bottom:12px !important;
}


/* horizontal slide bar */

body.v22-detail .fp-related-grid{
    display:flex !important;

    grid-template-columns:none !important;

    gap:14px !important;

    width:100% !important;

    min-height:0 !important;
    height:auto !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;

    scroll-snap-type:x mandatory;

    overscroll-behavior-x:contain;

    -webkit-overflow-scrolling:touch;

    scrollbar-width:none;

    padding:3px 3px 10px !important;
}


body.v22-detail .fp-related-grid::-webkit-scrollbar{
    display:none;
}


body.v22-detail .fp-related-card{
    flex:0 0 300px !important;

    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;

    min-height:92px !important;

    scroll-snap-align:start;
}


@media(max-width:700px){

    body.v22-detail .fp-related{
        width:auto !important;

        margin:24px 0 10px !important;

        padding-left:18px !important;
    }

    body.v22-detail .fp-related-grid{
        padding-right:18px !important;
    }

    body.v22-detail .fp-related-card{
        flex-basis:275px !important;

        width:275px !important;
        min-width:275px !important;
        max-width:275px !important;
    }

}


/* ---------------------------------------------------------
   HEADER GLASS
--------------------------------------------------------- */

header,
.topbar,
.siteHeader{
    transition:
        background .22s ease,
        backdrop-filter .22s ease,
        box-shadow .22s ease !important;
}


body.v23-scrolled header,
body.v23-scrolled .topbar,
body.v23-scrolled .siteHeader{
    background:rgba(5,8,12,.68) !important;

    backdrop-filter:blur(18px) saturate(145%) !important;

    -webkit-backdrop-filter:blur(18px) saturate(145%) !important;

    box-shadow:0 12px 35px rgba(0,0,0,.32) !important;
}


/* ---------------------------------------------------------
   DRAWER
--------------------------------------------------------- */

.mobileDrawer,
.navDrawer,
.drawer,
#mobileDrawer{
    will-change:transform,opacity;
}


.v23-drawer-enter{
    animation:v23Drawer .40s cubic-bezier(.16,.8,.25,1) both !important;
}


@keyframes v23Drawer{

    0%{
        transform:translate3d(100%,0,0) !important;
        opacity:0;
    }

    70%{
        transform:translate3d(-6px,0,0) !important;
        opacity:1;
    }

    100%{
        transform:translate3d(0,0,0) !important;
        opacity:1;
    }

}


/* ---------------------------------------------------------
   BACK TRANSITION
--------------------------------------------------------- */

body.v23-back-out{
    animation:v23BackOut .22s ease forwards !important;
}


@keyframes v23BackOut{

    to{
        opacity:0;

        transform:translate3d(12px,0,0);

        filter:blur(2px);
    }

}


/* ---------------------------------------------------------
   DOWNLOAD PROGRESS
--------------------------------------------------------- */

.v23-download-overlay{
    position:fixed;

    inset:0;

    z-index:1000000;

    display:flex;

    align-items:center;
    justify-content:center;

    padding:20px;

    background:rgba(2,4,7,.76);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);
}


.v23-download-box{
    width:min(460px,100%);

    padding:30px;

    border-radius:22px;

    background:
        radial-gradient(
            circle at 90% 0,
            color-mix(in srgb,var(--v22-accent) 18%,transparent),
            transparent 40%
        ),
        #0a0e14;

    border:1px solid rgba(255,255,255,.10);

    box-shadow:0 28px 80px rgba(0,0,0,.5);
}


.v23-download-box h3{
    margin:0 0 8px;

    color:white;

    font-size:24px;
}


.v23-download-status{
    margin-bottom:24px;

    color:#9da5b1;
}


.v23-progress-row{
    display:flex;

    justify-content:space-between;

    margin-bottom:10px;

    font-weight:800;

    color:#fff;
}


.v23-progress-row strong{
    color:var(--v22-accent,#9d6cff);
}


.v23-track{
    height:12px;

    overflow:hidden;

    border-radius:999px;

    background:rgba(255,255,255,.08);
}


.v23-bar{
    width:0%;

    height:100%;

    border-radius:inherit;

    background:
        linear-gradient(
            90deg,
            var(--v22-accent,#9c6cff),
            var(--v22-accent2,#3fa8ff)
        );
}


/* ---------------------------------------------------------
   REMOVE OLD PROGRESS MODAL
--------------------------------------------------------- */

.v22-download-overlay{
    display:none !important;
}

