/* =========================================================
   KRUZIFIX UI v0.22
   Navigation boxes / forum search / compact thread composer /
   PM avatars.
   ========================================================= */

/* ---------- SIDEBAR: COMPLETE VISUAL GROUPS ---------- */

.kruzifix-global-sidebar {
    display: block;
}

.kruzifix-global-sidebar .sidebar-group {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .008);
}

.kruzifix-global-sidebar .sidebar-group .side-title {
    color: #777;
    font-size: 9px;
    line-height: 1.2;
}

.kruzifix-global-sidebar .sidebar-group a {
    font-size: 11px;
    line-height: 1.25;
}

.kruzifix-global-sidebar .sidebar-group-private .side-title {
    color: #4e9f78;
}

.kruzifix-global-sidebar .sidebar-group-account .side-title {
    color: #7d7d7d;
}

.kruzifix-global-sidebar .sidebar-group-moderation .side-title {
    color: #ba6393;
}

.kruzifix-global-sidebar .sidebar-group-administration .side-title {
    color: #a98934;
}

/* ---------- NOTIFICATION POPUP PM AVATARS ---------- */

.notification-pm-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
}

.notification-pm-avatar {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    overflow: hidden;
    border: 1px solid #333;
    background: #020202;
    color: #555;
    font-size: 12px;
}

.notification-pm-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.notification-pm-copy {
    min-width: 0;
}

/* ---------- FORUM SEARCH ---------- */

.forum-search-panel {
    margin: 0 0 10px;
    padding: 9px 10px;
    border: 1px solid #282828;
    border-left: 3px solid #3b3b3b;
    background: #010101;
}

.forum-thread-search {
    margin: 0;
}

.forum-thread-search > label {
    display: block;
    margin-bottom: 5px;
    color: #696969;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .9px;
}

.forum-thread-search-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto;
    gap: 6px;
    align-items: center;
}

.forum-thread-search input[type="search"] {
    min-width: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 6px 7px;
    border: 1px solid #3d3d3d;
    background: #000;
    color: #c0c0c0;
    font-family: "Times New Roman", Times, serif;
    font-size: 11px;
}

.forum-thread-search input[type="submit"] {
    padding: 5px 10px;
    border: 1px solid #4b4b4b;
    background: #060606;
    color: #999;
    font-family: "Times New Roman", Times, serif;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.forum-search-clear {
    color: #7e2929 !important;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .5px;
}

.forum-search-status {
    margin: 7px 0 0 !important;
    padding-top: 6px;
    border-top: 1px dotted #242424;
    color: #555;
    font-size: 9px;
}

.forum-search-status strong {
    color: #999;
}

.forum-search-empty {
    margin: 8px 0 15px;
    padding: 10px;
    border: 1px dotted #3c2525;
    color: #7d4949;
}

/* ---------- CREATE THREAD DRAWER ---------- */

.forum-create-drawer {
    margin: 0 0 12px;
    border: 1px solid #392020;
    border-left: 3px solid #742020;
    background: #010000;
}

.forum-create-drawer > summary {
    display: block;
    padding: 8px 10px;
    cursor: pointer;
    user-select: none;
    color: #b44b4b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
    list-style: none;
}

.forum-create-drawer > summary::-webkit-details-marker {
    display: none;
}

.forum-create-drawer[open] > summary {
    border-bottom: 1px solid #2d1717;
    background: #050101;
}

.forum-create-drawer .forum-create {
    margin: 0 !important;
    padding: 10px !important;
    border: 0 !important;
    background: #010101 !important;
}

.forum-create-drawer .forum-create h2 {
    margin: 0 0 9px !important;
    font-size: 12px !important;
    letter-spacing: .7px;
}

.forum-create-drawer #create-thread-form {
    display: grid;
    grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
    gap: 6px 10px;
    align-items: start;
}

.forum-create-drawer #create-thread-form > label {
    padding-top: 5px;
    color: #676767;
    font-size: 9px;
    letter-spacing: .6px;
}

.forum-create-drawer #create-thread-form > select,
.forum-create-drawer #create-thread-form > input[type="text"],
.forum-create-drawer #create-thread-form > textarea,
.forum-create-drawer #create-thread-form > input[type="file"] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
    font-size: 11px;
}

.forum-create-drawer #create-thread-form > textarea {
    min-height: 130px;
}

.forum-create-drawer #create-thread-form > .field-note,
.forum-create-drawer #create-thread-form > input[type="submit"],
.forum-create-drawer #create-thread-form > .forum-form-note {
    grid-column: 2;
}

.forum-create-drawer #create-thread-form > input[type="submit"] {
    justify-self: start;
    margin-top: 2px;
}

.forum-create-disabled {
    margin: 0 0 12px !important;
    padding: 8px 10px !important;
}

/* ---------- FORUM INDEX / THREAD TABLE ---------- */

.forum-index-section {
    margin-top: 0 !important;
}

.forum-index-heading-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: baseline;
    margin-bottom: 9px;
    padding-bottom: 6px;
    border-bottom: 1px solid #252525;
}

