/* =========================================================
   KRUZIFIX UI v0.30
   Members sections / Support routing / Downloads / About
   ========================================================= */

/* ---------- MEMBERS DIRECTORY SECTIONS ---------- */

.member-directory-section {
    margin: 0 0 15px;
    padding: 8px;
    border: 1px solid #232323;
    background: #010101;
}

.member-directory-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    margin: 0 0 8px !important;
    padding: 7px 9px;

    border: 1px solid #292929;

    font-family: "Times New Roman", Times, serif;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 1.15px;
}

.member-directory-heading > span {
    font-size: 9px;
    letter-spacing: .5px;
}

.member-directory-staff {
    border-left: 3px solid #8e6d1e;
    box-shadow:
        inset 0 0 18px rgba(212, 175, 55, .025),
        0 0 9px rgba(212, 175, 55, .045);
}

.member-directory-staff .member-directory-heading {
    color: #d4af37 !important;
    border-left: 3px solid #b48a24;

    background:
        linear-gradient(
            90deg,
            rgba(71, 53, 8, .18),
            rgba(0, 0, 0, .88)
        );

    text-shadow:
        0 0 4px rgba(212, 175, 55, .62),
        0 0 10px rgba(212, 175, 55, .20);
}

.member-directory-staff .member-directory-heading > span {
    color: #9c7b2e;
}

.member-directory-members {
    border-left: 3px solid #651b1b;
    box-shadow:
        inset 0 0 18px rgba(188, 40, 40, .02),
        0 0 8px rgba(188, 40, 40, .035);
}

.member-directory-members .member-directory-heading {
    color: #b54242 !important;
    border-left: 3px solid #7b2020;

    background:
        linear-gradient(
            90deg,
            rgba(72, 12, 12, .18),
            rgba(0, 0, 0, .88)
        );

    text-shadow:
        0 0 4px rgba(200, 54, 54, .48),
        0 0 9px rgba(200, 54, 54, .15);
}

.member-directory-members .member-directory-heading > span {
    color: #743232;
}

.member-directory-empty {
    margin: 0 !important;
    padding: 8px !important;
}

/* ---------- SUPPORT ROUTING ---------- */

.support-admin-request-panel {
    border-left-color: #8a6720 !important;
}

.support-admin-request-panel > summary > span {
    color: #cfaa55 !important;

    text-shadow:
        0 0 5px rgba(207, 170, 85, .20);
}

.support-ticket-request {
    border-left: 3px solid #a97a25 !important;
}

.support-request-waiting {
    margin: 8px 0 !important;
    padding: 8px;

    border: 1px solid #47391d;
    border-left: 3px solid #9b7424;

    background: #050400;

    color: #9b8451;

    font-size: 10px;
    font-weight: 900;
    letter-spacing: .35px;
}

/* ---------- DOCUMENTS / DOWNLOADS ---------- */

.documents-downloads-entry {
    margin-top: 14px !important;
    padding: 9px 10px !important;

    border: 1px solid #292929 !important;
    border-left: 3px solid #4a5d7d !important;

    background: #010102 !important;
}

.documents-downloads-entry h2 {
    margin-top: 0 !important;
}

.documents-downloads-link {
    font-weight: 900;
    letter-spacing: .7px;

    color: #9ab0d1 !important;

    text-shadow:
        0 0 5px rgba(154, 176, 209, .22);
}

.downloads-page {
    min-width: 0;
}

.downloads-warning {
    margin: 0 0 9px !important;
    padding: 8px 9px;

    border: 1px solid #4c2626;
    border-left: 3px solid #8c2f2f;

    background: #050101;

    color: #7f6969;

    font-size: 10px;
    line-height: 1.45;
}

.downloads-warning strong {
    color: #d35b5b;

    text-shadow:
        0 0 6px rgba(211, 91, 91, .28);
}

.downloads-panel {
    margin: 0 0 7px;

    border: 1px solid #282828;
    border-left: 3px solid #3b4659;

    background: #010101;
}

.downloads-admin-upload {
    border-left-color: #8a6a18;
}

.downloads-staff-queue {
    border-left-color: #7d315f;
}

.downloads-panel > summary {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 8px;
    align-items: center;

    padding: 7px 30px 7px 9px;

    list-style: none;
    cursor: pointer;

    background: #020202;
}

.downloads-panel > summary::-webkit-details-marker {
    display: none;
}

.downloads-panel > summary::after {
    content: "+";

    position: absolute;
    right: 9px;
    top: 50%;

    transform: translateY(-50%);

    color: #6f2929;

    font-size: 14px;
    font-weight: 900;
}

.downloads-panel[open] > summary::after {
    content: "−";
}

