/* RealGunz · Download page (modules/download.php) — loaded only on /download.
   Uses the theme-2026 tokens (--rg-*) and the shared .rg-feat and
   .rg-lite-yt (trailer player) components from the main bundle. */

.rg-dl26{ display: flex; flex-direction: column; gap: 38px; }

/* ---------- Hero ---------- */
.rg-dl26-hero{
    position: relative; overflow: hidden; isolation: isolate;
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 38px; align-items: center;
    padding: 46px 42px; border-radius: 22px;
    border: 1px solid rgba(61,125,255,.3);
    background:
        radial-gradient(60% 90% at 0% 0%, rgba(61,125,255,.24), transparent 60%),
        radial-gradient(50% 80% at 100% 100%, rgba(230,197,118,.15), transparent 60%),
        linear-gradient(160deg, #0b1733 0%, #050b1c 72%);
    box-shadow: 0 40px 80px -50px rgba(61,125,255,.8);
}
.rg-dl26-hero::before{
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background-image:
        linear-gradient(rgba(148,176,224,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,176,224,.06) 1px, transparent 1px);
    background-size: 44px 44px;
    -webkit-mask-image: radial-gradient(ellipse at 28% 40%, #000 15%, transparent 72%);
            mask-image: radial-gradient(ellipse at 28% 40%, #000 15%, transparent 72%);
}
.rg-dl26-hero__ghost{
    position: absolute; left: -12px; bottom: -46px; z-index: -1; pointer-events: none;
    font-family: var(--rg-font-display); font-weight: 900; font-size: 210px; line-height: 1; letter-spacing: .04em;
    color: transparent; -webkit-text-stroke: 1px rgba(148,176,224,.08);
}
.rg-dl26-hero__eyebrow{
    display: inline-flex; align-items: center; gap: 10px; margin: 0;
    padding: 7px 14px; border-radius: 999px;
    border: 1px solid rgba(78,192,122,.42); background: rgba(78,192,122,.10);
    color: #a8ecc0; font-family: var(--rg-font-ui); font-weight: 800; font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase;
}
.rg-dl26-hero__title{
    margin: 18px 0 14px; color: #fff;
    font-family: var(--rg-font-display); font-weight: 900; text-transform: uppercase;
    font-size: clamp(34px, 4.4vw, 58px); line-height: 1.02; letter-spacing: .01em;
}
.rg-dl26-hero__title .rg-grad{ display: block; margin-top: .22em; font-size: .6em; }
.rg-dl26-hero__lead{ margin: 0 0 26px; max-width: 540px; color: #c6d3ec; font-size: 17px; line-height: 1.65; }
.rg-dl26-hero__cta{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.rg-dl26-hero__alt{
    display: inline-flex; align-items: center; gap: 8px; padding: 14px 18px; border-radius: 14px;
    border: 1px solid var(--rg-line-2); color: #c9d6ef !important;
    font-family: var(--rg-font-ui); font-weight: 800; font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.rg-dl26-hero__alt:hover{ border-color: var(--rg-sapphire); background: rgba(61,125,255,.1); color: #fff !important; }
.rg-dl26-chips{ list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rg-dl26-chips li{
    display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 10px;
    border: 1px solid var(--rg-line); background: rgba(255,255,255,.03);
    color: #c9d6ef; font-family: var(--rg-font-ui); font-weight: 700; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase;
}
.rg-dl26-chips i{ color: var(--rg-gold); font-size: 12px; }
.rg-dl26-hero__media{ position: relative; }
.rg-dl26-hero__media::before{
    content: ""; position: absolute; inset: 8% 6%; z-index: -1; border-radius: 30px;
    background: radial-gradient(closest-side, rgba(255,59,92,.35), transparent); filter: blur(30px);
}
.rg-dl26-hero__media .rg-lite-yt-wrap{ position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
.rg-dl26-hero__media-label{
    display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px;
    color: #8fa3c9; font-family: var(--rg-font-ui); font-weight: 800; font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
}
.rg-dl26-hero__media-label > span{ display: inline-flex; align-items: center; gap: 8px; }
.rg-dl26-rec{ width: 8px; height: 8px; border-radius: 50%; background: #ff3b5c; box-shadow: 0 0 0 3px rgba(255,59,92,.25), 0 0 12px rgba(255,59,92,.8); }

/* Big gold download button */
.rg-dl26-go{
    position: relative; overflow: hidden;
    display: inline-flex; align-items: center; gap: 16px;
    padding: 14px 26px 14px 14px; border-radius: 16px;
    color: #14110a !important; text-decoration: none !important;
    background: linear-gradient(135deg, #fff0c2, var(--rg-gold) 45%, #c99a3c);
    box-shadow: 0 22px 44px -18px rgba(230,197,118,.95), inset 0 0 0 1px rgba(255,255,255,.45);
    transition: transform .25s var(--rg-ease), filter .2s ease, box-shadow .25s ease;
}
.rg-dl26-go:hover{ transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 28px 54px -18px rgba(230,197,118,1), inset 0 0 0 1px rgba(255,255,255,.5); }
.rg-dl26-go__ico{ width: 50px; height: 50px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: rgba(20,17,10,.14); font-size: 20px; }
.rg-dl26-go b{ display: block; font-family: var(--rg-font-display); font-weight: 900; font-size: 17px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.1; }
.rg-dl26-go small{ display: block; margin-top: 4px; font-family: var(--rg-font-ui); font-weight: 800; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; opacity: .72; }
.rg-dl26-go::before{
    content: ""; position: absolute; top: -40%; bottom: -40%; left: -40%; width: 30%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.55), transparent);
    transform: translateX(0) skewX(-20deg); pointer-events: none;
}
.rg-dl26-go.rg-anim::before{ animation: rgDlShine 3.6s ease-in-out 1s infinite; }
@keyframes rgDlShine{ 0%{ transform: translateX(0) skewX(-20deg); } 45%,100%{ transform: translateX(620%) skewX(-20deg); } }

/* ---------- Live stats ---------- */
.rg-dl26-stats{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.rg-dl26-stat{
    display: flex; align-items: center; gap: 14px; padding: 18px;
    border-radius: 16px; border: 1px solid var(--rg-line);
    background: linear-gradient(180deg, rgba(12,24,54,.72), rgba(5,10,26,.92));
}
.rg-dl26-stat > i{ width: 46px; height: 46px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: rgba(61,125,255,.12); color: #8fb4ff; font-size: 18px; }
.rg-dl26-stat b{ display: block; color: #fff; font-family: var(--rg-font-display); font-weight: 900; font-size: 26px; line-height: 1; font-variant-numeric: tabular-nums; }
.rg-dl26-stat span{ display: block; margin-top: 6px; color: #8fa3c9; font-family: var(--rg-font-ui); font-weight: 700; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; }
.rg-dl26-stat--live{ border-color: rgba(78,192,122,.4); }
.rg-dl26-stat--live > i{ background: rgba(78,192,122,.14); color: #6fe0a0; }
.rg-dl26-stat--live b{ color: #6fe0a0; }

/* ---------- Section heads ---------- */
.rg-dl26-head{ display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; }
.rg-dl26-head span{ color: var(--rg-gold); font-family: var(--rg-font-ui); font-weight: 800; font-size: 11.5px; letter-spacing: .26em; text-transform: uppercase; }
.rg-card .rg-dl26-head h2{ margin: 6px 0 0; padding: 0; border: 0; color: #fff; font-family: var(--rg-font-display); font-weight: 900; font-size: clamp(22px, 2.6vw, 32px); letter-spacing: .04em; text-transform: uppercase; }
.rg-dl26-head p{ margin: 0; color: #8fa3c9; font-size: 13.5px; }

/* ---------- Steps ---------- */
.rg-dl26-steps{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.rg-dl26-step{
    position: relative; overflow: hidden; padding: 24px 22px 22px;
    border-radius: 18px; border: 1px solid var(--rg-line);
    background: linear-gradient(180deg, rgba(12,24,54,.75), rgba(5,10,26,.92));
    transition: border-color .25s ease, transform .25s var(--rg-ease);
}
.rg-dl26-step:hover{ border-color: rgba(61,125,255,.45); transform: translateY(-2px); }
.rg-dl26-step__n{ display: block; font-family: var(--rg-font-display); font-weight: 900; font-size: 56px; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(230,197,118,.6); }
.rg-card .rg-dl26-step h3{ margin: 12px 0 8px; padding: 0; border: 0; color: #fff; font-size: 18px; letter-spacing: .04em; }
.rg-dl26-step p{ margin: 0 0 16px; color: #aebcd8; font-size: 14.5px; line-height: 1.6; }
.rg-dl26-step a{ display: inline-flex; align-items: center; gap: 8px; color: #8fb4ff !important; font-family: var(--rg-font-ui); font-weight: 800; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
.rg-dl26-step a:hover{ color: var(--rg-gold-2) !important; }
.rg-dl26-step.is-done{ border-color: rgba(78,192,122,.45); }
.rg-dl26-step__done{
    position: absolute; top: 18px; right: 18px; padding: 5px 10px; border-radius: 999px;
    background: rgba(78,192,122,.16); border: 1px solid rgba(78,192,122,.45); color: #a8ecc0;
    font-family: var(--rg-font-ui); font-weight: 800; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase;
}

/* ---------- Mirrors ---------- */
.rg-dl26-mirrors{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.rg-dl26-mirror{
    --mc: #3370d0;
    display: grid; grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: "logo body" "foot foot";
    gap: 14px 16px; padding: 18px;
    border-radius: 18px; border: 1px solid color-mix(in srgb, var(--mc) 35%, rgba(148,176,224,.14));
    background:
        radial-gradient(90% 120% at 0% 0%, color-mix(in srgb, var(--mc) 16%, transparent), transparent 60%),
        linear-gradient(180deg, rgba(12,24,54,.75), rgba(5,10,26,.94));
    transition: transform .25s var(--rg-ease), border-color .25s ease, box-shadow .25s ease;
}
.rg-dl26-mirror:hover{ transform: translateY(-3px); border-color: color-mix(in srgb, var(--mc) 70%, transparent); box-shadow: 0 24px 44px -26px color-mix(in srgb, var(--mc) 85%, transparent); }
.rg-dl26-mirror.is-rec{ border-color: rgba(230,197,118,.55); box-shadow: 0 0 0 1px rgba(230,197,118,.22), 0 24px 50px -30px rgba(230,197,118,.75); }
.rg-dl26-mirror__logo{ grid-area: logo; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--mc), color-mix(in srgb, var(--mc) 40%, #000)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.rg-dl26-mirror__logo svg{ width: 28px; height: 28px; display: block; filter: drop-shadow(0 1px 2px rgba(0,0,0,.45)); }
.rg-dl26-mirror__body{ grid-area: body; min-width: 0; }
.rg-dl26-tags{ display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.rg-dl26-tag{ padding: 3px 9px; border-radius: 999px; border: 1px solid var(--rg-line); background: rgba(255,255,255,.05); color: #c9d6ef; font-family: var(--rg-font-ui); font-weight: 800; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.rg-dl26-tag--prov{ color: #fff; background: color-mix(in srgb, var(--mc) 32%, transparent); border-color: color-mix(in srgb, var(--mc) 60%, transparent); }
.rg-dl26-tag--rec{ color: #14110a; background: linear-gradient(135deg, var(--rg-gold-2), var(--rg-gold)); border-color: transparent; }
.rg-card .rg-dl26-mirror h3{ margin: 0 0 4px; padding: 0; border: 0; color: #fff; font-family: var(--rg-font-display); font-size: 16px; line-height: 1.3; letter-spacing: .03em; }
.rg-dl26-mirror p{ margin: 0; color: #9fb0cf; font-size: 13px; line-height: 1.5; }
.rg-dl26-mirror__foot{ grid-area: foot; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--rg-line); }
.rg-dl26-size{ white-space: nowrap; }
.rg-dl26-size b{ color: var(--rg-gold); font-family: var(--rg-font-display); font-weight: 900; font-size: 26px; line-height: 1; }
.rg-dl26-size em{ margin-inline-start: 4px; color: var(--rg-gold); font-style: normal; font-family: var(--rg-font-display); font-weight: 800; font-size: 14px; }
.rg-dl26-mirror__btn{
    display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border-radius: 12px;
    color: #fff !important; text-decoration: none !important;
    font-family: var(--rg-font-ui); font-weight: 800; font-size: 12.5px; letter-spacing: .18em; text-transform: uppercase;
    background: linear-gradient(135deg, var(--mc), color-mix(in srgb, var(--mc) 55%, #000));
    box-shadow: 0 12px 26px -12px color-mix(in srgb, var(--mc) 90%, transparent);
    transition: transform .2s var(--rg-ease), filter .2s ease;
}
.rg-dl26-mirror__btn:hover{ transform: translateY(-1px); filter: brightness(1.1); }
.rg-dl26-mirror.is-rec .rg-dl26-mirror__btn{ color: #14110a !important; background: linear-gradient(135deg, var(--rg-gold-2), var(--rg-gold)); box-shadow: 0 12px 26px -12px rgba(230,197,118,.9); }

/* Launcher update — existing players */
.rg-dl26-update{
    display: grid; grid-template-columns: 56px minmax(0, 1fr) auto auto; align-items: center; gap: 16px;
    margin-top: 14px; padding: 18px 20px; border-radius: 18px;
    border: 1px dashed rgba(255,176,32,.55); background: rgba(255,176,32,.06);
}
.rg-dl26-update__ico{ width: 56px; height: 56px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(135deg, #ffb020, #a86a00); color: #1a1004; font-size: 22px; }
.rg-dl26-update__kicker{ display: block; color: #ffcf70; font-family: var(--rg-font-ui); font-weight: 800; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; }
.rg-card .rg-dl26-update h3{ margin: 4px 0 2px; padding: 0; border: 0; color: #fff; font-size: 15.5px; line-height: 1.3; }
.rg-dl26-update p{ margin: 0; color: #c9b58f; font-size: 13px; }
.rg-dl26-update .rg-dl26-size b, .rg-dl26-update .rg-dl26-size em{ color: #ffcf70; }
.rg-dl26-update .rg-dl26-mirror__btn{ --mc: #d98a00; }

/* ---------- Specs ---------- */
.rg-dl26-specs{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rg-dl26-spec{ overflow: hidden; border-radius: 18px; border: 1px solid var(--rg-line); background: linear-gradient(180deg, rgba(12,24,54,.75), rgba(5,10,26,.94)); }
.rg-dl26-spec__head{
    display: flex; align-items: center; gap: 10px; padding: 16px 20px; border-bottom: 1px solid var(--rg-line);
    color: #fff; font-family: var(--rg-font-display); font-weight: 900; font-size: 15px; letter-spacing: .14em; text-transform: uppercase;
}
.rg-dl26-spec__head i{ color: #8fb4ff; }
.rg-dl26-spec--rec{ border-color: rgba(230,197,118,.45); }
.rg-dl26-spec--rec .rg-dl26-spec__head{ background: linear-gradient(90deg, rgba(230,197,118,.16), transparent); }
.rg-dl26-spec--rec .rg-dl26-spec__head i, .rg-dl26-spec--rec li > i{ color: var(--rg-gold); }
.rg-dl26-spec ul{ list-style: none; margin: 0; padding: 4px 20px 10px; }
.rg-dl26-spec li{ display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 3px 10px; align-items: center; padding: 12px 0; border-bottom: 1px dashed rgba(148,176,224,.12); }
.rg-dl26-spec li:last-child{ border-bottom: 0; }
.rg-dl26-spec li > i{ grid-row: span 2; text-align: center; color: #8fb4ff; font-size: 15px; }
.rg-dl26-spec li span{ color: #8fa3c9; font-family: var(--rg-font-ui); font-weight: 700; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; }
.rg-dl26-spec li b{ color: #fff; font-size: 14.5px; font-weight: 600; }

/* ---------- Install help ---------- */
.rg-dl26-faq{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.rg-dl26-faq details{ border-radius: 14px; border: 1px solid var(--rg-line); background: rgba(255,255,255,.02); transition: border-color .2s ease, background .2s ease; }
.rg-dl26-faq details[open]{ border-color: rgba(61,125,255,.45); background: rgba(61,125,255,.05); }
.rg-dl26-faq summary{ list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; color: #fff; font-weight: 700; font-size: 15px; }
.rg-dl26-faq summary::-webkit-details-marker{ display: none; }
.rg-dl26-faq summary::after{ content: "+"; flex: 0 0 auto; color: var(--rg-gold); font-family: var(--rg-font-display); font-size: 20px; line-height: 1; transition: transform .2s ease; }
.rg-dl26-faq details[open] summary::after{ transform: rotate(45deg); }
.rg-dl26-faq details p{ margin: 0; padding: 0 18px 16px; color: #aebcd8; font-size: 14px; line-height: 1.65; }

/* ---------- Final call ---------- */
.rg-dl26-final{
    position: relative; overflow: hidden; text-align: center; padding: 46px 24px;
    border-radius: 22px; border: 1px solid rgba(230,197,118,.35);
    background: radial-gradient(60% 120% at 50% 0%, rgba(230,197,118,.2), transparent 60%), linear-gradient(180deg, #0c1834, #050b1c);
}
.rg-card .rg-dl26-final h2{ margin: 0 0 10px; padding: 0; border: 0; color: #fff; font-family: var(--rg-font-display); font-weight: 900; font-size: clamp(26px, 3.4vw, 42px); letter-spacing: .04em; text-transform: uppercase; }
.rg-dl26-final p{ margin: 0 auto 24px; max-width: 520px; color: #c6d3ec; font-size: 16px; }
.rg-dl26-final__cta{ display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.rg-dl26-discord{
    display: inline-flex; align-items: center; gap: 12px; padding: 18px 24px; border-radius: 16px;
    color: #fff !important; text-decoration: none !important;
    font-family: var(--rg-font-ui); font-weight: 800; font-size: 13px; letter-spacing: .16em; text-transform: uppercase;
    background: linear-gradient(135deg, #5865f2, #3f4bd4); box-shadow: 0 18px 36px -16px rgba(88,101,242,.8);
    transition: transform .2s var(--rg-ease), filter .2s ease;
}
.rg-dl26-discord:hover{ transform: translateY(-2px); filter: brightness(1.1); }
.rg-dl26-discord svg{ width: 22px; height: 22px; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px){
    .rg-dl26-hero{ grid-template-columns: minmax(0, 1fr); padding: 36px 28px; }
    .rg-dl26-stats{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px){
    .rg-dl26{ gap: 30px; }
    .rg-dl26-steps, .rg-dl26-mirrors, .rg-dl26-specs, .rg-dl26-faq{ grid-template-columns: minmax(0, 1fr); }
    .rg-dl26-update{ grid-template-columns: 48px minmax(0, 1fr); }
    .rg-dl26-update__ico{ width: 48px; height: 48px; font-size: 18px; }
    .rg-dl26-update .rg-dl26-size, .rg-dl26-update .rg-dl26-mirror__btn{ grid-column: 1 / -1; }
    .rg-dl26-update .rg-dl26-mirror__btn{ justify-content: center; }
}
@media (max-width: 520px){
    .rg-dl26-hero{ padding: 28px 18px; border-radius: 18px; }
    .rg-dl26-hero__ghost{ display: none; }
    .rg-dl26-go, .rg-dl26-hero__alt, .rg-dl26-discord{ width: 100%; justify-content: center; }
    .rg-dl26-go{ justify-content: flex-start; }
    .rg-dl26-stat{ padding: 14px; gap: 10px; }
    .rg-dl26-stat > i{ width: 38px; height: 38px; font-size: 15px; }
    .rg-dl26-stat b{ font-size: 21px; }
    .rg-dl26-mirror__foot{ flex-wrap: wrap; }
    .rg-dl26-mirror__btn{ flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: reduce){
    .rg-dl26-go.rg-anim::before{ animation: none; }
}