.forum-index-heading-row h2 {
    margin: 0 !important;
}

.forum-index-filtered {
    color: #775555;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 1px;
}

body.forum-view .forum-category {
    overflow: hidden;
    border-color: #272727 !important;
    background: #010101;
}

body.forum-view .forum-category-head {
    padding: 8px 10px !important;
    border-bottom: 1px solid #292929;
    background: #040404;
}

body.forum-view .forum-category-description {
    margin-top: 3px !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
}

body.forum-view .forum-thread-table {
    margin: 0 !important;
    border: 0 !important;
}

body.forum-view .forum-thread-table thead th {
    padding: 5px 7px !important;
    border-bottom: 1px solid #2f2f2f !important;
    background: #020202;
    color: #555 !important;
}

body.forum-view .forum-thread-table tbody tr {
    border-bottom: 1px dotted #202020;
}

body.forum-view .forum-thread-table tbody tr:last-child {
    border-bottom: 0;
}

body.forum-view .forum-thread-table tbody tr:hover {
    background: #050505 !important;
}

body.forum-view .forum-thread-table td {
    padding: 8px 8px !important;
}

body.forum-view .forum-thread-title {
    display: inline-block;
    margin: 1px 0 2px;
    line-height: 1.25;
}

body.forum-view .forum-thread-meta,
body.forum-view .forum-thread-last {
    color: #626262;
}

/* ---------- THREAD PAGE ---------- */

.thread-title {
    margin-bottom: 0 !important;
    padding: 9px 11px !important;
    border: 1px solid #303030 !important;
    border-left: 3px solid #5f1a1a !important;
    background: #030303;
}

.thread-meta {
    margin: 0 0 7px !important;
    padding: 8px 11px;
    border: 1px solid #242424;
    border-top: 0;
    background: #010101;
    color: #666;
    font-size: 10px;
    line-height: 1.45;
}

.thread-utility-bar {
    position: sticky;
    top: 4px;
    z-index: 80;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    margin: 0 0 12px;
    padding: 5px 7px;
    border: 1px solid #292929;
    background: rgba(0, 0, 0, .96);
}

.thread-utility-bar a {
    padding: 3px 6px;
    border: 1px solid #272727;
    background: #020202;
    color: #777 !important;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .45px;
    text-decoration: none;
}

.thread-utility-bar a:hover {
    border-color: #642020;
    color: #aaa !important;
}

#thread-posts {
    display: grid;
    gap: 10px;
}

#thread-posts .forum-post {
    margin: 0 !important;
    border: 1px solid #2b2b2b !important;
    border-left: 3px solid #343434 !important;
    background: #010101;
}

#thread-posts .forum-post:hover {
    border-left-color: #5c1a1a !important;
}

#thread-posts .forum-post-author {
    background: #020202;
}

#thread-posts .forum-post-head {
    background: #030303;
    border-bottom: 1px solid #242424;
}

#thread-posts .forum-post-body {
    line-height: 1.55;
}

.thread-reply-drawer {
    margin-top: 12px;
    border: 1px solid #342020;
    border-left: 3px solid #6e1d1d;
    background: #010000;
}

.thread-reply-drawer > summary {
    display: block;
    padding: 8px 10px;
    cursor: pointer;
    color: #a74a4a;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .9px;
    list-style: none;
}

.thread-reply-drawer > summary::-webkit-details-marker {
    display: none;
}

.thread-reply-drawer[open] > summary {
    border-bottom: 1px solid #2b1717;
}

.thread-reply-drawer .forum-reply-form {
    margin: 0 !important;
    padding: 10px !important;
    border: 0 !important;
}

.thread-reply-drawer textarea {
    min-height: 140px !important;
}

/* ---------- PRIVATE MESSAGES ---------- */

.pm-nav {
    margin: 12px 0 16px !important;
    padding: 6px 8px;
    border: 1px solid #292929;
    background: #020202;
}

.pm-entry {
    margin-bottom: 8px !important;
    padding: 8px !important;
    border: 1px solid #262626 !important;
    border-left: 3px solid #333 !important;
    background: #010101;
}

.pm-entry.pm-unread {
    border-left-color: #4969aa !important;
    background: #010207;
}

.pm-entry-layout {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
}

.pm-entry-avatar {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid #333;
    background: #000;
    color: #555 !important;
    text-decoration: none !important;
}

.pm-entry-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.pm-entry-content {
    min-width: 0;
}

.pm-entry-title {
    margin: 0 0 4px !important;
    font-size: 12px;
}

.pm-entry .admin-user-meta {
    margin: 3px 0 !important;
    font-size: 10px;
    line-height: 1.35;
}

.pm-entry .pm-actions {
    margin-top: 7px !important;
    gap: 8px !important;
}

.pm-open-participants {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 8px 0 12px;
}

.pm-open-person {
    display: grid;
    grid-template-columns: 42px auto;
    gap: 7px;
    align-items: center;
    min-width: 180px;
    padding: 6px 8px;
    border: 1px solid #292929;
    background: #010101;
    color: #666 !important;
    font-size: 9px;
    line-height: 1.35;
    text-decoration: none !important;
}