.downloads-panel > summary > span {
    color: #a0a0a0;

    font-size: 9px;
    font-weight: 900;
    letter-spacing: .7px;
}

.downloads-panel > summary > small {
    color: #505050;

    font-size: 8px;
    text-align: right;
}

.downloads-panel-body {
    padding: 8px;

    border-top: 1px solid #242424;
}

.download-request-list {
    display: grid;
    gap: 6px;
}

.download-request-row {
    padding: 8px;

    border: 1px solid #252525;
    border-left: 3px solid #4c3244;

    background: #000;
}

.download-request-row header {
    display: flex;
    justify-content: space-between;
    gap: 10px;

    padding-bottom: 5px;
    margin-bottom: 6px;

    border-bottom: 1px dotted #252525;
}

.download-request-row header small {
    color: #4f4f4f;

    font-size: 8px;
}

.download-request-row h3 {
    margin: 0 0 5px !important;

    font-size: 11px !important;
}

.download-request-row p {
    margin: 4px 0 !important;

    font-size: 10px;
}

.download-request-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;

    margin-top: 7px;
}

.download-request-actions form {
    margin: 0;
}

.download-request-actions input[type="text"] {
    max-width: 220px;
}

.download-request-history {
    display: grid;
    gap: 4px;
}

.download-request-history-row {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto
        auto;

    gap: 8px;
    align-items: center;

    padding: 6px 7px;

    border: 1px solid #222;

    background: #000;
}

.download-request-history-row strong {
    color: #999;

    font-size: 9px;
}

.download-request-history-row span,
.download-request-history-row small {
    color: #505050;

    font-size: 8px;
}

.downloads-library {
    margin-top: 13px !important;
    padding: 9px !important;

    border: 1px solid #2b2b2b !important;
    border-left: 3px solid #4e6486 !important;

    background: #010101 !important;
}

.downloads-library-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;

    margin-bottom: 8px;
    padding-bottom: 6px;

    border-bottom: 1px dotted #292929;
}

.downloads-library-head h2 {
    margin: 0 !important;

    font-size: 12px !important;
}

.downloads-library-head > span {
    color: #555;

    font-size: 9px;
}

.downloads-list {
    display: grid;
    gap: 6px;
}

.download-entry {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 12px;

    padding: 8px;

    border: 1px solid #252525;

    background: #000;
}

.download-entry h3 {
    margin: 0 0 5px !important;

    color: #aaa;

    font-size: 11px !important;
}

.download-entry p {
    margin: 0 0 6px !important;

    color: #727272;

    font-size: 10px;
}

.download-entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 12px;

    color: #4e4e4e;

    font-size: 8px;
}

.download-entry-actions {
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
}

.download-entry-actions form {
    margin: 0;
}

.download-button {
    display: inline-block;

    padding: 5px 8px;

    border: 1px solid #415676;

    background: #010308;

    color: #9bb5dc !important;

    font-size: 9px;
    font-weight: 900;
    letter-spacing: .55px;

    text-decoration: none !important;
}

.download-button:hover {
    border-color: #6584b1;

    color: #c1d7f5 !important;
}

/* ---------- ABOUT / SHOCK-WEBSITE WARNING ---------- */

.about-shock-warning {
    margin: 14px 0;
    padding: 11px 12px;

    border: 1px solid #5b1d1d;
    border-left: 4px solid #bd3535;

    background:
        linear-gradient(
            90deg,
            rgba(75, 0, 0, .24),
            #020000
        );

    color: #9b7070;

    font-size: 11px;
    line-height: 1.55;

    box-shadow:
        inset 0 0 16px rgba(177, 39, 39, .035),
        0 0 12px rgba(177, 39, 39, .08);
}

.about-shock-warning > strong {
    display: block;

    margin-bottom: 7px;

    color: #e25050 !important;

    font-size: 12px;
    font-weight: 900 !important;
    letter-spacing: .65px;

    text-shadow:
        0 0 4px rgba(226, 80, 80, .75),
        0 0 10px rgba(226, 80, 80, .28);
}

.about-shock-warning p {
    margin: 6px 0 !important;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 760px) {
    .download-entry,
    .download-request-history-row {
        grid-template-columns: 1fr;
    }

    .download-entry-actions {
        align-items: flex-start;
    }

    .download-request-row header {
        flex-direction: column;
    }
}


/* ---------- v0.30.2 PULSING SHOCK CONTENT WARNING ---------- */

@keyframes kruzifixShockWarningPulse {
    0%,
    100% {
        border-color: #5b1d1d;
        border-left-color: #bd3535;

        box-shadow:
            inset 0 0 16px rgba(177, 39, 39, .035),
            0 0 10px rgba(177, 39, 39, .07);
    }

    50% {
        border-color: #8a2929;
        border-left-color: #ef5050;

        box-shadow:
            inset 0 0 24px rgba(207, 49, 49, .075),
            0 0 8px rgba(226, 65, 65, .18),
            0 0 20px rgba(226, 65, 65, .14),
            0 0 34px rgba(170, 28, 28, .08);
    }
}