.pm-open-avatar {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    overflow: hidden;
    border: 1px solid #333;
    color: #555;
}

.pm-open-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pm-message-body {
    padding: 10px 11px;
    border: 1px solid #282828;
    border-left: 3px solid #3d3d3d;
    background: #010101;
}

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

@media (max-width: 850px) {
    .forum-create-drawer #create-thread-form {
        grid-template-columns: 1fr;
    }

    .forum-create-drawer #create-thread-form > .field-note,
    .forum-create-drawer #create-thread-form > input[type="submit"],
    .forum-create-drawer #create-thread-form > .forum-form-note {
        grid-column: 1;
    }

    .forum-thread-search-row {
        grid-template-columns: 1fr auto;
    }

    .forum-search-clear {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .thread-utility-bar {
        position: static;
    }

    .pm-entry-layout {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .pm-entry-avatar {
        width: 40px;
        height: 40px;
    }
}


/* ---------- v0.22.1 FORUM / STEAM SHIMMER HOTFIX ---------- */

/*
   Sidebar hover must never replace the gradient background used by
   forum-global-link / steam-group-link. The sidebar inline rule now uses
   background-color only, so both shimmer effects remain visible on hover.
*/

.kruzifix-global-sidebar .forum-global-link:hover,
.kruzifix-global-sidebar .steam-group-link:hover {
    -webkit-text-fill-color: transparent !important;
}

/* Main Forum page title mirrors the emerald FORUM navigation style. */
body.forum-view .main > h1 {
    font-family: "Times New Roman", Times, serif !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    letter-spacing: 1.5px !important;

    background-image:
        linear-gradient(
            90deg,
            #063f32,
            #0b8062,
            #39e6b0,
            #b8ffe6,
            #39e6b0,
            #0b8062,
            #063f32
        ) !important;

    background-size: 320% 100% !important;

    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;

    animation:
        forum-emerald-shimmer
        3.2s
        linear
        infinite !important;

    text-shadow: none !important;
}


/* ---------- v0.22.2 ACTIVE SHIMMER HOTFIX ---------- */

/*
   Active/current sidebar state must not replace the gradient background
   used by FORUM / STEAM GROUP shimmer links.
*/
.kruzifix-global-sidebar .forum-global-link.sidebar-current,
.kruzifix-global-sidebar .steam-group-link.sidebar-current,
.kruzifix-global-sidebar .forum-global-link.sidebar-current:hover,
.kruzifix-global-sidebar .steam-group-link.sidebar-current:hover {
    -webkit-text-fill-color: transparent !important;
    background-color: #080202 !important;
}

/*
   Reassert each link's own gradient after the generic active/current state.
*/
.kruzifix-global-sidebar .forum-global-link.sidebar-current,
.kruzifix-global-sidebar .forum-global-link.sidebar-current:hover {
    background-image:
        linear-gradient(
            90deg,
            #063f32,
            #0b8062,
            #39e6b0,
            #b8ffe6,
            #39e6b0,
            #0b8062,
            #063f32
        ) !important;

    background-size: 320% 100% !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    animation:
        forum-emerald-shimmer
        3.2s
        linear
        infinite !important;
}

.kruzifix-global-sidebar .steam-group-link.sidebar-current,
.kruzifix-global-sidebar .steam-group-link.sidebar-current:hover {
    /*
       Keep the Steam link's own existing shimmer/background declarations
       instead of replacing them with the generic sidebar-current fill.
    */
    -webkit-background-clip: text !important;
    background-clip: text !important;
}


/* ---------- v0.22.3 NOTIFICATIONS / LEGAL CORNER ---------- */

.notification-bell-label {
    letter-spacing: .75px;
}

.kruzifix-legal-corner {
    position: fixed;
    right: 16px;
    bottom: 12px;
    z-index: 6400;

    display: flex;
    align-items: center;
    gap: 6px;

    padding: 4px 7px;

    border: 1px solid rgba(255, 255, 255, .08);
    background: rgba(0, 0, 0, .82);

    font-family: "Times New Roman", Times, serif;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
}

.kruzifix-legal-corner a {
    color: #f0f0f0 !important;
    text-decoration: none !important;

    text-shadow:
        0 0 3px rgba(255, 255, 255, .85),
        0 0 7px rgba(255, 255, 255, .28);

    transition:
        color .12s linear,
        text-shadow .12s linear;
}

.kruzifix-legal-corner a:hover {
    color: #ffffff !important;

    text-shadow:
        0 0 4px rgba(255, 255, 255, 1),
        0 0 9px rgba(255, 255, 255, .55),
        0 0 15px rgba(255, 255, 255, .18);
}

.kruzifix-legal-corner span {
    color: #555;
    text-shadow: none;
}

@media (max-width: 700px) {
    .kruzifix-legal-corner {
        right: 8px;
        bottom: 8px;
        font-size: 8px;
    }
}