@keyframes kruzifixShockWarningTitlePulse {
    0%,
    100% {
        color: #e25050;

        text-shadow:
            0 0 4px rgba(226, 80, 80, .62),
            0 0 10px rgba(226, 80, 80, .22);
    }

    50% {
        color: #ff6868;

        text-shadow:
            0 0 5px rgba(255, 104, 104, .92),
            0 0 12px rgba(239, 74, 74, .50),
            0 0 22px rgba(203, 42, 42, .25);
    }
}

.about-shock-warning {
    animation:
        kruzifixShockWarningPulse
        3.8s
        ease-in-out
        infinite;
}

.about-shock-warning > strong {
    animation:
        kruzifixShockWarningTitlePulse
        3.8s
        ease-in-out
        infinite;
}

.home-shock-warning {
    max-width: 900px;
    margin: 12px 0 20px;
}

/* Respect users who request reduced animation. */
@media (prefers-reduced-motion: reduce) {
    .about-shock-warning,
    .about-shock-warning > strong {
        animation: none !important;
    }
}


/* ---------- v0.30.6 KRUZIFIX LOGO — BLOOD RED GLOBAL GLOW ---------- */

/*
   No particles.
   The effect is attached directly to .site-name, so it works on every
   KRUZIFIX page that uses the standard site-name element — regardless
   of whether the header uses .top, .legal-logo, or another wrapper.
*/

.site-name-wrap {
    position: relative;
    display: inline-block;
    isolation: isolate;
    overflow: visible;
    padding: 7px 16px 11px;
}

.site-name {
    position: relative;
    z-index: 2;

    display: inline-block;

    color: #891313 !important;

    text-shadow:
        0 0 3px rgba(175, 20, 20, .52),
        0 0 8px rgba(135, 8, 8, .40),
        0 0 15px rgba(95, 0, 0, .28),
        0 0 26px rgba(63, 0, 0, .18);

    filter:
        drop-shadow(
            0 0 4px rgba(115, 4, 4, .20)
        );

    animation:
        kruzifixBloodLogoPulse
        5s
        ease-in-out
        infinite;
}

/* Background blood-red aura works even without site-name-wrap. */
.site-name::before {
    content: "";

    position: absolute;

    left: 50%;
    top: 50%;

    width: 118%;
    height: 145%;

    transform:
        translate(-50%, -50%)
        scale(.98);

    z-index: -2;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse,
            rgba(153, 12, 12, .18) 0%,
            rgba(105, 0, 0, .10) 42%,
            rgba(35, 0, 0, 0) 77%
        );

    filter: blur(13px);

    pointer-events: none;

    animation:
        kruzifixBloodAuraPulse
        5s
        ease-in-out
        infinite;
}

/* Home has data-text, so give it a tiny extra blurred duplicate. */
.site-name[data-text]::after {
    content: attr(data-text);

    position: absolute;
    inset: 0;

    z-index: -1;

    color: rgba(164, 17, 17, .42);

    filter: blur(5px);
    opacity: .43;

    transform: scale(1.008);

    pointer-events: none;
}

/* Explicitly kill all old particle pseudo-elements. */
.site-name-wrap::before {
    content: none !important;
    display: none !important;
}

@keyframes kruzifixBloodLogoPulse {
    0%,
    100% {
        color: #7d1111;

        text-shadow:
            0 0 3px rgba(155, 15, 15, .42),
            0 0 7px rgba(118, 5, 5, .32),
            0 0 13px rgba(82, 0, 0, .22),
            0 0 22px rgba(52, 0, 0, .13);

        filter:
            drop-shadow(
                0 0 3px rgba(100, 0, 0, .15)
            );
    }

    50% {
        color: #ad1a1a;

        text-shadow:
            0 0 4px rgba(205, 35, 35, .68),
            0 0 10px rgba(158, 12, 12, .50),
            0 0 18px rgba(112, 0, 0, .34),
            0 0 30px rgba(74, 0, 0, .20);

        filter:
            drop-shadow(
                0 0 5px rgba(135, 7, 7, .24)
            );
    }
}

@keyframes kruzifixBloodAuraPulse {
    0%,
    100% {
        opacity: .54;

        transform:
            translate(-50%, -50%)
            scale(.98);
    }

    50% {
        opacity: .82;

        transform:
            translate(-50%, -50%)
            scale(1.025);
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-name,
    .site-name::before {
        animation: none !important;
    }
}
