@import url('https://fonts.googleapis.com/css?family=Archivo');
@import url('https://fonts.googleapis.com/css?family=Roboto');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
@import url('https://fonts.googleapis.com/css2?family=Style+Script');

/* Shared Styles (use variables) */
.trumbowyg-font-family { color: var(--normaltext); }

input:read-only {
  background-color: var(--altbg);
  color: #666;
  border: 1px dashed var(--normalline);
  cursor: not-allowed;
}

/* Top Alerts */
.top-alert {
  border-radius: 0;
  margin-bottom: 0;
}

/* Tables */
.normal_table { font-size:14px; }
.normal_table td { color: var(--normaltext); }
.normal_table th { background-color: transparent !important; color: var(--normaltext); margin:5px 0 !important; font-weight: bold; font-size:13px; }


.table-style {
 border-color: var(--normalline);
 color: var(--table-normaltext);
}

.table-style th,
.table-style td,
.table-style thead th {
  border-color: var(--table-border-color);
  color: var(--table-normaltext);
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-striped-bg: var(--table-striped-odd-color) !important;
  --bs-table-striped-color: inherit; /* optional, lets text color stay normal */
}

.table-striped > tbody > tr:nth-of-type(even) > * {
  background-color: var(--table-striped-even-color) !important;
}


img {
        max-width: 100%;
        height: auto;
    }

/* Buttons */
.btn-outline-green { 
	border:1px solid var(--accent);
	color: var(--accent);
}
.btn-outline-green:hover { 
	border:1px solid var(--linkhover);
}

/* Editor */
#threadContent, #replyContent { min-height: 300px; }
#threadContent .trumbowyg-box, #replyContent .trumbowyg-box { height: 100%; } 
/* Alertify */
.alertify .success { color:black !important; }
.alertify .ajs-header { color: var(--alertify-header); }
.alertify .ajs-body { background-color: var(--alertify-body-bg); color: var(--alertify-header); }
.alertify .ajs-dialog { background-color: var(--alertify-dialog-bg); color: var(--alertify-header); border: 1px solid var(--alertify-dialog-border); }
.alertify .ajs-button.ajs-ok { background: var(--alertify-btn-ok-bg); border-color: var(--alertify-btn-ok-border); color: var(--alertify-btn-ok-color); }
.alertify .ajs-button.ajs-cancel { background: var(--alertify-btn-cancel-bg); border-color: var(--alertify-btn-ok-border); color: var(--alertify-btn-ok-color); }
.alertify .ajs-button.ajs-ok:hover { background: var(--alertify-btn-ok-hover-bg); }
.alertify .ajs-button.ajs-cancel:hover { background: var(--alertify-btn-cancel-hover-bg); }
.alertify-notifier .ajs-message.ajs-default { background-color: var(--alertify-notifier-default-bg); color: var(--alertify-notifier-default-color); border: var(--alertify-notifier-default-border); box-shadow: none; padding: 15px; display: flex; align-items: center; }
.alertify-notifier .ajs-message.ajs-success { background-color: var(--alertify-notifier-success-bg) !important; color: var(--alertify-notifier-success-color) !important; }

/* Input Fields */
.form-control { background: var(--normalbg); border: 1px solid var(--normalline); color: var(--table-normaltext); }
.form-control::placeholder { color: var(--placeholder); opacity: 1; }
.form-control:focus { background: var(--normalbg); color: var(--table-normaltext); box-shadow: none; }
.form-select { background: var(--normalbg); border: 1px solid var(--normalline); color: var(--table-normaltext); background-image: linear-gradient(45deg, transparent 50%, var(--table-normaltext) 50%), linear-gradient(135deg, var(--table-normaltext) 50%, transparent 50%), linear-gradient(to right, transparent, transparent); background-position: calc(100% - 20px) calc(0.575em + 8px), calc(100% - 15px) calc(0.575em + 8px), 100% 0; background-size: 5px 5px, 5px 5px, 1px 1.5em; background-repeat: no-repeat; }

/* Custom Audio Player */
.custom-audio-player { background: var(--audio-player-bg); border: 1px solid var(--audio-player-border); border-radius: 8px; padding: 15px; transition: all 0.3s ease; }
.custom-audio-player:hover { box-shadow: var(--audio-player-hover-shadow); }
.player-bg-image { border-radius: 8px; object-fit: cover; border: 1px solid var(--audio-player-img-border); }
.custom-audio-message { color: var(--audio-message-color); font-size: 0.95rem; font-weight: 500; letter-spacing: 0.5px; }
.aplayer-dj { color: var(--audio-dj-color); font-weight: 600; }
.aplayer-songtitle { color: var(--audio-songtitle-color); font-style: italic; }
.aplayer-songartist { color: var(--audio-songartist-color); }
.custom-audio-controls { background: var(--audio-controls-bg); border-radius: 6px; padding: 10px; }
.play-pause, .mute { background: var(--audio-btn-bg) !important; border-radius: 50%; width: 32px !important; height: 32px !important; display: flex; align-items: center; justify-content: center; transition: background 0.2s ease; }
.play-pause:hover, .mute:hover { background: var(--audio-btn-hover-bg); }
.material-icons { color: var(--audio-icon-color); font-size: 20px; }
.seek-bar, .volume-bar { -webkit-appearance: none; appearance: none; background: var(--audio-bar-bg); height: 6px; border-radius: 3px; outline: none; width: 100%; max-width: 200px; }
.seek-bar::-webkit-slider-thumb, .volume-bar::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 14px; height: 14px; background: var(--audio-thumb-bg) !important; border-radius: 50%; cursor: pointer; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); }
.seek-bar::-moz-range-thumb, .volume-bar::-moz-range-thumb { width: 14px; height: 14px; background: var(--audio-thumb-bg) !important; border: none; border-radius: 50%; cursor: pointer; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); }
.live-stream-indicator { color: var(--audio-live-indicator-color); font-size: 0.85rem; font-weight: 500; background: var(--audio-live-indicator-bg); padding: 4px 8px; border-radius: 4px; }
#visualizer { background: var(--audio-visualizer-bg); border-radius: 8px; margin-bottom: 20px; }

/* Voice Recorder */
#vr-record-div, #vr-recording-div, #vr-player-div, #vr-share-div, #vr-header-div { background: var(--vr-bg); border: 1px solid var(--vr-border); border-radius: 8px; }
.vr-circle-icon { display: inline-flex; justify-content: center; align-items: center; width: 50px; height: 50px; border-radius: 50%; color: var(--vr-circle-color); font-size: 24px; opacity: 0.8; }
.vr-circle-icon:hover { opacity: 1; cursor: pointer; }
.vr-circle-icon-b { display: inline-flex; justify-content: center; align-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--vr-circle-color); font-size: 20px; opacity: 0.8; }
.vr-circle-icon-b:hover { opacity: 1; cursor: pointer; }
.vr-button-a { background: var(--vr-btn-a-bg); }
.vr-button-b { margin-left: 10px; background: var(--vr-btn-b-bg); }
input[type="range"] { -webkit-appearance: none; height: 2px; border-radius: 5px; background: var(--vr-range-bg); outline: none; opacity: 0.9; transition: opacity .2s; }
.vr-player-timers { position: absolute; font-size: 13px; }
.vr-player-timeleft { left: 10px; top: 30px; }
.vr-player-timeright { right: 0; padding-top: 5px; }
#vr-logo { position: absolute; left: 10px; top: -52px; font-family: 'Style Script'; font-size: 45px; }
#vr-share-url { background: var(--vr-share-url-bg); border: 1px solid var(--vr-share-url-border); color: var(--vr-share-url-color); }

/* Global */
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
body { font-family: 'Roboto', sans-serif; color: var(--normaltext); background: var(--body-bg); min-height: 100vh; display: flex; flex-direction: column; }
#page-container { flex: 1 0 auto; }
.card-body { background: var(--cardbody); padding: 10px; }
.btn-clearwhite { color: var(--normaltext); }
.icon::before { display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; }
h1 { font-size: 35px; }
h2 { font-size: 30px; }
h3 { font-size: 25px; }
h4 { font-size: 20px; }
hr { border-top: 1px solid #666; }
.green { color: var(--color-green); }
.red { color: var(--color-red); }
.orange { color: var(--color-orange); }
a { color: var(--alink); text-decoration: none; }
a:hover { color: var(--alink-hover); text-decoration: none; }
.altheader h1:before, .addfaicon:before { font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f188"; margin-right: 5px; }

/* Global Classes */
.nodisplay { display: none; }
.flex-auto { -ms-flex: 0 0 auto; -webkit-box-flex: 0; flex: 0 0 auto; }
.border-top { border-top: 1px solid #e5e5e5; }
.border-bottom { border-bottom: 1px solid #e5e5e5; }
.box-shadow { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); }
.card-img-right { height: 100%; border-radius: 0 3px 3px 0; }
.rmheight { max-height: 300px; position: relative; overflow: hidden; transition: max-height 0.5s ease; }
.rmheight.expanded { max-height: 2000px; }
.rmheight .view-allcode { position: absolute; bottom: 0; left: 0; width: 100%; text-align: center; margin: 0; padding: 30px 0; font-size: 13px; color: grey; background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #000 100%); }
.rmheight.expanded .view-allcode { background: none; }
html { scrollbar-width: thin; scrollbar-color: var(--scrollbar-color); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--scrollbar-track); border-radius: 5px; }
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 5px; border: 2px solid var(--scrollbar-track-border); }
::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover); }
.codesyntax { max-height: 400px; }
.postscode .codesyntax { max-height: 100px !important; }
.blog-content, .media-body { min-width: 0 !important; }
.blog-main pre, .blog-main pre code, .blog-main textarea.codesyntax { display: block; width: 100% !important; max-width: 100% !important; overflow-x: auto; white-space: pre; box-sizing: border-box; }
.blog-main pre code, .blog-main textarea.codesyntax { white-space: pre-wrap; word-break: break-word; }
.post-content pre code, .post-content .codesyntax { white-space: pre-wrap; word-break: break-word; }
.post-content pre, .post-content pre code, .post-content textarea.codesyntax { display: block; width: 100% !important; max-width: 100% !important; overflow-x: auto; white-space: pre; box-sizing: border-box; }
.post-content pre code, .post-content .codesyntax { white-space: pre-wrap; word-break: break-word; }

/* Buttons */
.btn-group-xs > .btn, .btn-xs { padding: .3rem .5rem; font-size: .775rem; line-height: .9; border-radius: .2rem; }

/* Dim */
#dimer { display: none; position: fixed; top: 0; left: 0; z-index: 99998; width: 100%; height: 100%; background: #000; opacity: 0.5; filter: alpha(opacity = 50); }
#dim { background: rgba(0,0,0,.8); width: 250px; height: 80px; position: fixed; top: 50%; right: 50%; z-index: 99999; margin-top: -40px; margin-right: -125px; }
#dimicon { font-size: 50px; color: white; line-height: 80px; }
.highlighttext { color: var(--alink); font-weight: bold; }

/* Navbar */
.navbar-mainmenu {
    position: sticky;
    top: 0;
    z-index: 1030;
    padding-top: .36rem;
    padding-bottom: .36rem;
    background: var(--main-nav-bg, rgba(0, 0, 0, .56)) !important;
    border-bottom: 1px solid var(--main-nav-border, rgba(255, 255, 255, .08));
    box-shadow: var(--main-nav-shadow, 0 14px 30px rgba(0, 0, 0, .18));
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: padding .22s ease, background .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.navbar-mainmenu::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(var(--site-accent-rgb), .72), transparent);
    opacity: .42;
    pointer-events: none;
}
.navitemicon { position: relative; }
.navbar-mainmenu .navbar-nav { gap: .18rem; }
.navbar-mainmenu .nav-item .nav-link {
    position: relative;
    overflow: hidden;
    color: var(--main-nav-link, var(--normaltext)) !important;
    margin: 2px 1px;
    padding: .52rem .72rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .01em;
    white-space: nowrap;
    word-break: keep-all;
    transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.navbar-mainmenu .nav-item .nav-link::after {
    display: none;
}
.navbar-mainmenu .nav-item .nav-link:hover,
.navbar-mainmenu .nav-item .nav-link:focus {
    color: var(--main-nav-link-hover, var(--normalhover)) !important;
    background: var(--main-nav-link-hover-bg, rgba(255, 255, 255, .08));
    border-color: var(--main-nav-link-hover-border, rgba(255, 255, 255, .10));
    box-shadow: var(--main-nav-link-hover-shadow, 0 8px 18px rgba(0, 0, 0, .14));
    text-decoration: none;
    transform: translateY(-1px);
}
.navbar-mainmenu .nav-item .nav-link.active,
.navbar-mainmenu .nav-item .nav-link.show {
    color: var(--main-nav-active-color, #fff) !important;
    background: var(--main-nav-active-bg, linear-gradient(135deg, rgba(var(--site-accent-rgb), .34), rgba(var(--site-accent-rgb), .16)));
    border-color: var(--main-nav-active-border, rgba(var(--site-accent-rgb), .38));
    box-shadow: var(--main-nav-active-shadow, 0 0 0 1px rgba(var(--site-accent-rgb), .10), 0 10px 22px rgba(var(--site-accent-rgb), .16));
}
.navbar-mainmenu .nav-item .nav-link:hover,
.navbar-mainmenu .nav-item .nav-link:focus,
.navbar-mainmenu .nav-item .nav-link.active,
.navbar-mainmenu .nav-item .nav-link.show {
    text-decoration: none !important;
}
.navbar-mainmenu .nav-item .nav-link .badge-counter { font-size: 10px !important; padding: 3px 5px; }
.nav-scroller { position: relative; z-index: 2; height: 2.75rem; overflow-y: hidden; }
.nav-scroller .nav { display: flex; flex-wrap: nowrap; padding-bottom: 1rem; margin-top: -1px; overflow-x: auto; text-align: center; white-space: nowrap; -webkit-overflow-scrolling: touch; }
.nav-scroller .nav-link { font-size: .875rem; padding-top: .75rem; padding-bottom: .75rem; }
.navbar-mainmenu .dropdown-menu {
    min-width: 13rem;
    margin-top: .55rem;
    padding: .45rem;
    background: var(--main-nav-dropdown-bg, #161819) !important;
    color: var(--main-nav-dropdown-color, #CCC);
    border: 1px solid var(--main-nav-dropdown-border, rgba(255, 255, 255, .10));
    border-radius: 14px;
    box-shadow: var(--main-nav-dropdown-shadow, 0 18px 36px rgba(0, 0, 0, .28));
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    animation: mainNavDropdownIn .16s ease both;
}
.navbar-mainmenu .dropdown-menu a {
    color: var(--main-nav-dropdown-link, #CCC);
    border-radius: 10px;
    padding: .55rem .7rem;
    font-weight: 650;
    white-space: nowrap;
}
.navbar-mainmenu .dropdown-menu a:hover,
.navbar-mainmenu .dropdown-menu a:focus {
    color: var(--main-nav-dropdown-link-hover, #FFF);
    background: var(--main-nav-dropdown-link-hover-bg, rgba(255, 255, 255, .08));
}

@keyframes mainNavDropdownIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.dropdown.no-arrow .dropdown-toggle:after { display: none; }
.navbar-mainmenu .navbar-toggler {
    border: 1px solid var(--main-nav-toggler-border, rgba(255, 255, 255, .16));
    border-radius: 12px;
    padding: .45rem .6rem;
    background: var(--main-nav-toggler-bg, rgba(255, 255, 255, .06));
}
.navbar-toggler:focus, .navbar-toggler:active, .navbar-toggler-icon:focus { outline: none; box-shadow: none; }
@media only screen and (max-width: 991px) {
    .navbar-mainmenu { z-index: 2080; }
    .navbar-mainmenu .navbar-toggler { position: relative; z-index: 2082; }
    .navbar-mainmenu .offcanvas {
        top: 0;
        bottom: 0;
        z-index: 2085;
        width: min(340px, 88vw);
        max-width: 88vw;
        height: 100vh;
        min-height: 100vh;
        background: var(--main-nav-mobile-bg, rgba(22, 24, 25, .96)) !important;
        border-right: 1px solid var(--main-nav-border, rgba(255, 255, 255, .08));
        box-shadow: var(--main-nav-mobile-shadow, 18px 0 34px rgba(0, 0, 0, .22));
    }
    .navbar-mainmenu .offcanvas.show,
    .navbar-mainmenu .offcanvas.showing {
        visibility: visible;
        overflow: hidden;
    }
    .offcanvas-backdrop { z-index: 2075; }
    .navbar-mainmenu .offcanvas-body {
        display: flex !important;
        flex: 1 1 auto;
        flex-direction: column !important;
        width: 100%;
        min-height: calc(100vh - 58px);
        max-height: calc(100vh - 58px);
        overflow-y: auto;
        overflow-x: hidden;
        background: transparent;
        border-right: 0;
        box-shadow: none;
        padding: .85rem;
    }
    .navbar-mainmenu .offcanvas-header {
        flex: 0 0 auto;
        background: var(--main-nav-mobile-header-bg, #161819);
        color: var(--main-nav-mobile-header-color, white);
        border-bottom: 1px solid var(--main-nav-border, rgba(255, 255, 255, .08));
        margin: 0px;
        min-height: 58px;
    }
    .navbar-mainmenu .offcanvas-body > .navbar-nav {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap;
        width: 100%;
    }
    .navbar-mainmenu .offcanvas-body > .navbar-nav.order-last {
        order: 2 !important;
        position: static;
        min-height: 0;
    }
    .navbar-mainmenu .offcanvas-body > .navbar-nav.order-first {
        order: 1 !important;
        position: static;
        min-height: 0;
        margin-top: .75rem;
        padding-top: .7rem;
        border-top: 1px solid var(--main-nav-border, rgba(255, 255, 255, .08));
    }
    .navbar-mainmenu .offcanvas-body > .navbar-nav.ms-lg-auto {
        position: static;
        gap: .28rem;
    }
    .navbar-mainmenu .offcanvas .nav-item.d-block.d-md-none {
        display: block !important;
    }
    .navbar-mainmenu .offcanvas .nav-item.d-none.d-md-block,
    .navbar-mainmenu .offcanvas .nav-item.d-none.d-md-block.navitemicon {
        display: none !important;
    }
    .navbar-mainmenu .searchbaricon,
    .navbar-mainmenu .themeicon {
        display: block !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        width: 100%;
    }
    .navbar-mainmenu .searchbaricon .nav-link,
    .navbar-mainmenu .themeicon .nav-link {
        justify-content: flex-start;
        gap: .65rem;
    }
    .navbar-mainmenu #searchbarlink::after { content: 'Search'; }
    .navbar-mainmenu #thememode::after { content: 'Theme'; }
    .navbar-mainmenu .dropdown-menu { position: static; z-index: 2086; }
    .navbar-mainmenu .navbar-nav { gap: .25rem; }
    .navbar-mainmenu .nav-item .nav-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        margin: 2px 0;
        padding: .68rem .82rem;
        border-radius: 12px;
        min-height: 44px;
    }
    .navbar-mainmenu .nav-item .nav-link::after {
        display: none !important;
        content: none !important;
    }
    .navbar-mainmenu .dropdown-menu {
        margin: .25rem 0 .5rem 0;
        box-shadow: none;
    }
}
.closebutton { color: var(--main-nav-close-color, white); }

/* Notification Dropdown */
.dropdown-notification .dropdown-header { color: white; }
.dropdown-notification .icon-circle { font-size: 13px; height: 2rem; width: 2rem; border-radius: 100%; display: flex; align-items: center; justify-content: center; font-size: 13px; }
.dropdown-notification-item { border-bottom: 1px solid #CCC; font-size: 17px; margin: 3px 0; font-size: 17px; }
.dropdown-notification-time { color: #ccc; }
.dropdown-notification-message { color: #666; }
a.dropdown-notification-viewall { color: #666; }
.alertsdropdown { overflow-wrap: break-word !important; word-wrap: break-word !important; hyphens: auto; min-width: 400px; width: 50%; max-width: 700px; }
.alertsdropdown a { white-space: normal !important; }

/* Search Bar */
.searchbar { position: relative; z-index: 2050; background: var(--top-searchbar-bg, rgba(0, 0, 0, .42)); padding: 8px 0; border-bottom: 1px solid var(--top-searchbar-border, transparent); box-shadow: var(--top-searchbar-shadow, none); backdrop-filter: blur(10px); }
.searchinput, .searchinput:focus { color: var(--normaltext); }


/* Main navigation desktop overflow support. Keep lists on one line at Bootstrap lg+ so the More menu can measure accurately. */
@media (min-width: 992px){
  .navbar-mainmenu .offcanvas-body{ flex-wrap: nowrap; }
  .navbar-mainmenu .offcanvas-body > .navbar-nav{ flex-wrap: nowrap; }

  /* let the LEFT list flex and take remaining space */
  .navbar-mainmenu .offcanvas-body > .navbar-nav:first-child{
    flex: 1 1 auto; min-width: 0; /* allows shrink */
  }
  /* keep the RIGHT list sized-to-content */
  .navbar-mainmenu .offcanvas-body > .navbar-nav.ms-lg-auto{
    flex: 0 0 auto;
  }
}

/* Main navigation More dropdown sizing */
.navbar-mainmenu #moreNavDropdown .dropdown-menu{
  min-width: 12rem;
}






/* Main Page Holder */
.page-holder { 
padding: 20px 20px 80px 20px; 
margin-top: 20px; 
background: var(--page-holder-bg); 
box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important; 
border-radius: 18px !important; 
height: 100%; 
margin-bottom:10px;
}

/* Breadcrumbs */
.mainnavbreadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    width: 100%;
    margin: 0 0 16px 0;
    padding: 9px 13px;
    font-size: 0.78rem;
    line-height: 1.35;
    letter-spacing: .01em;
    list-style: none;
    background: var(--breadcrumb-bg, rgba(255, 255, 255, .045));
    border: 1px solid var(--breadcrumb-border, rgba(255, 255, 255, .08));
    border-left: 3px solid var(--accent);
    border-radius: 12px;
    box-shadow: var(--breadcrumb-shadow, 0 10px 26px rgba(0, 0, 0, .16));
    backdrop-filter: blur(10px);
}
.mainnavbreadcrumb .breadcrumb-item {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    color: var(--breadcrumb-muted, #777);
    font-weight: 600;
}
.mainnavbreadcrumb .breadcrumb-item + .breadcrumb-item { padding-left: .55rem; }
.mainnavbreadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: "›";
    padding-right: .55rem;
    color: var(--breadcrumb-separator, #666);
    font-weight: 800;
}
.mainnavbreadcrumb .active {
    color: var(--breadcrumb-active, var(--normaltext)) !important;
}
.mainnavbreadcrumb a {
    color: var(--breadcrumb-link, var(--normaltext));
    text-decoration: none;
    transition: color .18s ease, text-shadow .18s ease;
}
.mainnavbreadcrumb a:hover {
    color: var(--breadcrumb-link-hover, var(--normalhover));
    text-decoration: none;
    text-shadow: var(--breadcrumb-link-glow, none);
}
@media (max-width: 575.98px) {
    .mainnavbreadcrumb {
        padding: 8px 10px;
        border-radius: 10px;
        font-size: .74rem;
    }
}

/* Jumbotron & Main Header with Logo */
.jumbotron-main { font-family: 'Outfit', Arial, sans-serif; padding: 20px 20px; background-color: transparent; }
.jumbotron-main h1 { font-family: 'Outfit', Arial, sans-serif; font-weight: 700; letter-spacing: -0.035em; line-height: 1.05; }
.jumbotron-main p { font-family: 'Inter', Arial, sans-serif; font-size: 16px; font-weight: 500; letter-spacing: 0.01em; }
.modern-page-header h1 { font-family: 'Outfit', Arial, sans-serif; font-weight: 700; letter-spacing: -0.035em; line-height: 1.05; }
.modern-page-header-tag { font-family: 'Inter', Arial, sans-serif; font-weight: 500; letter-spacing: 0.01em; }

/* Logo Header */
.altheader { font-family: Archivo; margin-bottom: 15px; padding: 10px 20px; }
.altheader hr { margin: 0 0 10px 0; }
.altheader h2 { font-size: 16px; color: var(--normaltext); font-family: 'Courier New'; }

/* CountDown */
.countdown { text-transform: uppercase; font-weight: bold; }
.countdown span { text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1); font-size: 2rem; margin-left: 0.9rem; }
.countdown span:first-of-type { margin-left: 0; }
.countdown-circles { text-transform: uppercase; font-weight: bold; }
.countdown-circles span { width: 50px; height: 50px; border-radius: 50%; background: rgba(255, 255, 255, 0.2); display: flex; align-items: center; justify-content: center; box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1); }
.countdown-circles span:first-of-type { margin-left: 0; }

/* Image Slider */
.image-slider-holder {
    position: relative;
    margin: 0 0 18px !important;
    padding: 0;
    overflow: hidden;
    color: var(--normaltext);
    background: var(--gallery-slider-bg, var(--latest-posts-bg, var(--blog-post-bg)));
    border: 1px solid var(--gallery-slider-border, var(--latest-posts-border, var(--normalline)));
    border-radius: 16px !important;
    box-shadow: var(--gallery-slider-shadow, var(--latest-posts-shadow, 0 .5rem 1rem rgba(0, 0, 0, .15))) !important;
}
.image-slider-holder::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    pointer-events: none;
    background: var(--gallery-slider-accent-bar, var(--latest-posts-accent-bar, linear-gradient(90deg, var(--accent), transparent)));
}
.gallery-slider-header {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 12px;
    border-bottom: 1px solid var(--gallery-slider-header-border, var(--latest-posts-header-border, var(--normalline)));
}
.gallery-slider-heading-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.gallery-slider-heading-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--gallery-slider-icon-color, var(--latest-posts-icon-color, var(--accent)));
    background: var(--gallery-slider-icon-bg, var(--latest-posts-icon-bg, rgba(var(--site-accent-mid-rgb), .12)));
    border: 1px solid var(--gallery-slider-icon-border, var(--latest-posts-icon-border, rgba(var(--site-accent-mid-rgb), .22)));
}
.gallery-slider-title {
    margin: 0;
    color: var(--gallery-slider-title, var(--latest-posts-header-color, var(--normaltext)));
    font-size: .98rem;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: .01em;
}
.gallery-slider-header p {
    margin: 2px 0 0;
    font-size: .74rem;
    color: var(--gallery-slider-meta-color, var(--latest-posts-meta-color, var(--normaltext)));
}
.gallery-slider-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    padding: 7px 10px;
    color: var(--gallery-slider-link, var(--latest-posts-all-color, var(--normaltext))) !important;
    background: var(--gallery-slider-link-bg, var(--latest-posts-all-bg, rgba(var(--site-accent-mid-rgb), .12)));
    border: 1px solid var(--gallery-slider-link-border, var(--latest-posts-all-border, rgba(var(--site-accent-mid-rgb), .22)));
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.gallery-slider-link:hover,
.gallery-slider-link:focus {
    color: var(--gallery-slider-link-hover-color, var(--latest-posts-all-hover-color, #fff)) !important;
    background: var(--gallery-slider-link-hover-bg, var(--latest-posts-all-hover-bg, var(--accent))) !important;
    border-color: var(--gallery-slider-link-hover-bg, var(--latest-posts-all-hover-bg, var(--accent))) !important;
}
.gallery-slider-carousel {
    position: relative;
    z-index: 1;
    padding: 12px;
}
.gallery-slider-item { min-width: 0; }
.gallery-slider-card {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 7;
    background: var(--gallery-slider-card-bg, var(--latest-posts-item-bg, var(--altbg)));
    border: 1px solid var(--gallery-slider-card-border, var(--latest-posts-item-border, var(--normalline)));
    border-radius: 14px;
    box-shadow: var(--gallery-slider-card-shadow, var(--latest-posts-item-shadow, none));
    text-decoration: none !important;
}
.gallery-slider-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border: 0 !important;
    border-radius: 0 !important;
    transition: transform .28s ease, filter .28s ease;
}
.gallery-slider-overlay {
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(0, 0, 0, .34);
    opacity: 0;
    transition: opacity .2s ease, background-color .2s ease;
}
.gallery-slider-overlay i {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(var(--site-accent-mid-rgb), .92);
    box-shadow: 0 10px 22px rgba(0, 0, 0, .28);
}
.gallery-slider-card:hover,
.gallery-slider-card:focus { border-color: var(--gallery-slider-card-hover-border, var(--latest-posts-item-hover-border, var(--accent))); }
.gallery-slider-card:hover .gallery-slider-img,
.gallery-slider-card:focus .gallery-slider-img {
    transform: scale(1.04);
    filter: saturate(1.08) contrast(1.04);
}
.gallery-slider-card:hover .gallery-slider-overlay,
.gallery-slider-card:focus .gallery-slider-overlay { opacity: 1; }
.gallery-slider-carousel.owl-theme .owl-nav { margin-top: 10px; }
.gallery-slider-carousel.owl-theme .owl-nav [class*='owl-'] {
    width: 34px;
    height: 34px;
    margin: 0 4px;
    color: var(--gallery-slider-nav-color, var(--normaltext)) !important;
    background: var(--gallery-slider-nav-bg, var(--altbg)) !important;
    border: 1px solid var(--gallery-slider-nav-border, var(--normalline)) !important;
    border-radius: 999px !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.gallery-slider-carousel.owl-theme .owl-nav [class*='owl-']:hover,
.gallery-slider-carousel.owl-theme .owl-nav [class*='owl-']:focus {
    color: #fff !important;
    background: var(--accent) !important;
    border-color: var(--accent) !important;
}
.gallery-slider-carousel.owl-theme .owl-dots { margin-top: 4px; }
.gallery-slider-carousel.owl-theme .owl-dots .owl-dot span {
    width: 8px;
    height: 8px;
    background: var(--gallery-slider-dot, rgba(128, 128, 128, .45));
    transition: width .18s ease, background-color .18s ease;
}
.gallery-slider-carousel.owl-theme .owl-dots .owl-dot.active span,
.gallery-slider-carousel.owl-theme .owl-dots .owl-dot:hover span {
    width: 18px;
    background: var(--accent);
}
@media (max-width: 575.98px) {
    .gallery-slider-header { align-items: flex-start; flex-direction: column; }
    .gallery-slider-link { width: 100%; justify-content: center; }
    .gallery-slider-card { aspect-ratio: 16 / 9; }
}

/* Shoutbox */
.shout_deleteit { font-size: 12px; }
.shout_deleteit a { opacity: 0.5; }
.shout_deleteit a:hover { opacity: 1; }
.shout_banip { font-size: 12px; }
.shout_banip a { opacity: 0.5; }
.shout_banip a:hover { opacity: 1; }
.shout_entry { padding: 5px 10px; border-bottom: 1px solid var(--normalline); font-size: 13px; }
.shout_entry a { font-weight: bold; }
.shout_entry:nth-child(even) { background: var(--shout-alt-bg); }
.shout_user { font-weight: bold; color: #0080FF; }
.shout_guest { font-weight: bold; color: var(--site-accent-mid); }
.shout_time, .shout_time a { font-size: 12px; color: var(--shout-time); font-weight: normal; }
.shout_msgbox, .shout_msgbox:focus, .shout_gbox, .shout_gbox:focus { background: var(--shout-msg-box) !important; border: 1px solid var(--shout-msg-box-border); color: var(--normaltext); font-size: 14px; opacity: 0.2; box-shadow: none; }
.shout_msgbox::placeholder { color: var(--normaltext) !important; opacity: 0.3; }
.shout_btn { color: #CCC; }
#message_box { height: 200px; overflow: auto; }

/* Emoji Holder */
#emojiholder { width: 250px; overflow-y: auto; height: 100px; overflow-x: hidden; max-width: 250px; position: absolute; top: -15px; right: 1px; background: #151718; border: 1px solid #292929; padding: 0 5px; opacity: 0.8; }
#emojibtn { background: var(--shout-msg-box); border: 1px solid var(--shout-msg-box-border); padding-top: 6px; }

/* Blog */
.avatar-mainpage { margin-right: 8px; height: 40px; width: 40px; }
.blog-post { margin-bottom: 40px !important; padding: 10px 20px; background: var(--blog-post-bg); box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important; border-radius: .25rem !important; }
.blog-post:last-child { }
.blog-post-idimg .img-thumbnail { border: 1px solid var(--normalline); box-shadow: none; background: #000; }
.blog-post-title { overflow: hidden; }
.blog-post-title a { color: var(--link); }
.blog-post-title a:hover { color: var(--linkhover); }
.blog-post-meta { color: var(--normaltext); font-size: .85rem; }
.blog-post-meta-date { color: var(--normaltext); }
.blog-post-meta a { color: var(--alink); font-weight: bold; }
.blog-post-meta a:hover { color: var(--alink-hover); }
.blog-post-meta-comments .badge { font-size: .7rem; white-space: nowrap; color: var(--normaltext) !important; font-weight: normal; }
.blog-post-meta #comnum_b, .file-single-holder #comnum_b { font-style: normal !important; }
.post-avatar .img-thumbnail { border: 0px solid var(--normalline); box-shadow: none; background: transparent; }
.blog-content a { color: var(--alink); }
.blog-content a:hover { color: var(--alink-hover); }
.blog-card-grid { margin-bottom: 2rem; }
.blog-card-grid > [class*="col-"] { display: flex; }
.blog-post-card {
  position: relative;
  padding: 0;
  margin-bottom: 0 !important;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 14px !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  min-height: 100%;
}
.blog-post-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: var(--side-menu-topline);
  opacity: .95;
  pointer-events: none;
  z-index: 2;
}
.blog-post-card hr {
    margin: 0.3rem 0 0.5rem 0;
    opacity: 0.2;
}
.blog-post-card:hover { transform: translateY(-4px); box-shadow: 0 1rem 2rem rgba(0, 0, 0, .28) !important; border-color: rgba(255,255,255,.12); }
.blog-post-card-featured { min-height: 100%; }
.blog-post-card-featured::before {
  height: 3px;
  background: var(--latest-posts-accent-bar);
}

.blog-post-card-featured .blog-post-card-image-wrap { aspect-ratio: 16 / 4; }
.blog-post-card-featured .blog-post-card-body {
  grid-template-rows: auto auto auto auto auto;
  padding: 1.15rem 1.15rem 1.2rem 1.15rem;
}

.blog-post-card-featured .blog-post-card-title {
  min-height: 0;
}
.blog-post-card-featured .blog-post-card-title a {
  -webkit-line-clamp: 2;
}
.blog-post-card-featured .blog-post-excerpt {
  min-height: 0;
}
.blog-post-card-image-link { display: block; }
.blog-post-card-image-wrap { position: relative; aspect-ratio: 16 / 6; overflow: hidden; background: #090909; border-radius: 14px 14px 0 0; }
.blog-post-card-image-wrap::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.38), rgba(0,0,0,0) 55%); pointer-events: none; }
.blog-post-card-image { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.blog-post-card:hover .blog-post-card-image { transform: scale(1.04); }
.blog-post-card-body {
  padding: 1rem 1rem 1.1rem 1rem;
  display: grid;
  grid-template-rows: auto minmax(3.5rem, auto) minmax(2.25rem, auto) minmax(5.4rem, auto) auto;
  gap: .25rem;
}
.blog-post-card-topline { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; min-height: 1.5rem; }
.blog-post-card-category { background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.08); color: var(--normaltext) !important; }
.blog-post-card-date {  }
.blog-post-card-title {
  font-size: 1.45rem;
  line-height: 1.2;
  min-height: 3.5rem;
  margin-bottom: 0 !important;
  margin: 0 !important;
}
.blog-post-card-title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-post-card-title a[title] { cursor: help; }
.blog-post-card-meta {
  min-height: 2.25rem;
  margin-bottom: 0 !important;
}
.blog-post-card-authorpic { display: inline-flex; align-items: center; }
.blog-post-card-authorpic img { width: 28px; height: 28px; object-fit: cover; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); background: #000; }
.blog-post-card-stats .badge { font-size: .7rem; white-space: nowrap; color: var(--normaltext) !important; font-weight: normal; }
.blog-post-card-stats .badge a { color: inherit; font-weight: normal; }
.blog-post-excerpt {
  font-size: .98rem;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 5.4rem;
  margin-bottom: 0 !important;
}
.blog-post-card-footer {
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: .9rem;
  margin-top: .1rem;
}

.blog-post-single-modern {
  position: relative;
  overflow: hidden;
  padding: 1.15rem 1.15rem 1.45rem 1.15rem;
  border: 1px solid var(--blog-single-card-border);
  border-radius: 16px !important;
  background: var(--blog-single-card-bg);
  box-shadow: var(--blog-single-card-shadow) !important;
}
.blog-post-single-modern::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--latest-posts-accent-bar);
  pointer-events: none;
  z-index: 2;
}
.blog-post-single-image-wrap {
  aspect-ratio: 16 / 4;
  border-radius: 14px 14px 0 0;
  margin-bottom: 1rem !important;
  border: 1px solid var(--blog-single-image-border);
  box-shadow: var(--blog-single-image-shadow);
}
.blog-post-single-title {
  color: var(--blog-single-title-color);
  font-size: clamp(1.9rem, 2.5vw, 2.55rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  margin: 0 0 .5rem 0 !important;
}
.blog-post-single-meta {
  padding: .7rem .8rem;
  margin: 0 0 1.55rem 0 !important;
  border: 1px solid var(--blog-single-meta-border);
  border-radius: 13px;
  background: var(--blog-single-meta-bg);
  font-size: .95rem;
  row-gap: .55rem;
  column-gap: .7rem !important;
}
.blog-post-single-meta span {
  margin-right: 0;
}
.blog-post-single-meta .blog-post-card-authorpic img {
  width: 34px;
  height: 34px;
}
.blog-post-single-meta-byline {
  color: #d4d8dc;
}
.blog-post-single-meta-byline a {
  font-weight: 600;
}
.blog-post-single-meta-sep {
  opacity: .45;
}
.blog-post-single-modern .post-content {
  padding: .15rem .25rem 0 .25rem;
  color: var(--blog-single-content-color);
  font-size: var(--post-reader-font-size, 1.04rem);
  line-height: var(--post-reader-line-height, 1.92);
  letter-spacing: .003em;
  transition: font-size .16s ease, line-height .16s ease;
}
.blog-post-single-modern .post-content[data-reader-size="small"] {
  --post-reader-font-size: .98rem;
  --post-reader-line-height: 1.88;
}
.blog-post-single-modern .post-content[data-reader-size="normal"] {
  --post-reader-font-size: 1.04rem;
  --post-reader-line-height: 1.92;
}
.blog-post-single-modern .post-content[data-reader-size="large"] {
  --post-reader-font-size: 1.15rem;
  --post-reader-line-height: 1.96;
}
.blog-post-single-modern .post-content[data-reader-size="xlarge"] {
  --post-reader-font-size: 1.26rem;
  --post-reader-line-height: 2;
}
.blog-post-single-modern .post-content p {
  margin-bottom: 1.28rem;
}
.blog-post-single-modern .post-content h2,
.blog-post-single-modern .post-content h3,
.blog-post-single-modern .post-content h4 {
  color: var(--blog-single-heading-color);
  line-height: 1.28;
  margin-top: 1.85rem;
  margin-bottom: .85rem;
}
.blog-post-single-modern .post-content ul,
.blog-post-single-modern .post-content ol {
  margin-bottom: 1.35rem;
  padding-left: 1.35rem;
}
.blog-post-single-modern .post-content li {
  margin-bottom: .45rem;
}
.blog-post-single-modern .post-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}
.blog-post-single-modern .post-content > *:last-child {
  margin-bottom: 0;
}


.social-share-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--side-menu-border);
  border-radius: 14px;
  background: var(--side-menu-bg);
  box-shadow: var(--side-menu-shadow);
  color: var(--side-menu-color);
}
.social-share-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: var(--side-menu-topline);
  opacity: .95;
  pointer-events: none;
}
.social-share-card-inline {
  padding: .9rem;
}
.social-share-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .75rem;
}
.social-share-title {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--side-menu-title);
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .01em;
}
.social-share-title i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  color: var(--side-menu-icon-color);
  background: var(--side-menu-icon-bg);
  border: 1px solid var(--side-menu-action-border);
  font-size: .82rem;
}
.social-share-subtitle {
  color: var(--text-muted);
  font-size: .8rem;
  text-align: right;
}
.social-share-links {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.social-share-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 38px;
  padding: .48rem .68rem;
  border: 1px solid var(--side-menu-action-border);
  border-radius: 999px;
  background: var(--side-menu-action-bg);
  color: var(--side-menu-action-color);
  font-size: .84rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease;
}
button.social-share-link {
  cursor: pointer;
  font-family: inherit;
}
.social-share-link:hover,
.social-share-link:focus {
  transform: translateY(-1px);
  border-color: var(--side-menu-action-hover-border);
  background: var(--side-menu-action-hover-bg);
  color: var(--side-menu-action-hover-color);
  text-decoration: none;
}
.social-share-link i {
  font-size: .95rem;
}
.social-share-copied {
  border-color: var(--accent) !important;
  background: var(--side-menu-button-bg) !important;
  color: var(--side-menu-button-color) !important;
}
.social-share-card-sidebar .social-share-header {
  margin-bottom: .65rem;
}
.social-share-site-note {
  margin: -.15rem 0 .75rem;
  color: var(--text-muted);
  font-size: .82rem;
  line-height: 1.45;
}
.social-share-card-sidebar .social-share-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.social-share-card-sidebar .social-share-link {
  border-radius: 10px;
  min-height: 40px;
  padding: .55rem .5rem;
}
@media only screen and (max-width: 767px) {
  .social-share-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .social-share-subtitle {
    text-align: left;
  }
  .social-share-link {
    flex: 1 1 calc(50% - .55rem);
  }
}


.post-utility-card {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  margin: .65rem 0 1.2rem;
  padding: .72rem .82rem;
  border: 1px solid var(--side-menu-border);
  border-radius: 14px;
  background: var(--side-menu-bg);
  color: var(--side-menu-color);
  box-shadow: var(--side-menu-shadow);
}
.post-utility-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
}
.post-utility-meta {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.post-utility-share-row {
  display: flex;
  align-items: center;
  min-width: 0;
  padding-top: .42rem;
  border-top: 1px solid var(--side-menu-border);
}
.social-share-card-compact {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.social-share-card-compact::before {
  display: none;
}
.social-share-card-compact .social-share-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .42rem;
}
.social-share-card-compact .social-share-links::before {
  content: "Share";
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-right: .1rem;
  color: var(--side-menu-title);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .01em;
}
.social-share-card-compact .social-share-link {
  min-height: 30px;
  padding: .34rem .52rem;
  border-radius: 999px;
  font-size: .78rem;
  gap: .34rem;
}
.social-share-card-compact .social-share-link i {
  font-size: .82rem;
}
.post-reader-toolbar {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--side-menu-color);
  box-shadow: none;
}
.post-reader-toolbar-buttons {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
}
.post-reader-size-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 30px;
  padding: 0 .45rem;
  border: 1px solid var(--side-menu-action-border);
  border-radius: 9px;
  background: var(--side-menu-action-bg);
  color: var(--side-menu-action-color);
  font: inherit;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.post-reader-size-btn:hover,
.post-reader-size-btn:focus {
  transform: translateY(-1px);
  border-color: var(--side-menu-action-hover-border);
  background: var(--side-menu-action-hover-bg);
  color: var(--side-menu-action-hover-color);
  outline: none;
}
.post-reader-size-btn.is-active {
  border-color: var(--accent);
  background: var(--side-menu-button-bg);
  color: var(--side-menu-button-color);
  box-shadow: 0 0 0 3px rgba(var(--site-accent-rgb), .16);
}
@media only screen and (max-width: 991px) {
  .post-utility-meta-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .post-reader-toolbar {
    width: 100%;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .post-utility-card {
    padding: .72rem;
  }
  .post-reader-toolbar {
    width: 100%;
  }
  .post-reader-toolbar-buttons {
    width: 100%;
  }
  .post-reader-size-btn {
    flex: 1 1 auto;
  }
  .social-share-card-compact .social-share-link {
    flex: 1 1 calc(50% - .42rem);
  }
}


.post-nav-modern {
  clear: both;
}
.post-nav-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 86px;
  padding: 16px 18px;
  overflow: hidden;
  background: var(--side-menu-bg);
  border: 1px solid var(--side-menu-border);
  border-radius: 14px;
  box-shadow: var(--side-menu-shadow);
  color: var(--side-menu-color);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.post-nav-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: var(--side-menu-topline);
  opacity: .95;
}
.post-nav-card:hover {
  color: var(--side-menu-hover-color);
  border-color: var(--side-menu-action-hover-border);
  transform: translateY(-2px);
  text-decoration: none;
}
.post-nav-card-next {
  justify-content: flex-end;
  text-align: right;
}
.post-nav-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: var(--side-menu-icon-color);
  background: var(--side-menu-icon-bg);
  border: 1px solid var(--side-menu-action-border);
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}
.post-nav-card:hover .post-nav-icon {
  transform: scale(1.06);
  background: var(--side-menu-action-hover-bg);
  border-color: var(--side-menu-action-hover-border);
}
.post-nav-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}
.post-nav-label {
  color: var(--text-muted);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.post-nav-title {
  color: var(--side-menu-title);
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.32;
}
.post-nav-card:hover .post-nav-title {
  color: var(--side-menu-hover-color);
}
@media only screen and (max-width: 767px) {
  .post-nav-card-next {
    justify-content: flex-start;
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .blog-post-single-image-wrap {
    aspect-ratio: 16 / 10;
  }
  .blog-post-single-title {
    font-size: 1.55rem;
  }
  .blog-post-single-meta-sep {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .blog-post-card-body { display: flex; }
  .blog-post-card-title { font-size: 1.2rem; min-height: 0; }
  .blog-post-card-title a { -webkit-line-clamp: 3; }
  .blog-post-card-meta, .blog-post-excerpt, .blog-post-card-topline { min-height: 0; }
  .blog-post-card-footer { align-items: flex-start !important; flex-direction: column; }
  .blog-post-card-featured .blog-post-card-image-wrap { aspect-ratio: 16 / 4.5; }
  .blog-post-card-featured .blog-post-card-title { font-size: 1.35rem; min-height: 0; }
  .blog-post-card-featured .blog-post-excerpt { -webkit-line-clamp: 4; min-height: 0; }
}


/* Main Post Holder */
.main-post { padding: 10px 20px; background: var(--blog-post-bg); box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important; border-radius: .25rem !important; }

/* Meta Grabber */
.metaoutput a { color: var(--normaltext); }
.metaoutput-box { background: var(--metaoutput-box-bg); display: flex; border: 1px solid var(--metaoutput-box-border) !important; }
.metaoutput-box:hover { background: var(--metaoutput-box-hover-bg); }
.metaoutput-image { height: 125px; width: 125px; display: inline-block; float: left; }
.metaoutput-box-text { flex: 1; }
.metaoutput-box-text p { font-size: 0.95rem; }

/* Attachments */
.post_attachment a { border: 1px solid var(--normalline); background: var(--post-attachment-bg); color: var(--post-attachment-color); display: inline-block; padding: 5px 10px; }
.post_attachment a:hover { border-color: var(--post-attachment-hover-border); background: var(--post-attachment-hover-bg); }
.post_attachment_icon { font-size: 27px; color: var(--post-attachment-icon-color); opacity: 0.9; float: left; }
.post_attachment_title { font-size: 14px; margin-left: 30px; }
.post_attachment_info { font-size: 13px; margin-left: 30px; }
.post_attachment_info span:first-of-type { margin-right: 10px; }

/* Code Line Number */
.hljs-ln-numbers { text-align: center; color: #ccc; border-right: 1px solid #CCC; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; vertical-align: top; padding-right: 5px !important; }
.hljs-ln-code { display: block; margin-left: 10px !important; }

/* Tickets */
.ticketreply_holder { color: var(--normaltext); font-size: 15px; margin-bottom: 10px; border: 1px solid var(--normalline); padding: 1px; }
.ticketreply_holder.odd { background: var(--ticketreply-holder-odd-bg); }
.ticketreply_author { padding: 5px 10px; }
.ticketreply_date { font-size: 13px; margin: 7px 10px 0 10px; }
.ticketreply_author_staff { background: var(--ticketreply-author-staff-bg); color: var(--ticketreply-author-staff-color); }
.ticketreply_author_user { background: var(--ticketreply-author-user-bg); color: var(--ticketreply-author-user-color); }
.ticketreply_body { padding: 10px; }

/* Modals */
.modal { color: var(--normaltext); }
.modal .btn-close.custom-btn { filter: invert(23%) sepia(97%) saturate(7471%) hue-rotate(356deg) brightness(103%) contrast(143%); }
.modal-content { background: var(--modal-content-bg); }
.modal-header { border-bottom: 1px solid var(--normalline) !important; }
.modal-footer { border-top: 1px solid var(--normalline) !important; }
.modal input, .modal textarea { background: var(--altbg); border: var(--normalline); }
.modal label { font-size: 14px; }

/* Image Popup */
#imagemodal button { color: red; opacity: 1; text-shadow: 0 1px 0 var(--normalline); }
#imagemodal .modal-content { background: var(--normalbg); }
#imagemodal .modal-header { border-bottom: 0px solid #2D2F2C !important; }
#imagesModal .modal-body { width: 100% !important; margin: 0px; padding: 0px; }
#imagesModal .Modalimg { height: 100%; width: 100%; padding: 0px 10px; }
#imagesModal #modalImage { max-height: 300px; max-width: 100%; margin: 0 auto; }
#imagesModal .modal-dialog { -webkit-transform: translate(0,-50%); -ms-transform: translate(0,-50%); transform: translate(0,-50%); top: 50%; margin: 0 auto; background: #1E1E20; border: 1px solid #2D2F2C; }
#imagesModal .modal-header { border-bottom: 0px solid #2D2F2C !important; }
#imagesModal .modal-content { width: 100%; -webkit-transform: translate(0,0); -ms-transform: translate(0,0); transform: translate(0,0); background: #1E1E20; }
#imagesModal .modal-footer { border-top: 1px solid var(--normalline); }

.postgallery img { width: 150px; height: 150px; object-fit: cover; border-radius: var(--postgallery-img-border-radius); }
.postgallery .img-thumbnail { background-color: #020102 !important; box-shadow: 0 2px 12px 0 rgba(255,255,255,0.12); }
.gallery-numimages { color: #666; }

/* Gallery Albums */
.galleryalbums .gallery-card {  background: var(--normalbg);border: 1px solid var(--normalline);border-radius: var(--card-radius, 12px);overflow: hidden;transition: transform .12s ease, box-shadow .2s ease, border-color .2s ease;box-shadow: 0 2px 10px rgba(0,0,0,.06);}
.galleryalbums .gallery-card:hover { transform: translateY(-2px);border-color: color-mix(in oklab, var(--normalline) 60%, var(--accent) 40%);box-shadow: 0 12px 30px rgba(0,0,0,.18);}
.galleryalbums .thumb-link { display:block; position:relative; }
.galleryalbums .album-thumb { width: 100%; aspect-ratio: 16 / 10; object-fit: cover;display: block;background: #0e0f10; border-bottom: 1px solid var(--normalline);}
.galleryalbums .album-title { color:var(--normaltext);font-size: 1rem;line-height: 1.25;margin: 0;display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;overflow: hidden;}
.galleryalbums .album-desc { font-size: .9rem;color: var(--normaltext); display: -webkit-box;-webkit-line-clamp: 2; -webkit-box-orient: vertical;  overflow: hidden;}
.galleryalbums .album-meta .btn { line-height: 1; padding: .4rem .6rem; border-radius: 8px; }
.galleryalbums img { height: auto !important; }


/* === Modern Gallery: balanced spacing between image and Details button === */
.modern-gallery .mg-card-wrapper {
  display: flex;
  flex-direction: column;
  align-items: stretch;
          /* slight gap between image and button */
  margin-bottom: 0.75rem; /* keep consistent space between rows */
}

.modern-gallery .mg-card {
  background: var(--galleryalbums-bg);
  border: 1px solid var(--normalline);
  border-radius: 6px;
  box-shadow: var(--shadow-soft, 0 1px 4px rgba(0,0,0,.06));
  transition: transform .12s ease, box-shadow .25s ease, border-color .2s ease;
}

.modern-gallery .mg-card:hover {
  transform: scale(1.02);
  border-color: var(--normalline);
  box-shadow: var(--shadow-strong, 0 4px 16px rgba(0,0,0,.15));
}

.modern-gallery .mg-thumb {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  background: var(--altbg);
  border-radius: 4px;
}

/* Likes overlay badge */
.modern-gallery .mg-likes {
  position: absolute;
  top: .35rem;
  left: .35rem;
  background: var(--gallerypics-likes-bg, rgba(0,0,0,.6));
  color: var(--gallerypics-likes-color, #fff);
  font-size: .7rem;
  padding: .15rem .4rem;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: .25rem;
}

/* Details button under the thumbnail */
.modern-gallery .mg-details-static {
  margin-top: 0;
}

.modern-gallery .mg-details-static a {

  font-size: 0.75rem;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease-in-out;
}

.modern-gallery .mg-details-static a:hover {

}

/* === Modern Gallery: tighter modal layout === */
#imagesModalb .modal-dialog {
  margin: 0 auto;               /* remove top/bottom margin */
  max-width: 900px;             /* keep nice large image area */
}

#imagesModalb .modal-content {
  background: var(--normalbg);
  border: 1px solid var(--normalline);
  border-radius: 8px;
  box-shadow: var(--shadow-strong, 0 6px 20px rgba(0,0,0,.25));
}

#imagesModalb .modal-header,
#imagesModalb .modal-footer {
  padding: 0.4rem 0.6rem;       /* reduce header/footer height */
}

#imagesModalb .modal-body {
  padding: 0.4rem 0.6rem;       /* smaller vertical padding */
}

#imagesModalb .modal-body img {
  margin-top: 0;                /* remove extra vertical margins */
  margin-bottom: 0;
  border-radius: 6px;
  max-height: 75vh;             /* prevent overflow vertically */
  object-fit: contain;
}

/* Buttons alignment / spacing */
#imagesModalb .modal-footer {
  border-top: 1px solid var(--normalline);
  justify-content: space-between;
}

/* ================================
   BLOG CARD IMAGE FIX (UPDATED)
   ================================ */

/* DEFAULT GRID CARDS */
.blog-post-card-image-wrap {
    width: 100%;
    height: 160px !important;
    overflow: hidden;
    border-radius: 14px 14px 0 0;
    position: relative;
}

/* FEATURED POST (TOP CARD) */
.blog-post-card-featured .blog-post-card-image-wrap {
    height: 220px !important;
}

/* IMAGE BEHAVIOR */
.blog-post-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

/* HOVER EFFECT */
.blog-post-card-image-wrap:hover .blog-post-card-image {
    transform: scale(1.05);
}

/* OPTIONAL: tighten spacing under images */
.blog-post-card-content {
    padding-top: 10px;
}

/* Gallery Pictures */
.gallerypics { margin-bottom: 20px; position: relative; opacity: 0.8; }
.gallerypics:hover { opacity: 1; }
.gallerypics .img-thumbnail { border: 1px solid var(--normalline); box-shadow: none; background: #000; }
.gallerypics img { height: 150px; width: 100%; background: #1E1E20; }
.gallerypics .gallerypicslikes { font-size: 13px; color: var(--gallerypics-likes-color); background: var(--gallerypics-likes-bg); position: absolute; z-index: 99; bottom: 4px; left: 15px; padding: 3px 5px; }
.gallerypics .gallerypicsdetails { font-size: 13px; position: absolute; z-index: 99; bottom: 4px; right: 15px; }
.gallerypics .gallerypicsdetails a { color: var(--gallerypics-details-color); background: var(--gallerypics-details-bg); display: block; padding: 3px 5px; }
.gallerypics div a:hover { background: var(--gallerypics-details-hover-bg); }

/* Likes */
.likes_photo { border: 1px solid var(--normalline); margin-bottom: 10px; background: var(--altbg); }
.likes_photo a { font-size: 20px; font-family: Roboto; color: var(--normaltext); font-weight: bold; display: block; padding: 5px 10px; }
.likes_photo a:hover { color: #666; }

/* Single Picture Page */
.picture-single-holder-table { font-size: 14px; color: var(--normaltext); text-align: center; }
.picture-single-holder-table td { border-top: 1px solid var(--normalline); }



/* Gallery single picture modernization */
.gallery-picture-modern {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--files-panel-border);
  border-radius: 16px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
}

.gallery-picture-modern:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-section-accent);
}

.gallery-picture-hero {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 14px;
}

.gallery-picture-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--files-section-icon-border);
  border-radius: 13px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  font-size: 1.2rem;
  flex: 0 0 auto;
}

.gallery-picture-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
}

.gallery-picture-modern h2 {
  margin: 0 0 5px;
  color: var(--files-heading-color);
  font-size: 1.6rem;
  line-height: 1.15;
}

.gallery-picture-subtitle {
  color: var(--files-desc-color);
  font-size: .94rem;
  line-height: 1.45;
}

.gallery-picture-content-card,
.gallery-picture-side-card,
.gallery-picture-comments {
  overflow: hidden;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
}

.gallery-picture-content-card:before,
.gallery-picture-side-card:before,
.gallery-picture-comments:before {
  content: "";
  display: block;
  height: 3px;
  background: var(--files-card-accent);
}

.gallery-picture-image-link {
  display: block;
  padding: 12px;
  background: var(--files-thumb-bg);
  border-bottom: 1px solid var(--files-card-border);
}

.gallery-picture-main-image {
  display: block;
  width: 100%;
  max-height: 72vh;
  object-fit: contain;
  margin: 0 auto;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  background: rgba(0, 0, 0, .24);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}

.gallery-picture-nav {
  padding: 12px;
}

.gallery-picture-nav .btn {
  min-width: 108px;
  border-radius: 999px;
  font-weight: 800;
}

.gallery-picture-nav-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 58px;
  padding: 11px 14px;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  color: var(--files-title-color);
  background: var(--files-detail-row-bg, var(--files-card-bg));
  box-shadow: inset 0 1px 0 var(--files-detail-row-inset, var(--files-section-inset));
  text-align: left;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.gallery-picture-nav-card strong {
  display: block;
  color: var(--files-title-color);
  font-size: .88rem;
  line-height: 1.15;
}
.gallery-picture-nav-card small {
  display: block;
  margin-top: 2px;
  color: var(--files-meta-color);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.15;
}
.gallery-picture-nav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border: 1px solid var(--files-section-icon-border);
  border-radius: 10px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
}
.gallery-picture-nav-card:hover,
.gallery-picture-nav-card:focus {
  color: var(--files-title-color);
  border-color: var(--files-card-hover-border);
  background: var(--files-sidebar-row-hover-bg, var(--files-detail-row-bg));
  box-shadow: var(--files-card-hover-shadow);
  transform: translateY(-1px);
  text-decoration: none;
}
.gallery-picture-nav-card.disabled {
  opacity: .52;
  cursor: default;
  pointer-events: none;
}
.gallery-picture-nav-next {
  text-align: right;
}


.gallery-picture-comments {
  padding: 16px;
}

.gallery-picture-side-card {
  padding: 14px;
}

.gallery-picture-side-card:before {
  margin: -14px -14px 16px;
}

.gallery-picture-like-module {
  display: grid;
  gap: 9px;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--files-section-border);
}

.gallery-picture-like-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px 14px;
  border: 0;
  border-radius: 12px;
  color: #fff !important;
  background: var(--files-button-bg);
  box-shadow: var(--files-button-shadow);
  font-size: .95rem;
  font-weight: 900;
  text-decoration: none;
}

.gallery-picture-like-btn:hover,
.gallery-picture-like-btn:focus {
  color: #fff !important;
  background: var(--files-button-hover-bg);
  text-decoration: none;
}

.gallery-picture-like-btn .red {
  color: #fff !important;
}

.gallery-picture-detail-list {
  display: grid;
  gap: 9px;
  margin-top: 2px;
}

.gallery-picture-detail-row {
  display: grid;
  grid-template-columns: minmax(108px, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 12px;
  padding: 10px 11px;
  border: 1px solid var(--files-detail-row-border, var(--files-card-border));
  border-radius: 12px;
  background: var(--files-detail-row-bg, var(--files-card-bg));
  box-shadow: inset 0 1px 0 var(--files-detail-row-inset, var(--files-section-inset));
}

.gallery-picture-detail-row-desc {
  align-items: start;
}

.gallery-picture-detail-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: var(--files-heading-color);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .01em;
  white-space: nowrap;
}

.gallery-picture-detail-label i {
  width: 15px;
  color: var(--files-meta-icon-color);
  text-align: center;
}

.gallery-picture-detail-value {
  min-width: 0;
  color: var(--files-desc-color);
  font-size: .8rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: right;
  overflow-wrap: anywhere;
}

.gallery-picture-detail-row-desc .gallery-picture-detail-value {
  text-align: left;
}

.gallery-picture-detail-value a {
  color: var(--files-kicker-color);
  font-weight: 900;
  text-decoration: none;
}

.gallery-picture-detail-value a:hover {
  color: var(--files-title-color);
}

@media only screen and (max-width: 991px) {
  .gallery-picture-side-card { margin-top: 16px; }
}

@media only screen and (max-width: 575px) {
  .gallery-picture-hero { gap: 10px; }
  .gallery-picture-title-icon { width: 38px; height: 38px; }
  .gallery-picture-modern h2 { font-size: 1.35rem; }
  .gallery-picture-detail-row { grid-template-columns: 1fr; gap: 4px; }
  .gallery-picture-detail-value { text-align: left; }
  .gallery-picture-nav .btn { width: 100%; min-width: 0; }
}

/* POLLs */
.pollsholder { height: 100%; font-size: 15px; }
.pollsholder .polls_question span { font-weight: bold; color: var(--normaltext); }
.pollsholder .polls_box { background: var(--pollsholder-box-bg); padding: 25px; margin: 5px; border-radius: 15px; }
.pollholder .pollquestion span { font-weight: bold; color: var(--normaltext); }
.pollholder .pollresults { padding: 7px 0px; }
.pollholder .pollanswers { padding: 5px 0px; }

/* Alerts Page */
.alert-holder { border-bottom: 1px solid var(--table-border-color); margin: 0 0 15px 0; }
.alert-holder a { color: var(--alink); }
.alert-holder a:hover { color: var(--alink-hover); }
.alert-holder .icon-circle { height: 2.5rem; width: 2.5rem; border-radius: 100%; display: flex; align-items: center; justify-content: center; background-color: var(--alert-holder-icon-bg); color: var(--normaltext); }
.alert-global { color: var(--alert-global-color); }
.alert-time { color: var(--alert-time-color); font-size: 0.85rem; }
.alert-message { font-size: 1rem; }
.alert-delete a { opacity: 0.5; color: var(--alert-delete-color); font-size: 1.5rem; font-weight: bold; }
.alert-delete a:hover { color: var(--alert-delete-hover-color); opacity: 1; }
.alert-text-holder { margin-left: 50px; }

/* Profile */
.profile-side-info { margin: 10px 0; }
.profile-pic { max-width: 200px; }
.profile-info { margin: 4px 0; }
.profile-about-header { font-weight: bold; border: 1px dashed var(--normalline); background: #1E1E20; margin: 20px 0 20px 0; padding: 5px 10px; }

/* Links */
.link-card { background: var(--link-card-bg); color: var(--link-card-color); border: 1px solid var(--normalline); }
.link-card-bg { background-size: cover; background-repeat: no-repeat; background-position: center; height: 100px; }
.link-card-bg-holder { background: #000; border: 1px dashed var(--normalline); padding: 5px; margin: 5px 5px 0 5px; }
.link-card .card-body { font-size: 14px; padding: 5px 15px 10px 15px; position: relative; }
.link-card h4 { font-size: 18px; margin: 5px 0 3px 0px; padding: 0px; font-weight: bold; }

/* Files */
.file-single-ss-bg { border: 1px dashed var(--normalline); background-size: cover; background-repeat: no-repeat; height: 100px; width: 100%; background-position: center; }
.file-single-ss-holder { border: 1px solid var(--normalline); background: black; padding: 5px; display: block; }
.file-single-holder { background: var(--file-single-holder-bg); padding: 10px 20px; }
.file-single-holder h2 { margin: 0px 0 0 0px; }
.file-single-holder-ldesc { font-size: 15px; color: var(--normaltext); margin: 5px 0 0 0px; }
.file-single-holder-meta { color: var(--normaltext); font-size: .9rem; margin: 5px 0 0 0; line-height: 2; }
.file-single-holder-meta span { border-bottom: 1px dashed var(--normalline); margin-right: 20px; }
.file-single-holder-meta a { color: var(--normaltext); }
.file-single-holder-meta a:hover { color: var(--linkhover); }
.file-single-hr { margin: 3px 0 10px 0; }
.file-single-holder-table { font-size: 14px; color: var(--normaltext); text-align: center; }
.file-single-holder-table td { border-top: 1px solid var(--normalline); }
.file-single-holder-table tr:nth-of-type(odd) { background: #000 !important; }
.file-single-holder-table tr:nth-of-type(even) { background: transparent; }
#file-rating-star { display: block; width: 100%; }
.file-vote-img { display: inline-block; }
.file-voting-total-votes { color: var(--normaltext); font-size: 14px; margin: 5px 0 0 0; }
.file-single-description a { color: var(--alink); }
.file-single-description a:hover { color: var(--alink-hover); }

/* Files Side Bar */
.file-sidebarmenu-accordion { border-bottom: 1px dashed var(--normalline); display: block; position: relative; padding: 10px 0; }
#file-sidebarmenu h5 { font-size: 14px; margin: 0 0 0 0; }
#file-sidebarmenu a { color: var(--normaltext); }
#file-sidebarmenu a:hover { color: var(--linkhover); }
.file-sidebarmenu-fcount { color: var(--normaltext); font-size: 12px; }
.file-sidebarmenu-subcatlink { font-size: 12px; margin: 8px 0 2px 28px; }
.yellowfolder { color: #ECBC22 !important; }
.file-sidebarsubmenu { margin: 7px 0 7px 0px; padding: 0 0 7px 20px; list-style-type: none; border-bottom: 1px dashed var(--normalline); }
.file-sidebarmenu-sub-fcount { color: #ccc; font-size: 12px; }
.file-sidebarsubmenu li { display: block; position: relative; }
.file-sidebarsubmenu li a { font-size: 13px; display: block; position: relative; margin: 3px 0; }

/* Files */
.file-card { background: var(--file-card-bg); color: var(--normaltext); border: 1px solid var(--normalline); }
.file-card-bg { background-size: cover; background-repeat: no-repeat; background-position: center; height: 100px; }
.file-card-bg-holder { background: #000; border: 1px dashed var(--normalline); padding: 5px; margin: 5px 5px 0 5px; }
.file-related-files-card { background: var(--normalbg); color: var(--normaltext); border: 1px solid var(--normalline); }
.file-related-files-card .card-body { padding: 0 15px 10px 15px; }
.file-related-files-card h4 { font-size: 16px; margin: 0px; }
.file-card .card-body { font-size: 14px; padding: 5px 15px 10px 15px; }
.file-card .card-body a { bottom: 10px; right: 10px; }
.file-card h4 { font-size: 16px; margin: 0 0 3px 0px; padding: 0px; font-weight: bold; }
.file-card .card-title { }

/* File Category */
.file-cat-list { margin: 0 auto 20px auto; }
.file-cat-list-card { min-width: 18rem; max-width: 18rem; }
.file-cat-sortby .nav-pills { line-height: 1; }
.file-cat-sortby .nav-pills .nav-item { margin: 0 3px; }
.file-cat-sortby .nav-pills a { color: #343A40; }
.file-cat-sortby .nav-pills a.active, .file-cat-sortby .nav-link:hover { background-color: var(--file-cat-sortby-active-bg) !important; color: var(--normaltext) !important; }
.file-cats-sub { background: var(--file-cats-sub-bg); padding: 10px; }
.file-list-subcats a { color: var(--normaltext); }
.file-list-subcats a:hover { color: #ccc; }
.file-list-subcats .list-group-item { background: transparent; border-bottom: 1px dashed var(--normalline); }
.file-list-subcats .list-group-striped li:nth-of-type(odd) { background: transparent; }
.file-list-subcats .list-group-striped li:nth-of-type(even) { background: #F2F2F2; }

/* File Add */
.submitfile { visibility: hidden; position: absolute; }

/* Contact */
.contact-container { padding: 40px; background-color: var(--contactbg); border-radius: 12px; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.envelope-graphic { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--contact-envelope-color); }
.envelope-graphic i { font-size: 20rem; }
.contact-form .input-error { border-color: #d05a4e; }
.contact-form input, .contact-form textarea { background: var(--normalbg) !important; color: var(--normaltext) !important; border-color: var(--table-border-color) !important; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: var(--placeholder) !important; opacity: 0.5 !important; }

/* Disqus */
#disqus_thread { background-color: #141414; color: var(--normaltext); }

/* Comments */
.comments_real_holder .img-thumbnail { border: 1px solid var(--normalline); box-shadow: none; background: #000; width: 60px; }
.comments_real_holder .media-body { margin-left: 15px; }
.comments_posting_as { display: inline; font-size: 12px; padding: 0 0 0 5px; color: var(--comments-posting-as-color); }
.comments_character_counter { float: right; color: #ccc; font-size: 12px; }
.comments_single_holder:nth-of-type(odd) { background: var(--normalbg); }
.comments_single_holder .media { padding: 10px 10px 10px 10px !important; }
.comments_single_holder .media-body h4 { font-size: 15px; font-weight: bold; }
.comments_single_holder .comments_posted_time { color: var(--comments-posted-time-color); padding-left: 5px; }
.comments_single_holder .media-body p { font-size: 14px; margin-bottom: 0px; }
.comments_single_holder .rounded-circle { width: 35px; margin-top: 5px; }
.comments_single_holder .media-body { margin-left: 15px; }
a.comments_delete { float: right; color: var(--comments-delete-color); font-weight: bold; margin: 0 6px 0 0; opacity: 0.5; font-size: 18px; }
a.comments_delete:hover { opacity: 1; }

/* Search Results */
.search-page-shell {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border: 1px solid var(--files-panel-border);
  border-radius: 16px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
  color: var(--normaltext);
}
.search-page-shell:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-section-accent);
}
.search-page-header {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 15px;
  padding: 12px;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}
.search-page-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 1px solid var(--files-section-icon-border);
  border-radius: 13px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  font-size: 1.05rem;
}
.search-page-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
}
.search-page-header h2 {
  margin: 0 0 5px;
  color: var(--files-heading-color);
  font-size: 1.55rem;
  line-height: 1.15;
}
.search-page-header p {
  margin: 0;
  color: var(--files-desc-color);
  font-size: .94rem;
  line-height: 1.45;
}
.search-box-modern {
  margin-bottom: 16px;
  padding: 10px;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}
.search-box-topbar { margin: 0; background: var(--top-search-box-bg, var(--files-section-bg)); border-color: var(--top-search-box-border, var(--files-card-border)); box-shadow: var(--top-search-box-shadow, inset 0 1px 0 var(--files-section-inset)); }
.searchbar .container { position: relative; z-index: 2051; }
.search-input-group {
  flex-wrap: nowrap;
  gap: 8px;
}
.search-box-modern .search_sel_text,
.search-box-modern .searchinput,
.search-box-modern .search-submit-btn {
  min-height: 44px;
  border-radius: 11px !important;
}
.search-box-modern .search_sel_text {
  border: 1px solid var(--top-search-control-border, var(--files-card-border)) !important;
  background: var(--top-search-control-bg, var(--files-card-bg)) !important;
  color: var(--files-title-color) !important;
  font-weight: 800;
  box-shadow: none !important;
}
.search-box-modern .searchinput,
.search-box-modern .searchinput:focus {
  border: 1px solid var(--top-search-control-border, var(--files-card-border)) !important;
  background: var(--top-search-control-bg, var(--files-card-bg)) !important;
  color: var(--normaltext) !important;
  box-shadow: none !important;
}
.search-box-modern .searchinput::placeholder {
  color: var(--files-meta-color);
  opacity: .72;
}
.search-box-modern .search-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0 !important;
  padding-left: 18px;
  padding-right: 18px;
  background: var(--files-button-bg) !important;
  color: #fff !important;
  font-weight: 800;
  box-shadow: var(--files-button-shadow);
}
.search-box-modern .search-submit-btn:hover,
.search-box-modern .search-submit-btn:focus {
  background: var(--files-button-hover-bg) !important;
  color: #fff !important;
}
.search-box-modern .search_sel_menu {
  z-index: 2075;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  overflow: hidden;
}
.search-box-modern .dropdown-item {
  color: var(--normaltext);
  font-weight: 700;
}
.search-box-modern .dropdown-item:hover,
.search-box-modern .dropdown-item:focus,
.search-box-modern .dropdown-item.selected {
  background: var(--files-section-icon-bg);
  color: var(--files-title-color);
}
.search-results-summary {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 4px 0 13px;
  padding: 10px 12px;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  background: var(--files-card-bg);
  color: var(--files-meta-color);
  font-size: .9rem;
}
.search-results-summary strong,
.search-results-summary span { color: var(--files-title-color); }
.search-results-holder {
  position: relative;
  overflow: hidden;
  margin-bottom: 12px;
  padding: 13px;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.search-results-holder:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--files-card-accent);
}
.search-results-holder:hover {
  transform: translateY(-2px);
  border-color: var(--files-card-hover-border);
  box-shadow: var(--files-card-hover-shadow);
}
.search-result-toprow,
.search-result-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.search-result-toprow { margin-bottom: 7px; }
.search-result-type {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  border: 1px solid var(--files-section-icon-border);
  border-radius: 999px;
  background: var(--files-section-icon-bg);
  color: var(--files-section-icon-color);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.search-results-title a {
  color: var(--files-title-color);
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none !important;
}
.search-results-title a:hover { color: var(--linkhover); text-decoration: none; }
.search-result-meta {
  margin-top: 7px;
  color: var(--files-meta-color);
  font-size: .78rem;
  font-weight: 700;
}
.search-result-meta span:not(:last-child):after {
  content: "•";
  margin-left: 8px;
  opacity: .55;
}
.search-results-content {
  margin-top: 10px;
  color: var(--files-desc-color);
  font-size: .92rem;
  line-height: 1.55;
}
.search-relevance-score {
  margin-left: auto;
  color: var(--files-meta-color);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}
.search-results-fulllink { margin-top: 10px; }
.search-results-fulllink a {
  display: block;
  overflow: hidden;
  color: var(--files-meta-color) !important;
  font-size: .78rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-results-fulllink a:hover { color: var(--linkhover) !important; }
.search-empty-state {
  display: grid;
  place-items: center;
  gap: 6px;
  padding: 28px 14px;
  border: 1px dashed var(--files-card-border);
  border-radius: 14px;
  background: var(--files-section-bg);
  color: var(--files-meta-color);
  text-align: center;
}
.search-empty-state i { color: var(--files-section-icon-color); font-size: 1.45rem; }
.search-empty-state strong { color: var(--files-title-color); font-size: 1.05rem; }
.foundit { color: var(--site-accent-soft); font-weight: 800; }
@media only screen and (max-width: 575px) {
  .search-page-shell { padding: 12px; }
  .search-page-header { padding: 11px; }
  .search-page-header h2 { font-size: 1.32rem; }
  .search-input-group { flex-wrap: wrap; }
  .search-box-modern .search_sel_text,
  .search-box-modern .searchinput,
  .search-box-modern .search-submit-btn { width: 100%; }
  .search-relevance-score { margin-left: 0; }
}

/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  margin: 1.25rem 0 1.75rem;
  text-align: center;
}
.pagination ul {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  list-style-type: none;
  margin: 0;
  padding: 7px;
  background: var(--pagination-shell-bg);
  border: 1px solid var(--pagination-shell-border);
  border-radius: 999px;
  box-shadow: var(--pagination-shell-shadow);
}
.pagination li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  float: none;
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: var(--pagination-item-bg);
  position: relative;
  transform: none;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.pagination li:before,
.pagination li:after,
.pagination .active:before,
.pagination .active:after,
.pagination .active ~ li:before {
  content: none;
}
.pagination a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 10px;
  margin: 0;
  color: var(--pagination-link-color);
  font-size: 12px;
  font-weight: 600;
  line-height: 32px;
  text-decoration: none;
  border: 0;
  border-radius: 999px;
}
.pagination li:hover {
  background: var(--pagination-hover-bg);
  box-shadow: var(--pagination-hover-shadow);
  transform: translateY(-1px);
}
.pagination li:hover a {
  color: var(--pagination-hover-color);
}
.pagination li.active {
  background: var(--pagination-active-bg);
  box-shadow: var(--pagination-active-shadow);
}
.pagination li.active a {
  color: var(--pagination-active-color);
  font-size: 12px;
  cursor: default;
}
.pagination li.disabled,
.pagination li.disabled:hover {
  background: transparent;
  box-shadow: none;
  transform: none;
}
.pagination li.disabled a,
.pagination li.disabled:hover a {
  color: var(--pagination-disabled-color);
  cursor: default;
  background: transparent;
  border: 0;
}
.pagination .pprev a,
.pagination .pnext a {
  min-width: 36px;
  font-size: 18px;
  line-height: 32px;
  text-indent: 0;
}
@media (max-width: 575.98px) {
  .pagination ul {
    gap: 4px;
    padding: 6px;
    border-radius: 18px;
  }
  .pagination a {
    min-width: 28px;
    height: 30px;
    padding: 0 8px;
    line-height: 30px;
  }
}
/* Weather */
.weatherform { opacity: 0.5; }
.weatherform:hover { opacity: 1; }
.nite { color: white; }
.day { color: white; }

/* Last Updated */
.lastupdated { font-size: 15px; padding: 5px 0px; font-style: italic; }

/* Views */
.views { color: #666; font-size: 13px; text-align: right; padding: 5px 20px; }

/* Footer */
.blog-footer {
  color: var(--footer-color);
  font-size: 15px;
  line-height: 1.65;
  background: transparent;
  display: block;
  flex-shrink: 0;
  border-top: 0px solid var(--footer-border);
  box-shadow: var(--footer-shadow);
  margin-top:10px;
  margin-bottom:20px;
}
.blog-footer a { color: var(--footer-link-color); text-decoration: none; }
.blog-footer a:hover { color: var(--footer-a-hover-color); }
.blog-footer p { margin: 0; }
.blog-footer ul { list-style-type: none; margin: 0; padding: 0; }
.blog-footer h6 {
  color: var(--footer-heading-color);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  margin: 0 0 12px;
  letter-spacing: 1.4px;
}
.ecms-footer-shell {
  border: 1px solid var(--footer-shell-border);
  border-radius: 22px;
  background: var(--footer-shell-bg);
  box-shadow: var(--footer-shell-shadow);
  padding: 16px;
  overflow: hidden;
}
.ecms-footer-panel {
  height: 100%;
  border: 1px solid var(--footer-panel-border);
  border-radius: 18px;
  background: var(--footer-panel-bg);
  padding: 18px;
}
.ecms-footer-about { position: relative; }
.ecms-footer-about::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 16px;
  width: 82px;
  height: 82px;
  border-radius: 999px;
  background: var(--footer-orb-bg);
  filter: blur(1px);
  opacity: .55;
  pointer-events: none;
}
.ecms-footer-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--footer-heading-color);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  margin-bottom: 10px;
}
.footer-links li + li { margin-top: 8px; }
.footer-links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: color .18s ease, transform .18s ease;
}
.footer-links a::before {
  content: "›";
  color: var(--footer-accent);
  font-weight: 900;
  line-height: 1;
}
.footer-links a:hover { transform: translateX(2px); }
.ecms-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 14px;
  padding: 14px 4px 0;
  border-top: 1px solid var(--footer-divider);
}
.blog-footer .social-icons { text-align: right; }
.social-icons { padding-left: 0; margin-bottom: 0; list-style: none; }
.social-icons li { display: inline-block; margin-bottom: 0; }
.social-icons li.title { margin-right: 15px; text-transform: uppercase; color: #96a2b2; font-weight: 700; font-size: 13px; }
.social-icons a {
  background: var(--footer-social-bg);
  border: 1px solid var(--footer-social-border);
  color: var(--footer-social-color);
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  text-align: center;
  margin-left: 6px;
  margin-right: 0;
  border-radius: 100%;
  transition: all .2s linear;
}
.social-icons a:active, .social-icons a:focus, .social-icons a:hover { color: #fff; background-color: #29aafe; border-color: transparent; transform: translateY(-1px); }
.social-icons.size-sm a { line-height: 34px; height: 34px; width: 34px; font-size: 14px; }
.social-icons a.facebook:hover { background-color: #3b5998; }
.social-icons a.twitter:hover { background-color: #00aced; }
.social-icons a.linkedin:hover { background-color: #007bb6; }
.social-icons a.dribbble:hover { background-color: #ea4c89; }
.social-icons a.instagram:hover { background-color: #D35D33; }
@media (max-width: 767.98px) {
  .ecms-footer-shell { padding: 12px; border-radius: 18px; }
  .ecms-footer-panel { padding: 15px; }
  .ecms-footer-bottom { align-items: flex-start; flex-direction: column; }
  .blog-footer .social-icons { text-align: left; }
  .social-icons a { margin-left: 0; margin-right: 6px; }
}

/* Back to Top */
#backtotop { background-color: var(--backtotop-bg); text-align: center; border-radius: 4px; transition: background-color .3s; font-size: 20px; color: white; opacity: 0.8; display: none; width: 40px; height: 40px; position: fixed; bottom: 1px; right: 1px; margin: 0 20px 20px 0; z-index: 1000; line-height: 40px; }
#backtotop:hover { cursor: pointer; opacity: 1; }
#backtotop:active { background-color: #555; }

/* Login */
.logincard { border: 0px; background: transparent; }
.logincard-body input { background: #000; color: var(--normaltext); }
.logincard-body .input-group-text { background: #1E1E20; color: var(--normaltext); border: 0px !important; }

/* Cookie Alert */
.cookiealert { position: fixed; bottom: 0; left: 0; width: 100%; margin: 0 !important; z-index: 999; opacity: 0; border-radius: 0; transform: translateY(100%); transition: all 500ms ease-out; color: var(--cookiealert-color); background: var(--cookiealert-bg); }
.cookiealert.show { opacity: 1; transform: translateY(0%); transition-delay: 1000ms; }
.cookiealert .acceptcookies { margin-left: 10px; vertical-align: baseline; }

/* Audio Player */
.eplayer-audio-player { display: flex; align-items: center; width: 100%; max-width: 600px; margin: 20px 0; padding: 10px 10px 15px 10px; background-color: #1f1f1f; border-radius: var(--border-radius); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5); position: relative; transition: all 0.3s ease; }
.eplayer-audio-thumbnail { width: var(--thumbnail-size); height: var(--thumbnail-size); background-size: cover; background-position: center; margin-right: 15px; border-radius: var(--border-radius); }
.eplayer-audio-content { display: flex; flex-direction: column; justify-content: center; flex-grow: 1; }
.eplayer-audio-title { font-weight: bold; margin-bottom: 5px; font-size: 14px; color: var(--text-color); }
.eplayer-audio-controls-container { display: flex; align-items: center; }
.eplayer-audio-controls { cursor: pointer; font-size: 28px; color: var(--text-color); transition: color 0.3s ease; margin: 0 5px; position: relative; }
.eplayer-audio-controls:hover { color: var(--primary-color); }
.eplayer-audio-progress { flex-grow: 1; margin: 0 5px; width: 100%; max-width: calc(100% - 120px); -webkit-appearance: none; height: 6px; border-radius: 5px; background: #3b3b3b; outline: none; }
.eplayer-audio-progress::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 14px; height: 14px; background: var(--primary-color); border-radius: 50%; cursor: pointer; transition: background 0.3s ease; }
.eplayer-audio-progress::-webkit-slider-thumb:hover { background: #ffffff; }
.eplayer-audio-progress::-moz-range-thumb { width: 14px; height: 14px; background: var(--site-accent-bright); border-radius: 50%; cursor: pointer; transition: background 0.3s ease; }
.eplayer-audio-progress::-moz-range-thumb:hover { background: var(--site-accent-bright); }
.eplayer-audio-time { min-width: 40px; text-align: center; font-weight: bold; font-size: 12px; color: var(--light-grey); }
.eplayer-volume-control { position: relative; display: flex; align-items: center; }
.eplayer-volume-slider { display: none; position: absolute; bottom: -70px; transform: rotate(-90deg); transform-origin: left bottom; background-color: #1f1f1f; border-radius: var(--border-radius); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); padding: 5px; }
.eplayer-volume-slider input { -webkit-appearance: none; width: 100px; height: 6px; background: var(--site-accent-bright); outline: none; border-radius: 5px; }
.eplayer-volume-slider input::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 12px; height: 12px; background: var(--primary-color); border-radius: 50%; cursor: pointer; transition: background 0.3s ease; }
.eplayer-volume-slider input::-webkit-slider-thumb:hover { background: var(--site-accent-bright); }
.eplayer-cms-label { position: absolute; bottom: 5px; right: 10px; font-size: 10px; color: var(--light-grey); padding-top: 3px; }
.eplayer-volume-control:hover .eplayer-volume-slider { display: block; }

/* MyPics */
#drop-area { border: 1px dashed var(--normalline); border-radius: 10px; padding: 20px; text-align: center; margin-top: 20px; color: var(--normaltext); }
.dragactive { border-color: #E14848; background-color: #F8D3D3; color: black !important; }
.dragfile-list-item .progress { margin-top: 0px; height: 10px; }
.dragurl-btn { margin-right: 20px; color: var(--normaltext); font-size: 13px; }
.dragdelete-btn { margin-right: 20px; color: red; cursor: pointer; font-size: 13px; }
.dragpreview-img { width: 50px; height: 50px; margin-right: 10px; border: 1px solid var(--table-border-color); }
.dragfile-list-item { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; padding-bottom: 3px; border-bottom: 1px solid var(--normalline); }
.dragfile-details { flex-grow: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--normaltext); font-size: 13px; }

/* MyPics Gallery */
.mypics-gallery .card-body { padding: 0px !important; background: transparent; margin: 0px !important; }
.mypics-gallery .card { background: transparent; border: 0px; }
.mypics-gallery .card img { border: 2px solid var(--mypics-gallery-img-border); border-radius: 10px; }
.mypics-gallery .btn-group { margin: 8px 0 0 0; }
.mypics-gallery .btn-group .btn { margin: 0 2px; }
.mypics-gallery .gallery-card { width: 100%; max-width: 18rem; margin: auto; }
.mypics-gallery .card-img-top { height: 150px; max-height: 150px; object-fit: cover; }

/* FAQs */
.faq-list h4 { font-size: 17px; font-weight: bold; }
.faq-list li { padding: 0px 5px 8px 5px; border-bottom: 0px; }
.faq-list li a { font-size: 15px; font-weight: normal; }
.faq-list h4 { color: var(--normaltext); }
.faq-list .list-group-item { background: transparent; }
.faq-list-holder { background: var(--altbg); padding: 10px; border: 1px dashed var(--normalline); }

/* Snippets */
.snippet-desc { font-size: 14px; padding: 15px 0; }
.snippet-card { background: var(--snippet-card-bg); color: var(--normaltext); border: 1px solid var(--normalline); }
.snippet-card .blog-post-title { font-size: 20px; }
.snippet-updated-at { font-size: 11px; margin-top: 4px; }
.keywords-container { display: flex; flex-wrap: wrap; gap: 5px; }
.keywords-tag { font-size: 0.90rem; }
.keyword { display: inline-block; padding: 3px 10px; background: var(--keyword-bg); color: var(--keyword-color); font-size: 0.75rem; font-weight: 500; border-radius: 10px; letter-spacing: 0.02em; cursor: pointer; user-select: none; border: 1px solid var(--normalline); }
.keyword:hover, .keyword:hover a { background: var(--alink-hover); color: var(--darktext) !important; border-color: var(--normalline); }
.keyword a { color: var(--alink); }
.keyword a:hover { color: var(--darktext) !important; }

.warninglabel { padding: 8px 20px 0px 20px; min-height: 60px; }
.warninglabel i { font-size: 35px; float: left; margin-top: 6px; }
.warninglabel p { margin-left: 55px; padding-top: 10px; }
.warninglabel { color: var(--warninglabel-color); border: 1px dashed var(--normalline); background: var(--warninglabel-bg); }
.warninglabel i { font-size: 35px; color: var(--warninglabel-i-color); }
.warninglabel.green i { color: var(--site-accent-bright) !important; }

/* Media Queries */
@media only screen and (max-width: 600px) { .blog-post-title { font-size: 20px; } .metaoutput-box { display: block; width: 100%; box-sizing: border-box; overflow: hidden; } .metaoutput-image { display: inline-block; margin: 0 auto; max-width: 100%; height: auto; } .alert-holder .icon-circle { height: 2.0rem; width: 2.0rem; } }
@media only screen and (min-width: 600px) { .blog-post-title { font-size: 20px; } .metaoutput-image { float: none !important; } }
@media only screen and (min-width: 768px) { .blog-post-title { font-size: 25px; } }
@media only screen and (min-width: 992px) { .blog-post-title { font-size: 25px; } }
@media only screen and (min-width: 1200px) { .blog-post-title { font-size: 25px; } }

/* Side Menu */
.side-menu { position: relative; overflow: hidden; margin-bottom: 22px !important; padding: 14px !important; background: var(--side-menu-bg); border: 1px solid var(--side-menu-border); box-shadow: var(--side-menu-shadow) !important; border-radius: 12px !important; color: var(--side-menu-color); font-size: 0.9em; }
.side-menu:before { content: ""; position: absolute; inset: 0 0 auto 0; height: 1px; background: var(--side-menu-topline); opacity: .95; }
.side-menu hr { margin: 10px 0 12px; border: 0; border-top: 1px solid var(--side-menu-heading-border); opacity: 1; }
.side-menu h4, .side-menu .blog-post-title { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0 !important; color: var(--side-menu-title); font-size: .95rem; font-weight: 600; letter-spacing: .01em; line-height: 1.2; }
.side-menu h4 i, .side-menu .blog-post-title i { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 8px; color: var(--side-menu-icon-color); background: var(--side-menu-icon-bg); font-size: .78rem; }
.side-menu > .float-end, .side-menu .shouts_viewall { position: relative; z-index: 2; margin-top: -1px; }
.side-menu > .float-end a, .side-menu .shouts_viewall a { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 8px; color: var(--side-menu-action-color); background: var(--side-menu-action-bg); border: 1px solid var(--side-menu-action-border); text-decoration: none; }
.side-menu > .float-end a:hover, .side-menu .shouts_viewall a:hover { color: var(--side-menu-action-hover-color); background: var(--side-menu-action-hover-bg); border-color: var(--side-menu-action-hover-border); }
.side-menu ul { list-style-type: none; margin: 0; padding: 0; }
.side-menu ul li:after { content: ""; display: table; clear: both; }
.side-menu .badge { border: 1px solid var(--side-menu-badge-border); color: var(--side-menu-badge); background: var(--side-menu-badge-bg); margin-top: 0 !important; border-radius: 999px; font-weight: 500; }
.side-menu ul li a { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 30px; padding: 6px 8px; color: var(--side-menu-link); border-bottom: 1px solid var(--side-menu-list-border); border-radius: 8px; text-decoration: none; transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease; }
.side-menu ul li:last-child a { border-bottom-color: transparent; }
.side-menu ul li a:hover { background: var(--side-menu-hover-bg); color: var(--side-menu-hover-color); border-bottom-color: transparent; text-decoration: none; transform: translateX(2px); }
.side-menu .socialbuttons { display: flex; flex-wrap: wrap; gap: 8px; }
.side-menu .socialbuttons a { display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: 6px; border-radius: 10px; background: var(--side-menu-action-bg); border: 1px solid var(--side-menu-action-border); }
.side-menu .socialbuttons img { width: 28px; height: 28px; }
.side-menu .list-group a { border-radius: 8px; background: transparent !important; border-top: 0px !important; border-left: 0px !important; border-right: 0px !important; border-bottom: 1px solid var(--side-menu-list-border); color: var(--normaltext); }
.side-menu .list-group-item { background-color: transparent; color: var(--normaltext); border-top: 0px !important; border-left: 0px !important; border-right: 0px !important; border-bottom: 1px solid var(--side-menu-list-border); transition: background-color 0.2s, color 0.2s; font-weight: 400; }
.side-menu .list-group-item:hover { background-color: var(--side-menu-hover-bg); color: var(--side-menu-hover-color); }
.side-menu .badge.bg-default { border: 1px solid var(--side-menu-badge-border); color: var(--side-menu-badge); background: var(--side-menu-badge-bg); font-size: 0.75rem; }
.side-menu .accordion-button { border: none !important; box-shadow: none !important; padding: 0.75rem 1rem; font-weight: 500; background-color: transparent !important; font-size: 0.45em; }
.side-menu .accordion-item { border: 1px solid var(--side-menu-border); background-color: transparent !important; margin-top: 0.5rem; border-radius: 10px !important; overflow: hidden; }
.side-menu .accordion-body { background-color: var(--side-menu-accordion-body-bg); padding: 0.5rem 0; }
.side-menu .accordion-body .badge.bg-default { border: 1px solid var(--side-menu-badge-border); color: var(--side-menu-badge); font-size: 0.75rem; background: var(--normalbg); }
.side-menu .material-icons { background: linear-gradient(135deg, #f4c542, #f39c12); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-fill-color: transparent;  }
.side-menu .accordion-button::after { display: none; }
.side-menu .icon-wrapper { margin-left: auto; display: flex; gap: 0.2rem; }
.side-menu .collapse-icon { display: none; }
.side-menu .accordion-button[aria-expanded="true"] .collapse-icon { display: inline; }
.side-menu .accordion-button[aria-expanded="false"] .expand-icon { display: inline; }
.side-menu .expand-icon { display:none; }
.side-menu .accordion-button, .side-menu .accordion-button.collapsed, .side-menu .accordion-button:focus, .side-menu .accordion-button:hover, .side-menu .accordion-button:active, .side-menu .accordion-button:not(.collapsed), .side-menu .accordion-button:not(.collapsed):focus, .side-menu .accordion-button:not(.collapsed):hover, .side-menu .accordion-button:not(.collapsed):active { background-color: var(--side-menu-accordion-body-bg) !important; color: var(--normaltext) !important; border: none !important; box-shadow: none !important; border-radius: 0 !important; }
.side-menu .accordion-button::after { filter: var(--invertaccordion) !important; }
.side-menu .text-muted { color: var(--text-muted) !important; opacity:1; }
.side-menu .normaltext { color: var(--normaltext); }
.side-menu .form-control { background: var(--side-menu-input-bg); color: var(--side-menu-color); border-color: var(--side-menu-input-border); }
.side-menu .form-control:focus { background: var(--side-menu-input-bg); color: var(--side-menu-color); border-color: var(--accent); box-shadow: 0 0 0 .14rem var(--side-menu-focus-shadow); }
.side-menu .btn-dark, .side-menu .shout_btn { border-color: var(--side-menu-button-border) !important; background: var(--side-menu-button-bg) !important; color: var(--side-menu-button-color) !important; }
.side-menu .btn-dark:hover, .side-menu .shout_btn:hover { background: var(--side-menu-button-hover-bg) !important; color: var(--side-menu-button-hover-color) !important; }
.sidebar-shoutbox #message_box { max-height: 225px; overflow-y: auto; padding-right: 4px; }
.sidebar-shoutbox .input-group { margin-bottom: .6rem !important; }
.sidebar-shoutbox #emojibtn { background: var(--side-menu-action-bg); border: 1px solid var(--side-menu-action-border); color: var(--side-menu-action-color); }
.sidebar-shoutbox .form-text { color: var(--text-muted) !important; }
.weathermenu { border-radius: 10px; overflow: hidden; border: 1px solid var(--side-menu-border); }
/* Board Theme */
.board-page { background-color: var(--board-page-bg); color: var(--board-page-color); }
.board-page .accordion-item, .board-page .accordion-body, .board-page .accordion-button, .board-page .list-group-item { background-color: var(--board-page-table-td-bg) !important; color: var(--board-page-color) !important; border: none !important; box-shadow: none !important; }
.board-page .accordion-button:not(.collapsed) { background-color: var(--board-page-accordion-bg) !important; color: var(--normaltext) !important; }
.board-page .accordion-button::after { filter: var(--invertaccordion); }
.board-page .forum-table { width: 100%; border-collapse: collapse; color: var(--board-page-color) !important; background-color: var(--board-page-table-td-bg); border-spacing: 0; }
.board-page .forum-table td { padding: 10px; vertical-align: middle; background-color: var(--board-page-table-td-bg); border-bottom: 1px solid var(--board-page-table-border); border-right: 0px solid var(--board-page-table-border); color: var(--board-page-color) !important; }
.board-page .forum-table td:last-child { border-right: none; }
.board-page .forum-table tr:last-child td { border-bottom: none; }
.board-page .forum-table .forum-icon { width: 40px; font-size: 1.5rem; color: var(--board-page-icon-color); }
.board-page .forum-table a.forum_title { font-weight: bold; }
.board-page .forum-table .forum_desc { font-size: 0.8rem; color: var(--board-page-desc-color); }
.board-page .forum-table .forum_desc a { font-weight: bold; color: var(--alink); }
.board-page .forum-table .forum_desc a:hover { color: var(--alink-hover); }
.board-page .forum-table tr:nth-child(even) td { background-color: var(--board-page-table-even-bg); }
.board-page .forum-table tr:nth-child(odd) td { background-color: var(--board-page-table-odd-bg); }
.board-page .forum-table .forum-cat-stats { width: 140px; text-align: center; color: var(--board-page-stats-color); background-color: var(--board-page-table-td-bg); font-size: 0.90rem; line-height: 1.2; }
.board-page .forum-table .forum-last-post { width: 260px; font-size: 0.80rem; color: var(--board-page-last-post-color); background-color: var(--board-page-table-td-bg); line-height: 1.2; }
.board-page .forum-table a { color: var(--board-page-a-color); text-decoration: none; }
.board-page .forum-table a:hover { color: var(--board-page-a-hover-color); text-decoration: none; }
.board-page .forum-table img.rounded-circle { border: 1px solid var(--board-page-img-border); background-color: var(--board-page-img-bg); }
.board-page .accordion.mt-4, .board-page .accordion.mt-4 .accordion-item, .board-page .accordion.mt-4 .accordion-body { background-color: var(--board-page-table-td-bg) !important; color: var(--board-page-color) !important; }
.board-page .board-stats { background-color: var(--board-page-stats-bg); padding: 10px 15px; border-radius: 6px; font-size: 0.85rem; color: var(--board-page-color); border: 1px solid var(--board-page-stats-border); }
.board-page .board-stats .stat-item { display: flex; align-items: center; gap: 4px; }
.board-page .board-stats .stat-item strong { color: var(--board-page-stats-strong-color); font-weight: 500; }
@media (max-width: 991px) { .board-page .forum-cat-stats, .board-page .forum-last-post { display: none !important; } }

/* Thread Page */
.thread-page { background-color: var(--thread-page-bg); color: var(--thread-page-color); }
.thread-page .posted-info { font-size: 0.85em; }
.thread-page .text-muted.post-stats { color: var(--thread-page-color) !important; font-size: 0.80em; }
.thread-page .post-info-right-border { border-left: 1px solid var(--normalline); }
.thread-page .topic-replies { background: var(--thread-page-topic-replies-bg); padding: 8px 20px; border-radius: 10px 10px 0 0; }
.thread-page .card { border: 0px; }
.thread-page .card.post-card { background-color: var(--thread-page-post-card-bg); border: 1px solid var(--thread-page-post-card-border); border-radius: 6px; margin-bottom: 20px; overflow: hidden; }
.thread-page .card-header { background-color: var(--thread-page-header-bg); color: var(--thread-page-header-color); font-weight: 500; padding: 10px 15px; border-bottom: 1px solid var(--thread-page-post-card-border); display: flex; justify-content: space-between; align-items: center; }
.thread-page .card-body { display: flex; padding: 15px; }
.thread-page .post-user { width: 160px; text-align: center; border-right: 1px solid var(--thread-page-post-user-border); padding-right: 15px; margin-right: 15px; }
.thread-page .post-user img { border-radius: 50%; width: 70px; height: 70px; border: 2px solid var(--thread-page-post-user-img-border); margin-bottom: 10px; }
.thread-page .post-user .username { font-weight: bold; color: var(--thread-page-post-user-username); }
.thread-page .post-user small { color: var(--thread-page-post-user-small-color); display: block; margin-top: 5px; font-size: 0.85rem; }
.thread-page .post-content { flex: 1; color: var(--thread-page-post-content-color); font-size: 0.95rem; }
.thread-page .post-content p { margin-bottom: 1rem; }
.thread-page .card-footer { background-color: var(--thread-page-footer-bg); border-top: 1px solid var(--thread-page-post-card-border); padding: 8px 15px; text-align: right; }
.thread-page .card-footer a { color: var(--thread-page-footer-a-color); margin-left: 15px; text-decoration: none; font-size: 0.9rem; }
.thread-page .card-footer a:hover { color: var(--thread-page-footer-a-hover-color); }
.thread-page .reply-box textarea { background-color: var(--thread-page-reply-textarea-bg); border: 1px solid var(--thread-page-reply-textarea-border); color: var(--thread-page-reply-textarea-color); border-radius: 4px; }
.thread-page .reply-box textarea:focus { background-color: #222; color: #fff; outline: none; box-shadow: var(--thread-page-reply-textarea-focus-shadow); }

/* Moderator Dropdown */
.moderator-dropdown .dropdown-menu { background: var(--moderator-dropdown-menu-bg); border: 1px solid var(--moderator-dropdown-menu-border); padding: 0; font-size: 0.875rem; }
.moderator-dropdown .dropdown-item { color: var(--moderator-dropdown-item-color); padding: 8px 12px; transition: background-color 0.2s ease; }
.moderator-dropdown .dropdown-item:hover, .moderator-dropdown .dropdown-item:focus { background-color: var(--moderator-dropdown-item-hover-bg); color: var(--moderator-dropdown-item-hover-color); }
.moderator-dropdown .btn-sm.btn-secondary { font-size: 0.85rem; padding: 4px 10px; background-color: var(--moderator-dropdown-btn-bg); border-color: var(--moderator-dropdown-btn-border); color: var(--moderator-dropdown-btn-color); }
.moderator-dropdown .btn-sm.btn-secondary:hover { background-color: var(--moderator-dropdown-btn-hover-bg); border-color: var(--moderator-dropdown-btn-hover-border); color: var(--moderator-dropdown-btn-hover-color); }

/* Forum Editor */
.forumeditor .codesyntax { display: block; width: 100%; padding: 1rem; background: var(--forumeditor-codesyntax-bg); border: 1px solid var(--forumeditor-codesyntax-border); border-radius: 8px; font-family: 'Fira Code', 'Consolas', 'Courier New', monospace; font-size: 0.95rem; line-height: 1.5; color: var(--forumeditor-codesyntax-color); overflow-x: auto; white-space: pre; box-shadow: var(--forumeditor-codesyntax-shadow); max-height: 300px; overflow-y: auto; }
.forumeditor .codesyntax::-webkit-scrollbar { height: 8px; }
.forumeditor .codesyntax::-webkit-scrollbar-thumb { background: var(--forumeditor-codesyntax-scrollbar-thumb); border-radius: 4px; }
.forumeditor .codesyntax::-webkit-scrollbar-thumb:hover { background: var(--forumeditor-codesyntax-scrollbar-thumb-hover); }

/* Blockquote */
.post-content blockquote, .trumbowyg-editor blockquote { background: var(--post-content-blockquote-bg); border-left: 4px solid var(--post-content-blockquote-border-left); padding: 1rem 1.2rem; margin: 1rem 0; font-style: italic; color: var(--post-content-blockquote-color); border-radius: 6px; box-shadow: var(--post-content-blockquote-shadow); }
.post-content blockquote strong, .trumbowyg-editor blockquote strong { color: var(--post-content-blockquote-strong-color); font-style: normal; }
.post-content blockquote p:last-child, .trumbowyg-editor blockquote p:last-child { margin-bottom: 0; }
@media (max-width: 576px) { .post-content blockquote, .trumbowyg-editor blockquote { padding: 0.8rem 1rem; font-size: 0.95rem; } }

/* Latest Posts */
.latest-posts {
    position: relative;
    margin: 0 0 18px;
    overflow: hidden;
    color: var(--normaltext);
    border-radius: 16px;
    border: 1px solid var(--latest-posts-border);
    background: var(--latest-posts-bg);
    box-shadow: var(--latest-posts-shadow);
}
.latest-posts::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: var(--latest-posts-accent-bar);
    pointer-events: none;
}
.latest-posts .lp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 12px;
    border-bottom: 1px solid var(--latest-posts-header-border);
}
.latest-posts .lp-heading-wrap { display: flex; align-items: center; gap: 10px; min-width: 0; }
.latest-posts .lp-heading-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--latest-posts-icon-color);
    background: var(--latest-posts-icon-bg);
    border: 1px solid var(--latest-posts-icon-border);
}
.latest-posts .lp-header h3 { margin: 0; font-size: .98rem; line-height: 1.15; font-weight: 800; color: var(--latest-posts-header-color); letter-spacing: .01em; }
.latest-posts .lp-header p { margin: 2px 0 0; font-size: .74rem; color: var(--latest-posts-meta-color); }
.latest-posts .lp-header .lp-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    color: var(--latest-posts-all-color);
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid var(--latest-posts-all-border);
    background: var(--latest-posts-all-bg);
}
.latest-posts .lp-header .lp-all:hover { color: var(--latest-posts-all-hover-color); background: var(--latest-posts-all-hover-bg); }
.latest-posts .lp-list { list-style: none; margin: 0; padding: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.latest-posts .lp-item {
    display: grid;
    grid-template-columns: 42px 1fr !important;
    gap: 10px !important;
    min-width: 0;
    padding: 12px !important;
    align-items: start;
    border: 1px solid var(--latest-posts-item-border);
    border-radius: 14px;
    background: var(--latest-posts-item-bg);
    box-shadow: var(--latest-posts-item-shadow);
}
.latest-posts .lp-item + .lp-item { border-top: 1px solid var(--latest-posts-item-border); }
.latest-posts .lp-item:hover { border-color: var(--latest-posts-item-hover-border); background: var(--latest-posts-item-hover-bg); }
.latest-posts .avatar { width: 42px !important; height: 42px !important; border-radius: 13px; object-fit: cover; border: 2px solid var(--latest-posts-avatar-border); flex: 0 0 auto; }
.latest-posts .lp-body { min-width: 0; }
.latest-posts .row-top { display: flex; gap: 7px; align-items: center; justify-content: space-between; margin-bottom: 7px; }
.latest-posts .forum-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    max-width: 58%;
    font-size: .66rem;
    line-height: 1;
    color: var(--latest-posts-chip-color);
    background: var(--latest-posts-chip-bg);
    border: 1px solid var(--latest-posts-chip-border);
    border-radius: 999px;
    padding: 5px 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.latest-posts .title { margin: 0; font-size: clamp(.82rem, 1.7vw, .95rem); line-height: 1.28; font-weight: 800; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.latest-posts .title a { color: var(--latest-posts-title-color); text-decoration: none; }
.latest-posts .title a:hover { color: var(--latest-posts-title-hover-color); }
.latest-posts .latestforum_meta { display: block; margin-top: 7px; font-size: .73rem; color: var(--latest-posts-meta-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.latest-posts .latestforum_meta a { color: var(--alink); font-weight: bold; }
.latest-posts .latestforum_meta a:hover { color: var(--alink-hover); font-weight: bold; }
.latest-posts .pill { font-size: .64rem; line-height: 1; padding: 5px 7px; border-radius: 999px; border: 1px solid var(--latest-posts-pill-border); color: var(--latest-posts-pill-color); background: var(--latest-posts-pill-bg); flex-shrink: 0; }
.latest-posts .lp-empty { grid-template-columns: 37px 1fr !important; opacity: .85; }
.latest-posts .avatar-skeleton { width: 37px; height: 37px; border-radius: 13px; background: var(--latest-posts-skeleton-bg); animation: lp-shimmer 1.2s infinite; }
@keyframes lp-shimmer { 0% { filter: brightness(.9); } 50% { filter: brightness(1.15); } 100% { filter: brightness(.9); } }
@media (max-width: 991px) { .latest-posts .lp-list { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .latest-posts .lp-header { align-items: flex-start; } .latest-posts .lp-header p { display: none; } .latest-posts .lp-list { padding: 10px; } .latest-posts .lp-item { grid-template-columns: 40px 1fr !important; padding: 10px !important; } .latest-posts .avatar { width: 40px !important; height: 40px !important; } .latest-posts .row-top { align-items: flex-start; } .latest-posts .forum-chip { max-width: 50%; } .latest-posts .latestforum_meta { white-space: normal; } }
@media (prefers-reduced-motion: reduce) { .latest-posts * { transition: none !important; animation: none !important; } }
@supports(padding:max(0px)) { .latest-posts { padding-left: max(0px, env(safe-area-inset-left)); padding-right: max(0px, env(safe-area-inset-right)); } }

/* Profile Page */
.profile-main-content .profile-header { position: relative; width: 100%; height: var(--profile-header-height); border-radius: 8px; overflow: visible; margin-bottom: 85px; }
.profile-main-content .profile-cover-img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 8px; }
.profile-main-content .profile-picture-wrapper { position: absolute; left: 20px; bottom: -55px; width: 150px; height: 150px; border-radius: 50%; border: 4px solid var(--profile-picture-border); overflow: hidden; box-shadow: var(--profile-picture-shadow); z-index: 2; }
.profile-main-content .profile-picture-img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 480px) { .profile-main-content .profile-header { height: auto; margin-bottom: 30px; text-align: center; } .profile-main-content .profile-cover-img { display: none; } .profile-main-content .profile-picture-wrapper { position: relative; left: auto; bottom: auto; margin: 0 auto; width: 120px; height: 120px; } }
.role-strip { width: 100%; background: var(--normalbg); border: 1px solid var(--normalline); border-radius: 12px; padding: 12px 14px; }
.role-strip .di-icon i { font-size: 18px; line-height: 1; color: var(--accent); }
.details-grid { display: grid; gap: .75rem; grid-template-columns: 1fr; }
.ditem { display: flex; align-items: center; gap: .75rem; padding: .7rem .8rem; border: 1px solid var(--normalline); background: var(--normalbg); border-radius: 12px; transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.ditem:hover { transform: translateY(-1px); border-color: color-mix(in oklab, var(--normalline) 60%, var(--accent) 40%); box-shadow: 0 8px 18px rgba(0,0,0,.08); }
.di-icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: radial-gradient(120% 120% at 0% 0%, color-mix(in oklab, var(--accent) 18%, transparent) 0%, transparent 70%), var(--normalbg); border: 1px solid var(--normalline); flex: 0 0 36px; }
.di-icon i { font-size: 18px; line-height: 1; color: var(--accent); }
.di-body { line-height: 1.15; }
.di-label { font-size: .75rem; opacity: .7; margin-bottom: .15rem; }
.di-value { font-size: .95rem; font-weight: 600; color: var(--normaltext); }
@media (min-width: 480px) { .details-grid { grid-template-columns: 1fr 1fr; } }
.profile-main-content .profile-title { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.profile-main-content .profile-name { font-size: 2rem; line-height: 1.1; margin: 0; }
.profile-main-content .username-hint { font-size: 1rem; line-height: 1.1; }
.profile-main-content .stat-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.profile-main-content .stat-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 999px; background: var(--profile-stat-chip-bg); font-size: .9rem; }
.profile-main-content .stat-chip .dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; opacity: .7; }
.profile-main-content .info-list { display: grid; grid-template-columns: 1fr; row-gap: .4rem; }
@media (min-width: 768px) { .profile-main-content .info-list { grid-template-columns: 1fr 1fr; column-gap: 1rem; } }
.profile-main-content .info-item b { display: inline-block; min-width: 110px; color: var(--normaltext); }
.profile-main-content .card { background: var(--profile-card-bg); color: var(--profile-card-text); }
.profile-main-content .card .text-body { color: var(--normaltext) !important; }
.profile-main-content .card-soft { border: 0; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.profile-main-content .card-soft .card-header { background: transparent; border-bottom: 0; padding-bottom: 0; }
.profile-main-content .card-soft .card-title { margin-bottom: .25rem; }
.profile-main-content .profile-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.profile-main-content .profile-tabs { border-bottom: 2px solid var(--profile-tabs-border); display: flex; }
.profile-main-content .profile-tabs .nav-link { border: 1px solid var(--profile-tabs-border); border-bottom: 2px solid var(--profile-tabs-border); border-radius: 6px 6px 0 0; background: var(--profile-tabs-link-bg); color: var(--profile-tabs-link-color); padding: 0.35rem 0.75rem; font-size: 0.9rem; transition: background 0.2s, color 0.2s, z-index 0.2s; position: relative; margin-bottom: -2px; z-index: 1; }
.profile-main-content .profile-tabs .nav-link:not(.active) { margin-right: 1px; }
.profile-main-content .profile-tabs .nav-link:hover { background: var(--profile-tabs-link-hover-bg); color: var(--profile-tabs-link-hover-color); }
.profile-main-content .profile-tabs .nav-link.active { background: var(--profile-tabs-active-bg); color: var(--profile-tabs-active-color); font-weight: 500; border-color: var(--profile-tabs-active-border); z-index: 2; margin-right: 0; }
.profile-main-content .tab-content { border: 1px solid #333; border-top: none; background: var(--profile-tab-content-bg); border-radius: 0 8px 8px 8px; padding: 1rem; color: var(--normaltext); }
.profile-main-content .tab-content .text-muted { color: var(--normaltext) !important; opacity: 1; }

/* Posts Activity */
.posts-activity { color: var(--posts-activity-text); }
.posts-activity .pa-section-title { font-size: 0.95rem; font-weight: 600; color: var(--normaltext); letter-spacing: .02em; text-transform: uppercase; margin: 0 0 .5rem 0; }
.posts-activity .pa-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.posts-activity .pa-item { position: relative; border: 1px solid var(--posts-activity-border); background: var(--posts-activity-surface); padding: .9rem 1rem; transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.posts-activity .pa-item:hover { border-color: color-mix(in oklab, var(--normalline) 60%, var(--accent) 40%); box-shadow: 0 8px 18px rgba(0,0,0,.08); }
.posts-activity .pa-item::before { content: ""; position: absolute; left: -1px; top: -1px; bottom: -1px; width: 3px; border-radius: 12px 0 0 12px; background: transparent; transition: background .12s ease; }
.posts-activity .pa-item:hover::before { background: var(--accent); }
.posts-activity .pa-title { display: inline-block; font-weight: 600; line-height: 1.25; color: var(--posts-activity-title-color); text-decoration: none; }
.posts-activity .pa-title:hover, .pa-title:focus { color: var(--posts-activity-title-hover-color); }
.posts-activity .pa-meta { display: flex; flex-wrap: wrap; gap: .4rem .5rem; margin-top: .35rem; color: var(--posts-activity-meta-color); font-size: .85rem; }
.posts-activity .pa-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .5rem; border-radius: 999px; background: var(--posts-activity-chip-bg); border: 1px solid var(--posts-activity-chip-br); color: var(--posts-activity-text); line-height: 1; }
.posts-activity .pa-chip::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: var(--accent); opacity: .8; }
.posts-activity .pa-time { opacity: .9; color: var(--normaltext); font-size: .80rem; margin-top: 4px; }
.posts-activity .pa-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--posts-activity-dot-bg); opacity: .6; align-self: center; }
.posts-activity .pa-snippet { margin-top: .5rem; color: var(--posts-activity-snippet-color); opacity: .88; font-size: .92rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.posts-activity a { font-weight: inherit !important; }
.posts-activity a:hover { text-decoration: none !important; font-weight: inherit; }
@media (max-width: 576px) { .posts-activity .pa-item { padding: .8rem .85rem; border-radius: 10px; } .posts-activity .pa-snippet { -webkit-line-clamp: 4; } }

/* Chat Holder */
.chat-holder { height: var(--chat-height); display: flex; flex-direction: column; min-height: 0; overflow: hidden; background: var(--chat-holder-bg); color: var(--chat-holder-text); border-radius: 12px; box-shadow: var(--chat-holder-shadow); padding: 1rem; }
.chat-holder > .row { flex: 1 1 auto; min-height: 0; }
.chat-holder [class*="col-"] { display: flex; flex-direction: column; min-height: 0; }
.chat-holder .card { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; background: var(--chat-holder-card-bg); color: var(--chat-holder-text); border: 1px solid var(--chat-holder-normalline); }
.chat-holder .card-body { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.chat-holder .chat-pane { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; height: 100%; max-height: 100%; }
.chat-holder .chat-pane #chatLog { flex: 1 1 auto; min-height: 0; overflow-y: auto !important; background: var(--chat-holder-card-bg); border: 1px solid var(--chat-holder-normalline); border-radius: 8px; padding: 1rem; scrollbar-width: thin; scrollbar-color: var(--chat-holder-scrollbar-color);min-height:320px; }
.chat-holder .chat-pane #chatLog::-webkit-scrollbar { width: 8px; }
.chat-holder .chat-pane #chatLog::-webkit-scrollbar-thumb { background: #555; border-radius: 4px; }
.chat-holder .chat-pane #chatLog .d-flex { background: var(--chat-holder-layer-bg); border-radius: 8px; padding: .6rem .8rem; transition: background .2s ease; }
.chat-holder .chat-pane #chatLog .d-flex:hover { background: var(--chat-holder-msg-hover-bg); }
.chat-holder .chat-pane #chatLog .username { color: var(--primary-color); font-weight: 600; }
.chat-holder .chat-pane #chatLog .text-muted { font-size: .8rem; color: var(--chat-holder-muted) !important; }
.chat-holder .chat-pane #chatForm { flex: 0 0 auto; margin-top: .5rem; padding-top: .5rem; border-top: 1px solid var(--chat-holder-normalline); }
.chat-holder .chat-pane #chatInput { border-radius: 8px; border: 1px solid var(--chat-holder-normalline) !important; background: var(--chat-holder-input-bg); color: var(--chat-holder-text); padding: .5rem .75rem; font-size: .95rem; }
.chat-holder .chat-pane #chatInput:focus { outline: none; border-color: var(--primary-color) !important; box-shadow: var(--chat-holder-input-focus-shadow); }
.chat-holder .chat-pane .btn.btn-primary { border-radius: 8px; background: var(--primary-color); border: none; }
.chat-holder .chat-pane .btn.btn-primary:hover { background: var(--chat-holder-primary-dark); }
.chat-holder .chat-pane .chat-meta { flex: 0 0 auto; height: 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .35rem; color: var(--chat-holder-muted); font-size: .85rem; }
.chat-holder .chat-pane .chat-meta .typing { flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat-holder .chat-pane .chat-meta .send-hint { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 575.98px) { .chat-holder .chat-pane .chat-meta { justify-content: flex-start; } .chat-holder .chat-pane .chat-meta .send-hint { display: none; } }
.chat-holder .chat-pane { height: calc(var(--chat-height) - 60px); }
.chat-holder .nicklist-pane { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; height: 100%; max-height: 100%; }
.chat-holder .nicklist-pane .card-title { flex: 0 0 auto; color: var(--normaltext); font-size: .9rem; }
.chat-holder .nicklist-pane #userList { flex: 1 1 auto; min-height: 0; overflow-y: auto; background: var(--chat-holder-layer-bg); border-radius: 8px; padding: .5rem; scrollbar-width: thin; scrollbar-color: var(--chat-holder-scrollbar-color); }
.chat-holder .nicklist-pane #userList::-webkit-scrollbar { width: 8px; }
.chat-holder .nicklist-pane #userList::-webkit-scrollbar-thumb { background: #555; border-radius: 4px; }
.chat-holder .nicklist-pane #userList .list-group-item { border: none; padding: .5rem; background: transparent; color: var(--chat-holder-text); }
.chat-holder .nicklist-pane #userList .list-group-item:hover { background: var(--chat-holder-nicklist-hover-bg); border-radius: 6px; }
.chat-holder #roomsColumn .card { height: 100%; background: var(--chat-holder-card-bg); border-color: var(--chat-holder-normalline); }
.chat-holder #roomsColumn #roomList .list-group-item.active { background: var(--chat-holder-room-active-bg); color: var(--chat-holder-text); border-color: transparent; }
@media (max-width: 991.98px) { .chat-holder { --chat-height: 60vh; } }
@media (prefers-reduced-motion: reduce) { .chat-holder .chat-pane #chatLog .d-flex, .chat-holder .chat-pane #chatInput, .chat-holder .nicklist-pane #userList .list-group-item { transition: none; } }
.chat-holder .msg-delete { opacity: .3; }
.chat-holder .msg-delete:hover { opacity: 1; }

/* User Context Menu */
.user-ctx-menu { position: absolute; z-index: 9999; display: none; font-size: 0.9rem; background: var(--user-ctx-menu-bg) !important; color: var(--user-ctx-menu-text); border: 1px solid var(--user-ctx-menu-border); border-radius: 0.5rem; min-width: 180px; box-shadow: var(--user-ctx-menu-shadow); }
.user-ctx-menu .dropdown-item { background: none; color: var(--user-ctx-menu-text); width: 100%; text-align: left; border: none; display: block; }
.user-ctx-menu .dropdown-item:hover { background: var(--user-ctx-menu-hover-bg); color: var(--user-ctx-menu-text); }
.user-ctx-menu .text-danger { color: var(--user-ctx-menu-danger) !important; }
.user-ctx-menu .dropdown-divider { border-color: var(--user-ctx-menu-divider); }

/* System Msg */
.system-msg { text-align: center; font-size: .7rem !important; margin: .4rem 0; color: var(--system-msg-color); opacity: 0.3; }
.system-msg .pill { display: inline-block; padding: .2rem .6rem; border-radius: 999px; border: 1px solid var(--normalline); background: var(--system-msg-pill-bg); }
.system-msg.system-join { color: var(--system-msg-join-color); }
.system-msg.system-leave { color: var(--system-msg-leave-color); }
.system-msg i { margin-right: .35rem; opacity: .9; }

/* Activity */
.activity-card .text-muted { color: var(--normaltext) !important; opacity: 1; }
.activity-card a { color: var(--accent); font-weight: bold; }
.activity-card { border: 1px solid var(--normalline); border-radius: 1rem; box-shadow: var(--activity-card-shadow); transition: transform .12s ease-out, box-shadow .12s ease-out, background-color .12s ease-out, border-color .12s ease-out; background: var(--normalbg); }
.activity-card:hover { transform: translateY(-1px); background-color: var(--activity-card-hover-bg); border-color: #323846; box-shadow: var(--activity-card-hover-shadow); }
.activity-avatar img, .activity-avatar .img-thumbnail { width: 56px; height: 56px; border-radius: .5rem; object-fit: cover; background: #0e1116; border: 1px solid #2a2f3a; }
.activity-line { font-size: .98rem; line-height: 1.5; color: #e7e9ee; }
.activity-time { font-size: .85rem; color: var(--activity-time-color); white-space: nowrap; }
.activity-divider { height: 1px; background: var(--activity-divider-bg); border: 0; opacity: 1; margin: .6rem 0 0 0; }
.activity-card i { color: var(--normaltext); }

/* Recent Activity List */
.ralist.list-group { background-color: var(--ralist-bg); border-radius: 8px; overflow: hidden; }
.ralist .list-group-item { background-color: var(--ralist-item-bg); color: var(--ralist-item-color); border-color: var(--ralist-item-border); padding: 12px 16px; transition: background-color 0.15s ease, color 0.15s ease; }
.ralist .list-group-item:hover { background-color: var(--ralist-item-hover-bg); }
.ralist .activity-line { font-size: 0.95rem; line-height: 1.4; color: var(--ralist-line-color); }
.ralist .activity-time { color: var(--ralist-time-color); }
.ralist .activity-time i { color: var(--ralist-time-i-color); margin-right: 4px; }
.ralist .list-group-item.text-muted { color: var(--ralist-empty-color); text-align: center; padding: 20px 16px; }

/* Messages */
.dm-wrap{ display:flex; gap:1rem; flex:1 1 auto; min-height:0; }
@media (max-width: 991.98px){ .dm-wrap{ flex-direction:column; } }

.dm-panel{
  background: var(--dm-card);
  border:1px solid var(--dm-border);
  border-radius: .75rem;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  overflow:hidden;
}
.dm-panel .text-muted { opacity:1; color: var(--textmuted) !important; }

/* Left list */
.dm-left{ width: 380px; max-width:100%; display:flex; flex-direction:column; min-height:0; }
.dm-left .head{
  position:sticky; top:0; z-index:2;
  background: var(--dm-card);
  border-bottom:1px solid var(--dm-border);
  padding:.75rem .75rem;
}
.dm-search input{
  border-radius: 999px!important;
  background: var(--dm-bg);
  border:1px solid var(--dm-border);
  color: var(--textmuted) !important;
}
.dm-search input::placeholder{
  color: var(--textmuted);
  opacity:0.8;
}
/* make the list fill and scroll inside the left panel */
.dm-list{ flex:1 1 auto; min-height:0; overflow:auto; }

.dm-item{
  display:flex; align-items:center; gap:.75rem;
  padding:.6rem .75rem; cursor:pointer; text-decoration:none;
  color:inherit; border-bottom:1px solid var(--dm-border);
}
.dm-item:hover{ background: var(--dm-hover); }
.dm-item.active{ background: var(--dm-accent-weak); }
.dm-avatar{
  width:40px; height:40px; border-radius:999px; display:grid; place-items:center;
  background: var(--dm-accent-weak); color: var(--dm-accent); font-weight:700;
  margin-right:10px;
}
.dm-meta{ flex:1 1 auto; min-width:0;}
.dm-meta .name{ font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dm-meta .sub{ font-size:.8rem; color: var(--dm-muted); }
.dm-unread{ background: var(--dm-accent); color:#fff; font-size:.7rem; padding:.1rem .4rem; border-radius: 999px; }

/* Right chat */
.dm-right{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; min-height:0; }
.dm-right .head{
  position:sticky; top:0; z-index:2;
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  background: var(--dm-card);
  border-bottom:1px solid var(--dm-border);
  padding:.75rem .9rem;
}
.dm-right .head .title{ font-weight:700; }

/* Chat fills leftover space and scrolls internally */
.dm-chat{
  overflow-x:hidden;
  flex: 1 1 auto;
  min-height: 0;                 /* CRITICAL for overflow to work */
  overflow-y: auto !important;
  max-height:320px;
  scrollbar-width: thin;
  scrollbar-color: #555 transparent;
}

/* Day separators */
.dm-day{ text-align:center; margin: .5rem 0 1rem; }
.dm-day span{ background: var(--dm-card); border:1px solid var(--dm-border); padding:.2rem .6rem; border-radius:999px; font-size:.75rem; color: var(--dm-muted); }

/* ====== Compact bubbles + avatar top-left of first message in run ====== */
/* ====== Compact bubbles + avatar top-left of first message in run ====== */
.dm-row{ margin:.12rem 0; } /* tighter row spacing */
.dm-row.you,
.dm-row.me{ justify-content:flex-start; align-items:flex-start; }

/* base grid = [avatar 32px | bubble], only collapses when no avatar/continued */
.dm-bubble-wrap{
  display:grid;
  grid-template-columns: 32px 1fr;
  column-gap:.44rem;
  align-items:start;
  max-width:86%;
}

/* collapse reserved avatar space when no avatar or continued run */
.dm-bubble-wrap.no-avatar,
.dm-bubble-wrap.continued{
  grid-template-columns: 1fr !important;
  column-gap:0 !important;
}
.dm-bubble-wrap.no-avatar .dm-bubble,
.dm-bubble-wrap.continued .dm-bubble{
  grid-column: 1 / 2 !important;
  margin-top:.08rem;
}

/* avatar cell (top-left) */
.dm-avatar-col{
  grid-column:1 / 2; grid-row:1 / 2;
  width:32px; height:32px;
}
.dm-avatar-col img{ width:32px; height:32px; border-radius:50%; display:block;margin-left:5px; }

/* bubbles: tighter padding + line-height */
.dm-bubble{
  grid-column:2 / 3; grid-row:1 / 2;
  max-width:100%;
  padding:.48rem .98rem;
  margin:3px;
  line-height:1.22;
  border-radius:14px;
  box-shadow:0 1px 1px rgba(0,0,0,.05);
  word-wrap:break-word;
}

.dm-author-me { color: var(--dm-author-me); font-weight: bold;font-size:0.95rem; }
.dm-author-you { color: var(--dm-author-you);font-weight: bold;font-size:0.95rem; }
.dm-message { font-size: 0.85rem;margin-top:0.4rem; }
/* trim inner margins */
.dm-bubble p{ margin:0; }
.dm-bubble *:first-child{ margin-top:0; }
.dm-bubble *:last-child{ margin-bottom:0; }

/* colors + left-side subtle “tail” for both sides */
.dm-row.me .dm-bubble{ background: var(--dm-me-bg); color: var(--dm-me-fg); border-top-left-radius:6px; }
.dm-row.you .dm-bubble{ background: var(--dm-you-bg); color: var(--dm-you-fg); border-top-left-radius:6px; }

/* meta line smaller/tighter */
.dm-meta-line{ font-size:.66rem; opacity:.78; margin-top:.54rem; }
.dm-row.me .dm-meta-line{ color: var(--dm-muted); }
.dm-row.you .dm-meta-line{ color: var(--dm-muted); }

/* Group continuation: hide avatar on consecutive messages from same sender */
.dm-bubble-wrap.continued{ grid-template-columns: 0 1fr; }
.dm-bubble-wrap.continued .dm-avatar-col{ display:none; }
.dm-bubble-wrap.continued .dm-bubble{ margin-left:42px; }

/* Composer */
.dm-compose{
  position:sticky; bottom:0; z-index:2; background: var(--dm-card);
  border-top:1px solid var(--dm-border); padding:.5rem .75rem;
}
.dm-input{
  width:100%; resize:none; overflow:hidden;
  border-radius: .75rem;
  border:1px solid var(--dm-border);
  background: var(--dm-bg);
  padding:.6rem .75rem;
  color: var(--textmuted);
}
.dm-input::placeholder { color: var(--textmuted); opacity:0.3; }
.dm-actions .btn{ border-radius: .7rem; }


.dm-msg-ops{
  margin-top: .2rem;
  display: flex;
  justify-content: flex-end;   /* push links to the right */
  flex-wrap: wrap;
  gap: .5rem .6rem;            /* row/column gaps */
  font-size: .78rem;
  color: var(--dm-muted);
}
.dm-msg-ops .dm-op{
  color: var(--dm-muted);
  text-decoration: none;
}
.dm-msg-ops .dm-op:hover{
  text-decoration: underline;
}

/* Skeletons */
.skel{ animation: skel 1.3s infinite linear; background: linear-gradient(90deg, rgba(0,0,0,.06), rgba(0,0,0,.12), rgba(0,0,0,.06)); background-size: 200% 100%; }
@keyframes skel { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.skel-item{ height:64px; }



/* ===== Friends UI (compact) ===== */

.friends-page .text-muted { color: var(--textmuted) !important; opacity:1; }
.friends-page .card-title { color:var(--normaltext); font-size:.95rem; }
.friends-page .card { background:transparent; }
.friends-page .btn-icon.danger { background:var(--normalbg) !important; color: var(--btn-danger-color); border-color: var(--btn-danger-border); }

.friends-ui { --f-gap:.75rem; }

.fbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:.5rem; margin-bottom:.75rem;
}
.fbar .fsearch{
  display:flex; align-items:center; gap:.5rem; flex:1 1 auto;
  background: var(--normalbg); border:1px solid var(--normalline);
  border-radius: 10px; padding:.4rem .6rem;
}
.fbar .fsearch i{ opacity:.6; }
.fbar .fsearch input{
  background:transparent; border:0; outline:0; color:var(--normaltext);
  width:100%;
}
.fbar .factions .btn{
  border-radius:10px; padding:.35rem .6rem; line-height:1;
}

/* grid of friend tiles */
.f-grid{
  display:grid; gap: var(--f-gap);
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.f-tile{
  display:grid; grid-template-columns: 48px 1fr auto; align-items:center;
  gap:.6rem; padding:.55rem .6rem;
  border:1px solid var(--normalline); border-radius:12px;
  background: var(--altbg);
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.f-tile:hover{
  transform: translateY(-1px);
  border-color: color-mix(in oklab, var(--normalline) 55%, var(--accent) 45%);
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
}

/* avatar + online dot */
.f-ava{ position:relative; width:48px; height:48px; border-radius:12px; overflow:hidden; border:1px solid #2a2a2a; }
.f-ava img{ width:100%; height:100%; object-fit:cover; display:block; }
.f-ava .dot{
  position:absolute; right:4px; bottom:4px; width:10px; height:10px; border-radius:999px;
  background:#606469; border:2px solid #111;
}
.f-ava .dot.on{ background:var(--site-accent-bright); }

/* name + meta */
.f-body{ min-width:0; }
.f-name{
  display:block; color:var(--normaltext); font-weight:700; line-height:1.1;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.f-meta{
  font-size:.78rem; color:var(--textmuted); opacity:.9; margin-top:.15rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* icon-only actions */
.f-ops{ display:flex; gap:.35rem; }
.btn-icon{
  display:inline-grid; place-items:center;
  width:34px; height:34px; border-radius:9px;
  background: var(--normalbg); border:1px solid var(--normalline);
  color: var(--normaltext); transition: background .15s ease, border-color .15s ease, transform .06s;
}
.btn-icon:hover{ background:#1d1f1f; border-color:#3a3b3b; color:#fff; }
.btn-icon:active{ transform: scale(.98); }
.btn-icon.success{ background: rgba(var(--site-accent-rgb), .15); border-color:var(--site-accent); color:var(--site-accent-soft); }
.btn-icon.danger{ background: rgba(220,38,38,.05); border-color:#5b1d1d; color:#ffb4b4; }

/* stacked rows for requests (denser than cards) */
.f-list{ display:grid; gap:.5rem; }
.f-row{
  display:grid; grid-template-columns: 44px 1fr auto; align-items:center;
  gap:.55rem; padding:.45rem .55rem;
  border:1px solid var(--normalline); border-radius:10px; background: var(--normalbg);
}
.f-row .f-ava{ width:44px; height:44px; border-radius:10px; }
.f-row .f-name{ font-size:.95rem; }
.f-empty{
  text-align:center; opacity:.9; color:var(--textmuted); padding:1rem 0;
}

/* small badges in tab titles (consistent) */
.nav-pills .badge{ background: rgba(148,163,184,.12); color:var(--normaltext); border:1px solid var(--normalline); }

/* tiny helper for subtle separators if you want */
.f-sep{ height:1px; background: linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.12), rgba(255,255,255,.06)); opacity:.8; }

/* Friends tabs – dark theme */
.friends-tabs.nav-tabs { border-bottom: 1px solid var(--profile-tabs-border); }

.friends-tabs .nav-link{
  color: var(--profile-tabs-link-color);
  background: var(--profile-tabs-link-bg);
  border: 1px solid var(--profile-tabs-border);
  border-bottom-color: transparent;    /* so it “connects” to content */
  margin-right: .15rem;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  padding: .35rem .75rem;
  line-height: 1.2;
}

.friends-tabs .nav-link:hover{
  color: var(--profile-tabs-link-hover-color);
  background: var(--profile-tabs-link-hover-bg);
}

.friends-tabs .nav-link.active{
  color: var(--profile-tabs-active-color);
  background: var(--profile-tabs-active-bg);
  border-color: var(--profile-tabs-border);
  border-bottom-color: transparent;
  font-weight: 500;
  position: relative;
  z-index: 2; /* sit above tab-content border */
}

/* Content box that attaches to the tabs */
.tabs-bordered{
  border: 1px solid var(--profile-tabs-border);
  border-top: none;
  background: var(--profile-tab-content-bg);
  border-radius: 0 8px 8px 8px;
  padding: 1rem;
  color: var(--normaltext);
}

/* Keep your small pill counts consistent */
.friends-tabs .nav-link { line-height: 1.1; } /* optional */
.friends-tabs .badge{
  background: var(--altbg);
  color: var(--normaltext);
  border: 1px solid var(--normalline);
  font-size: .7rem;
  position: relative;
  top: -2px;              /* raise it a hair */
  margin-left: .35rem;    /* spacing from label */
  padding: .12rem .35rem; /* keep it readable at .5rem */
}
/* Wider friend tiles ONLY (no tab size changes) */
.friends-page .f-grid{
  /* bump the minimum card width so each tile gets more room */
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

/* optionally scale a bit wider on large/ultra-wide screens */
@media (min-width: 1200px){
  .friends-page .f-grid{
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  }
}
@media (min-width: 1600px){
  .friends-page .f-grid{
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  }
}


#editor .trumbowyg-box {
  display: flex;
  flex-direction: column;
  height: 100%;           /* Make the box match your wrapper's height */
}

#editor .trumbowyg-editor-box {
  flex: 1 1 auto;         /* Take the remaining space under the toolbar */
  min-height: 0;          /* IMPORTANT: allow flex child to shrink/expand */
}

#editor .trumbowyg-editor {
  height: 100%;
  overflow: auto;         /* Scroll inside editor if content overflows */
}

.trumbowyg-font-family { color: var(--trumbowyg-font-family); }

.ad-slot .adsbygoogle{width:100%}
.adbox.placeholder{
  min-height:140px;
  background:repeating-linear-gradient(45deg,#f6f7f9,#f6f7f9 10px,#eceef1 10px,#eceef1 20px);
}

.ad-slot[data-slot="sidebar_banner"]{
  max-width: 336px;        /* 300–336px are common sidebar widths */
  margin-left: auto;
  margin-right: auto;      /* centers the whole slot */
}

.ad-slot[data-slot="sidebar_banner"] .adsbygoogle{
  display: block;
  width: 100%;             /* fills the constrained slot */
}

.steamprofile {
  color: var(--normaltext);
}
.steamprofile h6 { color: var(--normaltext); }
.steamprofile .steam-card.card {
  width: 100%; /* full width */
  border-radius: 1rem;
  background: var(--normalbg);
  border: 1px solid var(--normalline);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  overflow: hidden;
}

.steamprofile .steam-divider { border: 1px solid var(--altline) !important;   }

.steamprofile .avatar {
  width: 100px;
  height: 100px;
  border-radius: 1rem;
  object-fit: cover;
  border: 2px solid var(--normalline);
}

.steamprofile .muted { color: var(--text-muted) !important; opacity: 1 !important; }

.steamprofile .badge-chip {
  border-radius: 999px;
  padding: .35rem .75rem;
  border: 1px solid var(--normalline);

  color: var(--normaltext);
}
.steamprofile .badge-chipb {
  border-radius: 999px;
  padding: .35rem .75rem;



}



.steamprofile .tile {
  border: 1px solid var(--normalline);
  background: var(--normalbg);
  border-radius: .75rem;
  padding: 1rem;
  text-align: center;
  height: 100%;
  transition: transform .15s ease;
}
.steamprofile .tile:hover {  }
.steamprofile .tile .val { font-weight: 700; font-size: 1.3rem; color: var(--accent); }
.steamprofile .tile .lab { font-size: .85rem; color: var(--text-muted); }

.steamprofile .game {
  border: 1px solid var(--normalline);
  background: var(--normalbg);
  border-radius: .75rem;
  padding: .6rem;
  display: flex;
  gap: .8rem;
  align-items: center;
  transition: transform .15s ease;
}
.steamprofile .game:hover {  }
.steamprofile .game img {
  width: 80px; height: 80px;
  object-fit: cover;
  border-radius: .5rem;
  border: 1px solid var(--normalline);
}



.steamprofile .game-icon {
  width: 32px; height: 32px; border-radius: .35rem;
  object-fit: cover; border: 1px solid var(--normalline);
  display:inline-block;
}
.steamprofile .game-icon--ph {
  display:flex; align-items:center; justify-content:center;
  background: var(--normalbg);
}

.steamprofile .nowplay {
  border: 1px solid var(--normalline);
  background: var(--normalbg);
  border-radius: .75rem;
  padding: .75rem;
}
.steamprofile .now-img {
  width: 100%;
  max-height: 180px;
  object-fit: cover;
  border-radius: .5rem;
  border: 1px solid var(--normalline);
}
.steamprofile .game-icon{
  width:32px; height:32px; object-fit:cover;
  border-radius:.35rem; border:1px solid var(--normalline);
}
.steamprofile .game-icon--ph{
  width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:.35rem; border:1px solid var(--normalline); background:var(--normalbg);
}
.steamprofile a.btn { color:white !important; }

/* make card a positioning context */
.steamprofile .steam-card.card { position: relative; }

/* add a little extra bottom padding so the chip never overlaps content */
.steamprofile .steam-card .card-body { padding-bottom: 2.25rem; }

/* bottom-right chip */
.steamprofile .last-updated {
  position: absolute;
  right: .75rem;
  bottom: .75rem;
  color: var(--normaltext);      /* matches .muted */
  font-size: .875rem;  /* small */
  opacity: .95;
}

  .cmplite-wrap {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 9999;
    display: none;
    pointer-events: none;
    animation: cmplite-fade 0.4s ease-in-out;
  }

  @keyframes cmplite-fade {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  .cmplite {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    pointer-events: auto;
    background: #0f0f0f;
    color: #f5f5f5;
    padding: 1rem 1.25rem;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.35);
    border-top: 1px solid rgba(255,255,255,0.1);
    font-size: 0.95rem;
  }

  @media (min-width: 768px) {
    .cmplite {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
    }
  }

  .cmplite p {
    margin: 0;
    flex: 1;
    line-height: 1.5;
    color: #e5e5e5;
  }

  .cmplite a {
    color: #93c5fd;
    text-decoration: none;
  }

  .cmplite-btns {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .cmplite .btn {
    border: 0;
    border-radius: 0.5rem;
    padding: 0.5rem 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
  }

  .cmplite .btn.primary {
    background: #2563eb;
    color: #fff;
  }
  .cmplite .btn.primary:hover {
    background: #1e40af;
  }

  .cmplite .btn.secondary {
    background: #1f2937;
    color: #f3f4f6;
    border: 1px solid #374151;
  }
  .cmplite .btn.secondary:hover {
    background: #374151;
  }
  
  @media (max-width: 767.98px) {
	.eplayer-audio-thumbnail {
		display: none;
	}
	.eplayer-audio-player { padding-bottom:20px; }
}

/* ===== tighter blog card media sizing ===== */
.blog-post-card-image-wrap {
  aspect-ratio: auto !important;
  height: 135px !important;
}

.blog-post-card-featured .blog-post-card-image-wrap {
  aspect-ratio: auto !important;
  height: 185px !important;
}

.blog-post-excerpt.blog-post-excerpt-media {
  max-height: 155px !important;
  overflow: hidden !important;
}

.blog-post-excerpt.blog-post-excerpt-media img {
  width: 100% !important;
  max-height: 135px !important;
  height: 135px !important;
  object-fit: cover !important;
  display: block;
}

.blog-post-excerpt.blog-post-type-2 .postgallery {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.blog-post-excerpt.blog-post-type-2 .postgallery img {
  width: 100% !important;
  height: 105px !important;
  max-height: 105px !important;
  object-fit: cover !important;
}

.blog-post-excerpt.blog-post-type-3 iframe,
.blog-post-excerpt.blog-post-type-3 video,
.blog-post-excerpt.blog-post-type-6 iframe,
.blog-post-excerpt.blog-post-type-6 video {
  width: 100% !important;
  height: 135px !important;
  max-height: 135px !important;
  aspect-ratio: auto !important;
  object-fit: cover;
  display: block;
  border: 0;
}

.blog-post-excerpt.blog-post-type-4 audio {
  max-height: 54px;
}

.blog-post-excerpt.blog-post-type-4 .eplayer-audio-player,
.blog-post-excerpt.blog-post-type-4 .custom-audio-player {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 8px !important;
}

.blog-post-excerpt.blog-post-type-5 pre,
.blog-post-excerpt.blog-post-type-5 .codesyntax,
.blog-post-excerpt.blog-post-type-5 textarea.codesyntax {
  max-height: 120px !important;
}

@media only screen and (max-width: 767px) {
  .blog-post-card-image-wrap {
    height: 120px !important;
  }

  .blog-post-card-featured .blog-post-card-image-wrap {
    height: 160px !important;
  }

  .blog-post-excerpt.blog-post-excerpt-media img,
  .blog-post-excerpt.blog-post-type-3 iframe,
  .blog-post-excerpt.blog-post-type-3 video,
  .blog-post-excerpt.blog-post-type-6 iframe,
  .blog-post-excerpt.blog-post-type-6 video {
    height: 120px !important;
    max-height: 120px !important;
  }

  .blog-post-excerpt.blog-post-type-2 .postgallery img {
    height: 95px !important;
    max-height: 95px !important;
  }
}

/* Blog post sidebar polish */
.post-sidebar-list,
.post-sidebar-popular {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.post-sidebar-item,
.post-sidebar-popular-item {
  position: relative;
  margin: 0 !important;
  padding: 8px;
  border: 1px solid var(--side-menu-list-border);
  border-radius: 10px;
  background: var(--side-menu-action-bg);
  transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.post-sidebar-item:hover,
.post-sidebar-popular-item:hover {
  background: var(--side-menu-hover-bg);
  border-color: var(--side-menu-action-hover-border);
  transform: translateX(2px);
}

.post-sidebar-thumb {
  flex: 0 0 auto;
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid var(--side-menu-action-border);
}

.post-sidebar-copy { min-width: 0; }

.post-sidebar-title {
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--side-menu-link) !important;
  line-height: 1.25;
  font-weight: 600;
}

.post-sidebar-title:hover {
  background: transparent !important;
  color: var(--side-menu-hover-color) !important;
  transform: none !important;
}

.post-sidebar-date {
  margin-top: 4px;
  font-size: .72rem;
}

.post-sidebar-popular {
  counter-reset: popularPosts;
  list-style: none;
}

.post-sidebar-popular-item { padding-left: 38px; }

.post-sidebar-popular-item:before {
  counter-increment: popularPosts;
  content: counter(popularPosts);
  position: absolute;
  left: 8px;
  top: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  color: var(--side-menu-badge);
  background: var(--side-menu-badge-bg);
  border: 1px solid var(--side-menu-badge-border);
  font-size: .68rem;
  font-weight: 700;
}

.post-sidebar-statline {
  display: grid;
  gap: 7px;
  color: var(--side-menu-link);
}

.post-sidebar-statline span {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 8px;
  border-radius: 9px;
  background: var(--side-menu-action-bg);
  border: 1px solid var(--side-menu-list-border);
}

.post-sidebar-statline i { color: var(--side-menu-icon-color); }

/* Files main page modernization */
.files-main-panel {
  border: 1px solid var(--files-panel-border);
  border-radius: 14px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
}

.files-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 16px 0;
  padding: 13px 15px;
  border: 1px solid var(--files-section-border);
  border-radius: 13px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  position: relative;
  overflow: hidden;
}

.files-section-heading:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--files-section-accent);
}

.files-section-heading-spaced { margin-top: 14px; }

.files-section-heading h4 {
  margin: 2px 0 0 0;
  font-size: 1.05rem;
  color: var(--files-heading-color);
  letter-spacing: .01em;
}

.files-section-kicker {
  display: block;
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.files-section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  flex: 0 0 auto;
}

.file-card {
  overflow: hidden;
  border: 1px solid var(--files-card-border) !important;
  border-radius: 13px;
  background: var(--files-card-bg) !important;
  color: var(--normaltext);
  box-shadow: var(--files-card-shadow);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.file-card:hover {
  transform: translateY(-2px);
  border-color: var(--files-card-hover-border) !important;
  box-shadow: var(--files-card-hover-shadow);
}

.file-card:before {
  content: "";
  display: block;
  height: 3px;
  background: var(--files-card-accent);
}

.file-card-bg-holder {
  margin: 0;
  padding: 0;
  background: var(--files-thumb-bg);
  border: 0;
  border-bottom: 1px solid var(--files-card-border);
}

.file-card-bg {
  height: 124px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 0;
}

.file-card .card-body { font-size: .875rem; }

.file-card h4.card-title {
  margin: 0;
  padding: 0;
  color: var(--files-title-color);
  font-size: .98rem;
  line-height: 1.25;
}

.file-card-desc {
  color: var(--files-desc-color);
  line-height: 1.45;
}

.file-card-meta {
  display: grid;
  gap: 7px;
  color: var(--files-meta-color);
  font-size: .78rem;
}

.file-card-meta span {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.file-card-meta i {
  width: 14px;
  color: var(--files-meta-icon-color);
  text-align: center;
}

.file-card-rating {
  display: flex;
  align-items: center;
  gap: 1px;
  min-height: 18px;
}

.file-card-btn {
  border: 0 !important;
  border-radius: 9px;
  font-weight: 700;
  background: var(--files-button-bg) !important;
  box-shadow: var(--files-button-shadow);
}

.file-card-btn:hover,
.file-card-btn:focus {
  background: var(--files-button-hover-bg) !important;
  color: #fff !important;
}

@media only screen and (max-width: 767px) {
  .files-section-heading { padding: 12px; }
  .file-card-bg { height: 115px; }
}

/* Files sidebar modernization */
.files-sidebar-card {
  border-color: var(--files-sidebar-border) !important;
  background: var(--files-sidebar-bg) !important;
  box-shadow: var(--files-sidebar-shadow) !important;
}

.files-sidebar-card:before {
  height: 2px;
  background: var(--files-sidebar-accent);
}

.files-sidebar-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--files-sidebar-divider);
}

.files-sidebar-heading h4 { margin-top: 2px; }

.files-sidebar-kicker {
  display: block;
  color: var(--files-sidebar-kicker);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
}

.files-sidebar-total {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 28px;
  padding: 0 10px;
  border: 1px solid var(--files-sidebar-badge-border);
  border-radius: 999px;
  color: var(--files-sidebar-badge-color);
  background: var(--files-sidebar-badge-bg);
  font-size: .76rem;
  font-weight: 800;
  box-shadow: inset 0 1px 0 var(--files-sidebar-badge-inset);
}

.files-category-list { gap: 7px; }

.files-sidebar-card .list-group-item {
  min-height: 39px;
  padding: 9px 10px !important;
  border: 1px solid var(--files-sidebar-row-border) !important;
  border-radius: 10px !important;
  background: var(--files-sidebar-row-bg) !important;
  color: var(--files-sidebar-row-color) !important;
  transition: transform .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.files-sidebar-card .list-group-item:hover,
.files-sidebar-card .list-group-item:focus {
  transform: translateX(2px);
  border-color: var(--files-sidebar-row-hover-border) !important;
  background: var(--files-sidebar-row-hover-bg) !important;
  color: var(--files-sidebar-row-hover-color) !important;
  box-shadow: var(--files-sidebar-row-hover-shadow);
}

.files-category-name {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  line-height: 1.25;
}

.files-category-name i,
.files-category-name .material-icons {
  width: 18px;
  flex: 0 0 auto;
  color: var(--files-sidebar-icon-color);
  font-size: .9rem;
  text-align: center;
}

.files-category-name .material-icons {
  font-size: 1.05rem;
  background: none;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: currentColor;
  background-clip: initial;
  text-fill-color: currentColor;
}

.files-sidebar-card .badge.bg-default {
  min-width: 30px;
  border-color: var(--files-sidebar-badge-border) !important;
  color: var(--files-sidebar-badge-color) !important;
  background: var(--files-sidebar-badge-bg) !important;
  font-size: .7rem;
  font-weight: 800;
}

.files-sidebar-card .accordion {
  margin-top: 0;
}

.files-sidebar-card .accordion-item {
  margin-top: 7px;
  border: 1px solid var(--files-sidebar-row-border) !important;
  border-radius: 10px !important;
  background: var(--files-sidebar-row-bg) !important;
}

.files-sidebar-card .accordion-button,
.files-sidebar-card .accordion-button.collapsed,
.files-sidebar-card .accordion-button:focus,
.files-sidebar-card .accordion-button:hover,
.files-sidebar-card .accordion-button:active,
.files-sidebar-card .accordion-button:not(.collapsed),
.files-sidebar-card .accordion-button:not(.collapsed):focus,
.files-sidebar-card .accordion-button:not(.collapsed):hover,
.files-sidebar-card .accordion-button:not(.collapsed):active {
  min-height: 39px;
  padding: 9px 10px !important;
  border-radius: 10px 10px 0 0 !important;
  background: transparent !important;
  color: var(--files-sidebar-row-color) !important;
  font-size: .86rem;
  font-weight: 700;
}

.files-sidebar-card .accordion-button:hover,
.files-sidebar-card .accordion-button:not(.collapsed) {
  background: var(--files-sidebar-row-hover-bg) !important;
  color: var(--files-sidebar-row-hover-color) !important;
}

.files-sidebar-card .icon-wrapper {
  color: var(--files-sidebar-icon-color);
  opacity: .9;
}

.files-sidebar-card .accordion-body {
  padding: 7px !important;
  border-top: 1px solid var(--files-sidebar-divider);
  background: var(--files-sidebar-accordion-bg) !important;
}

.files-sidebar-card .accordion-body .list-group { margin-bottom: 6px; }
.files-sidebar-card .accordion-body .list-group:last-child { margin-bottom: 0; }
.files-sidebar-card .accordion-body .list-group-item { min-height: 36px; padding: 8px 9px !important; }
.files-subcategory-name { font-size: .82rem; }

.files-sidebar-ad {
  min-height: 52px;
}

/* Files category page modernization */
.files-category-panel .files-category-heading { margin-bottom: 13px; }

.file-cat-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--files-section-border);
  border-radius: 12px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}

.file-cat-toolbar-label {
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.file-cat-sortby {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  margin: 0;
}

.file-cat-sortby .nav-link {
  padding: 6px 10px;
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  color: var(--files-meta-color);
  background: var(--files-card-bg);
  font-weight: 700;
  line-height: 1;
}

.file-cat-sortby .nav-link:hover,
.file-cat-sortby .nav-link:focus {
  color: var(--files-title-color);
  border-color: var(--files-card-hover-border);
}

.file-cat-sortby .nav-link.active {
  color: #fff !important;
  border-color: transparent;
  background: var(--files-button-bg) !important;
  box-shadow: var(--files-button-shadow);
}

.file-cats-sub {
  padding: 12px;
  border: 1px solid var(--files-section-border);
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}

.file-subcat-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  color: var(--files-heading-color);
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .01em;
}

.file-subcat-heading i { color: var(--files-meta-icon-color); }

.file-list-subcats {
  display: grid;
  gap: 7px;
}

.file-list-subcats .list-group-item {
  padding: 9px 10px !important;
  border: 1px solid var(--files-card-border) !important;
  border-radius: 10px !important;
  color: var(--files-meta-color);
  background: var(--files-card-bg) !important;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.file-list-subcats .list-group-item:hover {
  transform: translateY(-1px);
  border-color: var(--files-card-hover-border) !important;
}

.file-list-subcats a {
  color: var(--files-title-color);
  font-weight: 700;
  text-decoration: none;
}

.file-list-subcats a:hover { color: var(--files-kicker-color); }

.file-list-subcats .badge {
  color: var(--files-sidebar-badge-color);
  background: var(--files-sidebar-badge-bg);
  border: 1px solid var(--files-sidebar-badge-border);
  box-shadow: inset 0 1px 0 var(--files-sidebar-badge-inset);
}

.file-empty-alert {
  border: 1px solid var(--files-section-border);
  border-radius: 12px;
  background: var(--files-section-bg);
  color: var(--files-heading-color);
}

@media only screen and (max-width: 767px) {
  .file-cat-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .file-cat-sortby { justify-content: flex-start; }
}

/* Files single page modernization */
.file-single-modern {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--files-panel-border);
  border-radius: 16px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
}

.file-single-modern:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-section-accent);
}

.file-single-hero {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 14px;
}

.file-single-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--files-section-icon-border);
  border-radius: 13px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  font-size: 1.2rem;
  flex: 0 0 auto;
}

.file-single-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
}

.file-single-modern h2 {
  margin: 0 0 5px;
  color: var(--files-heading-color);
  font-size: 1.6rem;
  line-height: 1.15;
}

.file-single-holder-ldesc {
  color: var(--files-desc-color);
  font-size: .94rem;
  line-height: 1.45;
}

.file-single-holder-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 15px;
}

.file-single-holder-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  color: var(--files-meta-color);
  background: var(--files-card-bg);
  font-size: .8rem;
  font-weight: 700;
}

.file-single-holder-meta i { color: var(--files-meta-icon-color); }
.file-single-holder-meta a { color: var(--files-title-color); text-decoration: none; }
.file-single-holder-meta a:hover { color: var(--files-kicker-color); }
.file-single-hr { border-color: var(--files-section-border); opacity: 1; }

.file-single-content-card,
.file-single-side-card {
  overflow: hidden;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
}

.file-single-content-card:before,
.file-single-side-card:before {
  content: "";
  display: block;
  height: 3px;
  background: var(--files-card-accent);
}

.file-single-side-card:before {
  margin: -14px -14px 16px;
}

.file-single-ss-holder {
  display: block;
  padding: 12px;
  border-bottom: 1px solid var(--files-card-border);
  background: var(--files-thumb-bg);
}

.file-single-ss-bg {
  min-height: 170px;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}

.file-single-about-block { padding: 16px; }
.file-single-about-block h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--files-heading-color);
  font-size: 1rem;
  font-weight: 800;
}
.file-single-about-block h4 i { color: var(--files-meta-icon-color); }
.file-single-description {
  color: var(--files-desc-color);
  font-size: .92rem;
  line-height: 1.72;
}

.file-single-side-card {
  padding: 14px;
}

.file-single-download-btn {
  width: 100%;
  border: 0 !important;
  border-radius: 11px;
  background: var(--files-button-bg) !important;
  box-shadow: var(--files-button-shadow);
  font-weight: 800;
}

.file-single-download-btn:hover,
.file-single-download-btn:focus {
  color: #fff !important;
  background: var(--files-button-hover-bg) !important;
}

.file-single-side-card hr {
  border-color: var(--files-section-border);
  opacity: 1;
}

.file-single-holder-table {
  margin-bottom: 0;
  color: var(--files-meta-color);
  font-size: .82rem;
}

.file-single-holder-table td {
  border-color: var(--files-card-border) !important;
  background: transparent !important;
  vertical-align: middle;
}

.file-single-holder-table td:first-child {
  color: var(--files-heading-color);
  font-weight: 800;
}

.file-single-holder-table a { color: var(--files-kicker-color); font-weight: 800; }
.file-voting-total-votes { color: var(--files-meta-color); font-size: .8rem; }

@media only screen and (max-width: 991px) {
  .file-single-side-card { margin-top: 16px; }
}

@media only screen and (max-width: 575px) {
  .file-single-hero { gap: 10px; }
  .file-single-title-icon { width: 38px; height: 38px; }
  .file-single-modern h2 { font-size: 1.35rem; }
  .file-single-holder-meta span { width: 100%; border-radius: 10px; }
}

/* Files single sidebar detail polish */
.file-single-side-card:before {
  margin: -14px -14px 16px;
}

.file-single-holder-table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0 7px;
  color: var(--files-meta-color);
  font-size: .82rem;
}

.file-single-holder-table tbody,
.file-single-holder-table tr,
.file-single-holder-table td {
  display: block;
}

.file-single-holder-table tr {
  display: grid;
  grid-template-columns: minmax(92px, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--files-detail-row-border, var(--files-card-border));
  border-radius: 10px;
  background: var(--files-detail-row-bg, var(--files-card-bg)) !important;
  box-shadow: inset 0 1px 0 var(--files-detail-row-inset, var(--files-section-inset));
}

.file-single-holder-table td {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  vertical-align: middle;
}

.file-single-holder-table td:first-child {
  color: var(--files-heading-color);
  font-size: .76rem;
  font-weight: 800;
}

.file-single-holder-table td:last-child {
  color: var(--files-desc-color);
  font-weight: 700;
  text-align: right;
  overflow-wrap: anywhere;
}

.file-single-holder-table a {
  color: var(--files-kicker-color);
  font-weight: 800;
  text-decoration: none;
}

.file-single-holder-table a:hover { color: var(--files-title-color); }

@media only screen and (max-width: 575px) {
  .file-single-holder-table tr { grid-template-columns: 1fr; gap: 3px; }
  .file-single-holder-table td:last-child { text-align: left; }
}

/* Files single sidebar detail rebuild */
.file-single-detail-list {
  display: grid;
  gap: 9px;
  margin-top: 2px;
}

.file-single-detail-row {
  display: grid;
  grid-template-columns: minmax(108px, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 12px;
  padding: 10px 11px;
  border: 1px solid var(--files-detail-row-border, var(--files-card-border));
  border-radius: 12px;
  background: var(--files-detail-row-bg, var(--files-card-bg));
  box-shadow: inset 0 1px 0 var(--files-detail-row-inset, var(--files-section-inset));
}

.file-single-detail-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: var(--files-heading-color);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .01em;
  white-space: nowrap;
}

.file-single-detail-label i {
  width: 15px;
  color: var(--files-meta-icon-color);
  text-align: center;
}

.file-single-detail-value {
  min-width: 0;
  color: var(--files-desc-color);
  font-size: .8rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: right;
  overflow-wrap: anywhere;
}

.file-single-detail-value a {
  color: var(--files-kicker-color);
  font-weight: 900;
  text-decoration: none;
}

.file-single-detail-value a:hover { color: var(--files-title-color); }

@media only screen and (max-width: 575px) {
  .file-single-detail-row { grid-template-columns: 1fr; gap: 4px; }
  .file-single-detail-value { text-align: left; }
}

/* Files single final polish: rating, download CTA, content readability, preview, responsive stack */
.file-single-download-module {
  display: grid;
  gap: 9px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--files-section-border);
  text-align: center;
}

.file-single-download-btn {
  position: relative;
  overflow: hidden;
  padding: 12px 16px;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.file-single-download-btn:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), transparent);
  transform: translateX(-120%);
  transition: transform .45s ease;
}

.file-single-download-btn:hover,
.file-single-download-btn:focus {
  transform: translateY(-1px);
  filter: saturate(1.04);
  box-shadow: var(--files-card-hover-shadow), var(--files-button-shadow);
}

.file-single-download-btn:hover:before,
.file-single-download-btn:focus:before {
  transform: translateX(120%);
}

.file-single-download-btn i,
.file-single-download-btn span {
  position: relative;
  z-index: 1;
}

.file-single-download-stat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--files-meta-color);
  font-size: .78rem;
  font-weight: 800;
}

.file-single-download-stat i { color: var(--files-meta-icon-color); }

.file-single-rating-module {
  margin: 14px 0;
  padding: 14px 12px;
  border: 1px solid var(--files-detail-row-border, var(--files-card-border));
  border-radius: 14px;
  background: var(--files-detail-row-bg, var(--files-card-bg));
  box-shadow: inset 0 1px 0 var(--files-detail-row-inset, var(--files-section-inset));
  text-align: center;
}

.file-single-rating-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-bottom: 8px;
  color: var(--files-heading-color);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.file-single-rating-label i { color: #ffc107; }

#filesingle-vote {
  min-height: 28px;
  line-height: 1;
}

#file-rating-star {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.file-voting-total-votes {
  margin-top: 6px;
  color: var(--files-meta-color);
  font-size: .78rem;
  font-weight: 700;
}

.file-single-ss-holder {
  position: relative;
}

.file-single-ss-holder:after {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 12px;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px var(--files-section-inset), 0 10px 22px rgba(0, 0, 0, .16);
}

.file-single-ss-bg {
  min-height: 260px;
  background-size: cover;
  background-position: center;
  background-color: var(--files-thumb-bg);
}

.file-single-about-block { padding: 18px; }

.file-single-description {
  max-width: 72ch;
  font-size: .95rem;
  line-height: 1.82;
}

.file-single-description p,
.file-single-description div {
  margin-bottom: .85rem;
}

.file-single-description ul,
.file-single-description ol {
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}

@media only screen and (max-width: 991px) {
  .file-single-side-card {
    position: static;
    margin-top: 18px;
  }

  .file-single-detail-row {
    grid-template-columns: minmax(140px, .8fr) minmax(0, 1.2fr);
  }
}

@media only screen and (max-width: 767px) {
  .file-single-modern {
    padding: 14px !important;
  }

  .file-single-content-card,
  .file-single-side-card {
    border-radius: 13px;
  }

  .file-single-ss-bg {
    min-height: 150px;
  }

  .file-single-description {
    max-width: none;
    font-size: .92rem;
  }
}

@media only screen and (max-width: 575px) {
  .file-single-download-module,
  .file-single-rating-module,
  .file-single-detail-list {
    width: 100%;
  }

  .file-single-detail-row {
    grid-template-columns: 1fr;
  }
}

/* Files download page modernization */
.file-download-page {
  border: 1px solid var(--files-section-border);
  border-radius: 16px;
  background: var(--files-main-panel-bg) !important;
  box-shadow: var(--files-main-panel-shadow);
  overflow: hidden;
}

.file-download-hero {
  position: relative;
  padding: 34px 22px 28px;
  border: 1px solid var(--files-section-border);
  border-radius: 15px;
  background:
    radial-gradient(circle at 50% 0%, var(--files-section-glow), transparent 34%),
    var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  overflow: hidden;
}

.file-download-hero:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-card-accent);
}

.file-download-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  border: 1px solid var(--files-section-icon-border);
  border-radius: 15px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  box-shadow: var(--files-button-shadow);
  font-size: 1.35rem;
}

.file-download-kicker {
  display: block;
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.file-download-hero h2 {
  margin: 5px 0 16px;
  color: var(--files-heading-color);
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  font-weight: 800;
  letter-spacing: -.02em;
}

.file-download-countdown-wrap {
  display: inline-grid;
  place-items: center;
  width: 92px;
  height: 92px;
  margin: 0 auto 14px;
  border: 1px solid var(--files-detail-row-border, var(--files-card-border));
  border-radius: 999px;
  background: var(--files-detail-row-bg, var(--files-card-bg));
  box-shadow: inset 0 1px 0 var(--files-detail-row-inset, var(--files-section-inset)), 0 14px 30px rgba(0, 0, 0, .16);
}

.file-download-countdown {
  display: block;
  color: var(--files-heading-color);
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
}

.file-download-countdown-label {
  color: var(--files-meta-color);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.file-download-message {
  margin: 0;
  color: var(--normaltext);
  font-size: .98rem;
  font-weight: 700;
}

.file-download-fallback {
  margin: 5px 0 0;
  color: var(--files-desc-color);
  font-size: .9rem;
}

.file-download-fallback a {
  color: var(--files-section-icon-color);
  font-weight: 900;
  text-decoration: none;
}

.file-download-fallback a:hover { text-decoration: underline; }

.file-download-progress {
  width: min(360px, 88%);
  height: 7px;
  margin: 19px auto 0;
  border: 1px solid var(--files-detail-row-border, var(--files-card-border));
  border-radius: 999px;
  background: var(--files-thumb-bg);
  overflow: hidden;
}

.file-download-progress span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: var(--files-card-accent);
  transform-origin: left center;
  animation: fileDownloadCountdown 10s linear forwards;
}

@keyframes fileDownloadCountdown {
  from { transform: scaleX(1); }
  to { transform: scaleX(0); }
}

.file-download-related-heading {
  margin: 18px 0 14px;
}

.file-download-related-card .file-card-bg { height: 108px; }

@media only screen and (max-width: 767px) {
  .file-download-page { padding: 14px !important; }
  .file-download-hero { padding: 26px 14px 22px; }
  .file-download-countdown-wrap {
    width: 78px;
    height: 78px;
  }
  .file-download-countdown { font-size: 1.65rem; }
  .file-download-related-card .file-card-bg { height: 120px; }
}

/* Gallery Main Modernization */
.gallery-main-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--gallery-panel-border);
  border-radius: 16px !important;
  background: var(--gallery-panel-bg);
  box-shadow: var(--gallery-panel-shadow) !important;
}
.gallery-main-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--gallery-accent-bar);
  pointer-events: none;
}
.gallery-section-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 2px 14px;
  border-bottom: 1px solid var(--gallery-heading-border);
}
.gallery-heading-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 14px;
  color: var(--gallery-icon-color);
  background: var(--gallery-icon-bg);
  border: 1px solid var(--gallery-icon-border);
}
.gallery-kicker {
  color: var(--gallery-kicker-color);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.1;
  margin-bottom: 3px;
}
.gallery-section-heading h2 {
  color: var(--gallery-heading-color);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 800;
  line-height: 1.1;
}
.gallery-count-pill {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  color: var(--gallery-pill-color);
  background: var(--gallery-pill-bg);
  border: 1px solid var(--gallery-pill-border);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: .78rem;
  font-weight: 700;
}
.gallery-album-shell {
  margin-top: 14px;
}
.galleryalbums > .col {
  display: flex;
}
.galleryalbums .gallery-card {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--gallery-card-bg);
  border: 1px solid var(--gallery-card-border);
  border-radius: 15px;
  box-shadow: var(--gallery-card-shadow);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.galleryalbums .gallery-card:hover {
  transform: translateY(-3px);
  border-color: var(--gallery-card-hover-border);
  box-shadow: var(--gallery-card-hover-shadow);
}
.gallery-card-accent {
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: var(--gallery-card-accent);
  z-index: 2;
  pointer-events: none;
}
.galleryalbums .thumb-link {
  display: block;
  position: relative;
  overflow: hidden;
  background: var(--gallery-thumb-bg);
  border-radius: 15px 15px 0 0;
}
.galleryalbums .album-thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  background: var(--gallery-thumb-bg);
  border-bottom: 1px solid var(--gallery-card-border);
  transition: transform .35s ease;
}
.galleryalbums .thumb-link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.28), rgba(0,0,0,0) 58%);
  opacity: .85;
  pointer-events: none;
}
.galleryalbums .gallery-card:hover .album-thumb {
  transform: scale(1.045);
}
.galleryalbums .gallery-card .card-body {
  background: transparent;
  padding: 14px 14px 15px;
}
.galleryalbums .album-title {
  color: var(--gallery-title-color);
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.25;
  min-height: 2.55rem;
  margin: 0;
}
.galleryalbums .album-title a {
  color: var(--gallery-title-color) !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.galleryalbums .album-title a:hover {
  color: var(--gallery-title-hover-color) !important;
}
.galleryalbums .album-desc {
  min-height: 2.8rem;
  color: var(--gallery-desc-color);
  font-size: .9rem;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.galleryalbums .album-meta {
  border-top: 1px solid var(--gallery-meta-border);
  padding-top: 11px;
}
.galleryalbums .gallery-numimages {
  color: var(--gallery-meta-color);
  font-size: .78rem;
  font-weight: 700;
}
.gallery-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
  padding: .42rem .68rem !important;
  line-height: 1 !important;
  font-weight: 700;
  position: relative;
  z-index: 3;
}
.gallery-pagination .pagination {
  margin-bottom: 0;
}
@media (max-width: 575.98px) {
  .gallery-section-heading {
    align-items: flex-start;
  }
  .gallery-count-pill {
    width: 100%;
    justify-content: center;
  }
  .galleryalbums .album-title,
  .galleryalbums .album-desc {
    min-height: 0;
  }
}

/* Gallery album photo page modernization */
.gallery-photo-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--gallery-panel-border);
  border-radius: 16px !important;
  background: var(--gallery-panel-bg);
  box-shadow: var(--gallery-panel-shadow) !important;
}
.gallery-photo-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--gallery-card-accent);
  pointer-events: none;
}
.gallery-photo-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--gallery-section-border);
  border-radius: 14px;
  background: var(--gallery-section-bg);
  box-shadow: inset 0 1px 0 var(--gallery-section-inset);
}
.gallery-photo-heading h2 {
  color: var(--gallery-heading-color);
  font-size: clamp(1.35rem, 2.2vw, 1.95rem);
  font-weight: 800;
  line-height: 1.12;
}
.gallery-photo-grid {
  position: relative;
  z-index: 1;
}
.modern-gallery .mg-card-wrapper {
  height: 100%;
  gap: 8px;
}
.modern-gallery .gallery-photo-card {
  margin: 0;
  background: var(--gallery-card-bg);
  border: 1px solid var(--gallery-card-border);
  border-radius: 14px !important;
  box-shadow: var(--gallery-card-shadow);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.modern-gallery .gallery-photo-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: var(--gallery-card-accent);
  opacity: .9;
  z-index: 2;
  pointer-events: none;
}
.modern-gallery .gallery-photo-card:hover {
  transform: translateY(-3px);
  border-color: var(--gallery-card-hover-border);
  box-shadow: var(--gallery-card-hover-shadow);
}
.modern-gallery .gallery-photo-card .mg-item {
  position: relative;
  overflow: hidden;
  background: var(--gallery-thumb-bg);
}
.modern-gallery .gallery-photo-card .mg-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.32), rgba(0,0,0,0) 55%);
  pointer-events: none;
  opacity: .85;
}
.modern-gallery .mg-thumb {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  border-radius: 0;
  transition: transform .28s ease;
}
.modern-gallery .gallery-photo-card:hover .mg-thumb {
  transform: scale(1.045);
}
.modern-gallery .mg-likes {
  top: 8px;
  left: 8px;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 8px 18px rgba(0,0,0,.24);
  backdrop-filter: blur(8px);
}
.gallery-photo-detail-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid var(--gallery-detail-btn-border) !important;
  background: var(--gallery-detail-btn-bg) !important;
  color: var(--gallery-detail-btn-color) !important;
  font-weight: 700;
  border-radius: 10px !important;
  box-shadow: var(--gallery-detail-btn-shadow);
  transition: transform .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}
.gallery-photo-detail-btn:hover,
.gallery-photo-detail-btn:focus,
.gallery-photo-detail-btn:active {
  background: var(--gallery-detail-btn-hover-bg) !important;
  border-color: var(--gallery-detail-btn-hover-border) !important;
  color: var(--gallery-detail-btn-hover-color) !important;
  transform: translateY(-1px);
}
.gallery-modal-nav-btn {
  border: 1px solid var(--gallery-detail-btn-border) !important;
  background: var(--gallery-modal-nav-bg) !important;
  color: var(--gallery-detail-btn-color) !important;
  border-radius: 10px !important;
}
.gallery-modal-nav-btn:hover,
.gallery-modal-nav-btn:focus {
  background: var(--gallery-detail-btn-hover-bg) !important;
  border-color: var(--gallery-detail-btn-hover-border) !important;
  color: var(--gallery-detail-btn-hover-color) !important;
}
#imagesModalb .modal-content {
  color: var(--normaltext);
  background: var(--gallery-panel-bg);
  border: 1px solid var(--gallery-panel-border);
  border-radius: 16px;
  box-shadow: var(--gallery-panel-shadow);
}
#imagesModalb .modal-header,
#imagesModalb .modal-footer {
  border-color: var(--gallery-meta-border) !important;
}
#imagesModalb .modal-title {
  color: var(--gallery-heading-color);
  font-weight: 800;
}
#imagesModalb #modalImage {
  max-height: 76vh;
  object-fit: contain;
  background: var(--gallery-thumb-bg);
}
@media (max-width: 575.98px) {
  .gallery-photo-heading {
    align-items: flex-start;
  }
  .gallery-photo-heading .gallery-count-pill {
    width: 100%;
    justify-content: center;
  }
}


/* Modernized fallback page header */
.altheader.modern-page-header{
    margin:0 0 1rem;
    border:1px solid var(--page-header-border, var(--normalline));
    border-top:3px solid var(--accent);
    border-radius:14px;
    background:var(--page-header-bg, linear-gradient(135deg,var(--altbg),rgba(255,255,255,.02)));
    box-shadow:var(--page-header-shadow, 0 8px 18px rgba(0,0,0,.07));
    overflow:hidden;
}
.modern-page-header-inner{padding:.82rem 1.15rem;}
.modern-page-header-kicker{
    font-size:.66rem; text-transform:uppercase; letter-spacing:.11em;
    opacity:.72; margin-bottom:.22rem; font-weight:700; line-height:1.1;
}
.altheader.modern-page-header h1{
    margin:0; font-size:clamp(1.25rem,2.1vw,1.7rem); font-weight:800; line-height:1.15;
}
.altheader.modern-page-header h1:before{content:none;margin:0;}
.altheader.modern-page-header h2{display:none;}
.modern-page-header-tag{
    margin:.25rem 0 0; font-size:.88rem; opacity:.78; line-height:1.35;
}
@media (max-width: 767px){
 .modern-page-header-inner{padding:.75rem .95rem;}
 .altheader.modern-page-header h1{font-size:1.25rem;}
 .modern-page-header-tag{font-size:.84rem;}
}

/* About page modernization */
.about-page {
  align-items: flex-start;
}

.about-panel,
.about-sidebar-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--files-panel-border);
  border-radius: 16px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
  color: var(--normaltext);
}

.about-panel:before,
.about-sidebar-card:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-section-accent);
}

.about-panel-header {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--files-card-border);
}

.about-panel-icon,
.about-sidebar-title i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--files-section-icon-border);
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  flex: 0 0 auto;
}

.about-panel-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  font-size: 1.15rem;
}

.about-panel-kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
}

.about-panel h2 {
  margin: 0;
  color: var(--files-heading-color);
  font-size: 1.55rem;
  line-height: 1.15;
}

.about-content {
  color: var(--normaltext);
  font-size: 1rem;
  line-height: 1.75;
}

.about-content > *:first-child { margin-top: 0; }
.about-content > *:last-child { margin-bottom: 0; }
.about-content p { margin-bottom: 1rem; }
.about-content h1,
.about-content h2,
.about-content h3,
.about-content h4,
.about-content h5,
.about-content h6 {
  color: var(--files-heading-color);
  line-height: 1.25;
  margin: 1.35rem 0 .7rem;
}
.about-content a {
  color: var(--alink);
  font-weight: 700;
  text-decoration: none;
}
.about-content a:hover {
  color: var(--alink-hover);
  text-decoration: underline;
}
.about-content img {
  border-radius: 12px;
  border: 1px solid var(--files-card-border);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.about-content blockquote {
  margin: 1rem 0;
  padding: 12px 16px;
  border-left: 3px solid var(--accent);
  border-radius: 0 12px 12px 0;
  background: var(--files-card-bg);
  color: var(--files-desc-color);
}

.about-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  padding: 24px;
  border: 1px dashed var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
  color: var(--files-desc-color);
  text-align: center;
}
.about-empty-state i {
  margin-bottom: 10px;
  color: var(--files-kicker-color);
  font-size: 1.5rem;
}
.about-empty-state strong {
  color: var(--files-heading-color);
  font-size: 1rem;
}
.about-empty-state span { font-size: .9rem; }

.about-sidebar-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 13px;
  color: var(--files-heading-color);
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.about-sidebar-title i {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  font-size: .78rem;
}

.about-sidebar-card .ad-slot {
  overflow: hidden;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  background: var(--files-card-bg);
}

@media only screen and (max-width: 767px) {
  .about-panel-header { gap: 10px; }
  .about-panel-icon { width: 38px; height: 38px; }
  .about-panel h2 { font-size: 1.35rem; }
  .about-content { font-size: .96rem; line-height: 1.65; }
}

/* Links main page modernization */
.links-main-panel { border: 1px solid var(--files-panel-border); border-radius: 14px; background: var(--files-panel-bg); box-shadow: var(--files-panel-shadow); }
.links-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 16px 0; padding: 13px 15px; border: 1px solid var(--files-section-border); border-radius: 13px; background: var(--files-section-bg); box-shadow: inset 0 1px 0 var(--files-section-inset); position: relative; overflow: hidden; }
.links-section-heading:before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--files-section-accent); }
.links-section-heading-spaced { margin-top: 14px; }
.links-section-heading h4 { margin: 2px 0 0 0; font-size: 1.05rem; color: var(--files-heading-color); letter-spacing: .01em; }
.links-section-kicker { display: block; color: var(--files-kicker-color); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.links-section-icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 999px; color: var(--files-section-icon-color); background: var(--files-section-icon-bg); border: 1px solid var(--files-section-icon-border); flex: 0 0 auto; }
.links-card { overflow: hidden; border: 1px solid var(--files-card-border) !important; border-radius: 13px; background: var(--files-card-bg) !important; color: var(--normaltext); box-shadow: var(--files-card-shadow); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.links-card:hover { transform: translateY(-2px); border-color: var(--files-card-hover-border) !important; box-shadow: var(--files-card-hover-shadow); }
.links-card:before { content: ""; display: block; height: 3px; background: var(--files-card-accent); }
.links-card-bg-holder { margin: 0; padding: 0; background: var(--files-thumb-bg); border: 0; border-bottom: 1px solid var(--files-card-border); }
.links-card-bg { height: 124px; background-size: cover; background-repeat: no-repeat; background-position: center; border-radius: 0; }
.links-card .card-body { font-size: .875rem; }
.links-card h4.card-title { margin: 0; padding: 0; color: var(--files-title-color); font-size: .98rem; line-height: 1.25; }
.links-card-desc { color: var(--files-desc-color); line-height: 1.45; }
.links-card-meta { display: grid; gap: 7px; color: var(--files-meta-color); font-size: .78rem; }
.links-card-meta span { display: flex; align-items: center; gap: 7px; min-width: 0; }
.links-card-meta i { width: 14px; color: var(--files-meta-icon-color); text-align: center; flex: 0 0 auto; }
.links-card-meta a { color: var(--files-title-color); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.links-card-meta a:hover { color: var(--files-meta-icon-color); }
.links-card-btn { border: 0 !important; border-radius: 9px; font-weight: 700; background: var(--files-button-bg) !important; box-shadow: var(--files-button-shadow); }
.links-card-btn:hover, .links-card-btn:focus { background: var(--files-button-hover-bg) !important; color: #fff !important; }
@media only screen and (max-width: 767px) { .links-section-heading { padding: 12px; } .links-card-bg { height: 115px; } }

/* Links category page modernization */
.links-category-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid var(--files-section-border);
  border-radius: 12px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}

.links-category-summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--files-meta-color);
  font-size: .84rem;
  font-weight: 700;
}

.links-category-summary i { color: var(--files-meta-icon-color); }

.links-sort-nav {
  gap: 6px;
}

.links-sort-nav .nav-link {
  border-radius: 999px;
  padding: 6px 12px;
  border: 1px solid var(--files-card-border);
  color: var(--files-title-color);
  background: var(--files-card-bg);
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.1;
}

.links-sort-nav .nav-link:hover {
  border-color: var(--files-card-hover-border);
  color: var(--files-meta-icon-color);
}

.links-sort-nav .nav-link.active {
  color: #fff !important;
  border-color: transparent;
  background: var(--files-button-bg) !important;
  box-shadow: var(--files-button-shadow);
}

.links-subcats-panel {
  overflow: hidden;
  border: 1px solid var(--files-card-border);
  border-radius: 13px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
}

.links-subcats-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 13px;
  color: var(--files-heading-color);
  border-bottom: 1px solid var(--files-card-border);
  background: var(--files-section-bg);
  font-weight: 800;
}

.links-subcats-title small {
  color: var(--files-meta-color);
  font-weight: 700;
}

.links-subcats-title i { color: var(--files-meta-icon-color); }

.links-subcats-list .list-group-item {
  background: transparent !important;
  color: var(--normaltext);
  border-color: var(--files-card-border);
  padding: 10px 13px;
}

.links-subcats-list .list-group-item:last-child { border-bottom: 0; }

.links-subcats-list a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--files-title-color);
  text-decoration: none;
  font-weight: 700;
}

.links-subcats-list a:hover { color: var(--files-meta-icon-color); }
.links-subcats-list a i { color: var(--files-meta-icon-color); }

.links-count-badge {
  color: #fff;
  background: var(--files-button-bg) !important;
  box-shadow: var(--files-button-shadow);
}

.links-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px 16px;
  border: 1px dashed var(--files-card-border);
  border-radius: 13px;
  color: var(--files-meta-color);
  background: var(--files-section-bg);
}

.links-empty-state i {
  color: var(--files-meta-icon-color);
  font-size: 1.45rem;
}

.links-empty-state strong {
  color: var(--files-heading-color);
  font-size: .98rem;
}

@media only screen and (max-width: 767px) {
  .links-category-toolbar { align-items: stretch; }
  .links-category-summary { width: 100%; }
  .links-sort-nav { width: 100%; }
  .links-sort-nav .nav-item { flex: 1 1 0; }
  .links-sort-nav .nav-link { text-align: center; }
}

/* Members directory modernization */
.members-main-panel {
  border: 1px solid var(--files-panel-border);
  border-radius: 14px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
}

.members-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 16px 0;
  padding: 13px 15px;
  border: 1px solid var(--files-section-border);
  border-radius: 13px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  position: relative;
  overflow: hidden;
}

.members-section-heading:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--files-section-accent);
}

.members-section-heading h4 {
  margin: 2px 0 0 0;
  font-size: 1.05rem;
  color: var(--files-heading-color);
  letter-spacing: .01em;
}

.members-section-kicker {
  display: block;
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.members-section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  flex: 0 0 auto;
}

.members-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid var(--files-section-border);
  border-radius: 12px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}

.members-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--files-meta-color);
  font-size: .84rem;
  font-weight: 700;
}

.members-summary i,
.members-meta-grid i { color: var(--files-meta-icon-color); }

.members-search-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  background: var(--files-card-bg);
  color: var(--files-title-color);
}

.members-search-form {
  padding: 12px;
  border: 1px solid var(--files-card-border);
  border-radius: 13px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
}

.members-search-form .form-control {
  border-radius: 10px;
}

.members-list {
  display: grid;
  gap: 10px;
}

.members-card {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 12px;
  border: 1px solid var(--files-card-border);
  border-radius: 13px;
  background: var(--files-card-bg);
  color: var(--normaltext);
  box-shadow: var(--files-card-shadow);
  position: relative;
  overflow: hidden;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.members-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--files-card-accent);
}

.members-card:hover {
  transform: translateY(-2px);
  border-color: var(--files-card-hover-border);
  box-shadow: var(--files-card-hover-shadow);
}

.members-avatar-link {
  display: block;
  flex: 0 0 auto;
}

.members-avatar {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  object-fit: cover;
  border: 1px solid var(--files-card-border);
  background: var(--files-thumb-bg);
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

.members-card-body {
  flex: 1 1 auto;
  min-width: 0;
}

.members-card-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.members-name {
  color: var(--files-title-color);
  text-decoration: none;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  word-break: break-word;
}

.members-name:hover { color: var(--files-meta-icon-color); }

.members-realname {
  margin-top: 2px;
  color: var(--files-meta-color);
  font-size: .78rem;
  font-weight: 600;
}

.members-id-badge {
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  background: var(--files-section-bg);
  color: var(--files-meta-color);
  font-size: .72rem;
  font-weight: 800;
}

.members-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  color: var(--files-meta-color);
  font-size: .78rem;
}

.members-meta-grid span {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.members-meta-grid i {
  width: 14px;
  text-align: center;
  flex: 0 0 auto;
}

.members-card-action {
  flex: 0 0 auto;
}

.members-profile-btn {
  border: 0 !important;
  border-radius: 9px;
  font-weight: 700;
  background: var(--files-button-bg) !important;
  box-shadow: var(--files-button-shadow);
  white-space: nowrap;
}

.members-profile-btn:hover,
.members-profile-btn:focus {
  background: var(--files-button-hover-bg) !important;
  color: #fff !important;
}

.members-empty-state {
  display: grid;
  gap: 5px;
  margin-top: 12px;
  padding: 24px 14px;
  border: 1px dashed var(--files-card-border);
  border-radius: 13px;
  background: var(--files-section-bg);
  color: var(--files-meta-color);
}

.members-empty-state i {
  color: var(--files-meta-icon-color);
  font-size: 1.5rem;
}

.members-empty-state strong { color: var(--files-title-color); }

@media only screen and (max-width: 991px) {
  .members-card { align-items: flex-start; }
  .members-meta-grid { grid-template-columns: 1fr; }
  .members-card-action { align-self: stretch; }
  .members-profile-btn { width: 100%; }
}

@media only screen and (max-width: 575px) {
  .members-section-heading { padding: 12px; }
  .members-card { display: grid; grid-template-columns: 50px 1fr; gap: 10px; }
  .members-avatar { width: 50px; height: 50px; border-radius: 14px; }
  .members-card-action { grid-column: 1 / -1; }
  .members-id-badge { display: none; }
}

/* Polls section modernization */
.polls-main-panel,
.poll-detail-panel {
  border: 1px solid var(--files-panel-border);
  border-radius: 14px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
}

.polls-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 16px 0;
  padding: 13px 15px;
  border: 1px solid var(--files-section-border);
  border-radius: 13px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  position: relative;
  overflow: hidden;
}

.polls-section-heading:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--files-section-accent);
}

.polls-section-heading h4 {
  margin: 2px 0 0 0;
  font-size: 1.05rem;
  color: var(--files-heading-color);
  letter-spacing: .01em;
}

.polls-section-kicker {
  display: block;
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.polls-section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  flex: 0 0 auto;
}

.polls-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  background: var(--files-section-bg);
}

.polls-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--files-meta-color);
  font-size: .84rem;
  font-weight: 700;
}

.polls-summary i,
.polls-card-meta i,
.poll-detail-byline i,
.poll-detail-total i { color: var(--files-meta-icon-color); }

.polls-filter-nav {
  justify-content: flex-end;
  gap: 6px;
}

.polls-filter-nav .nav-link {
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  color: var(--files-meta-color);
  font-size: .78rem;
  font-weight: 800;
  padding: 6px 10px;
}

.polls-filter-nav .nav-link.active,
.polls-filter-nav .nav-link:hover,
.polls-filter-nav .nav-link:focus {
  background: var(--files-button-bg) !important;
  border-color: transparent;
  color: #fff !important;
}

.polls-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border: 1px solid var(--files-card-border) !important;
  border-radius: 13px;
  background: var(--files-card-bg) !important;
  color: var(--normaltext);
  box-shadow: var(--files-card-shadow);
  padding: 14px;
  position: relative;
  overflow: hidden;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.polls-card:hover {
  transform: translateY(-2px);
  border-color: var(--files-card-hover-border) !important;
  box-shadow: var(--files-card-hover-shadow);
}

.polls-card:before,
.poll-detail-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--files-card-accent);
}

.polls-card-question {
  display: grid;
  gap: 6px;
  line-height: 1.35;
  font-weight: 800;
}

.polls-card-question a { color: var(--files-title-color); }
.polls-card-question a:hover { color: var(--linkhover); }

.polls-card-label {
  color: var(--files-kicker-color);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.polls-card-meta {
  display: grid;
  gap: 7px;
  color: var(--files-meta-color);
  font-size: .78rem;
}

.polls-card-meta span {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.polls-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 800;
  text-transform: capitalize;
}

.polls-status-open { color: var(--site-accent-mid); }
.polls-status-closed { color: #d9534f; }

.polls-card-btn {
  border: 0 !important;
  border-radius: 9px;
  font-weight: 700;
  background: var(--files-button-bg) !important;
  box-shadow: var(--files-button-shadow);
}

.polls-card-btn:hover,
.polls-card-btn:focus {
  background: var(--files-button-hover-bg) !important;
  color: #fff !important;
}

.polls-empty-state {
  display: grid;
  gap: 5px;
  margin-top: 14px;
  padding: 24px 14px;
  border: 1px dashed var(--files-card-border);
  border-radius: 13px;
  background: var(--files-section-bg);
  color: var(--files-meta-color);
}

.polls-empty-state i {
  color: var(--files-meta-icon-color);
  font-size: 1.5rem;
}

.polls-empty-state strong { color: var(--files-title-color); }

.poll-detail-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  padding: 14px;
}

.poll-detail-heading h4 {
  max-width: 820px;
  line-height: 1.3;
}

.poll-detail-byline,
.poll-detail-total {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 9px 10px;
  border: 1px solid var(--files-card-border);
  border-radius: 11px;
  background: var(--files-section-bg);
  color: var(--files-meta-color);
  font-size: .86rem;
  font-weight: 700;
}

.poll-detail-options,
.poll-detail-options form {
  display: grid;
  gap: 10px;
}

.poll-detail-options form { margin: 0; }

.pollholder .pollanswers {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid var(--files-card-border);
  border-radius: 11px;
  background: var(--files-section-bg);
  color: var(--files-title-color);
  cursor: pointer;
}

.pollholder .pollanswers:hover { border-color: var(--files-card-hover-border); }
.pollholder .pollanswers .form-check-input { margin: 0; flex: 0 0 auto; }

.poll-result-row {
  padding: 11px 12px;
  border: 1px solid var(--files-card-border);
  border-radius: 11px;
  background: var(--files-section-bg);
}

.pollholder .pollresults {
  padding: 0 0 7px 0;
  color: var(--files-title-color);
  font-weight: 800;
}

.poll-progress {
  height: 18px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--files-thumb-bg);
}

.poll-action-row,
.poll-voted-actions { justify-content: flex-start; }

@media only screen and (max-width: 991px) {
  .polls-toolbar { align-items: flex-start; flex-direction: column; }
  .polls-filter-nav { justify-content: flex-start; }
}

@media only screen and (max-width: 575px) {
  .polls-section-heading { padding: 12px; }
  .polls-filter-nav { width: 100%; }
  .polls-filter-nav .nav-item { flex: 1 1 auto; }
  .polls-filter-nav .nav-link { text-align: center; }
  .poll-detail-card { padding: 12px; }
}

/* Auth pages modernization */
.auth-page-shell {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--files-panel-border);
  border-radius: 16px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
}
.auth-page-shell:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-section-accent);
}
.auth-main-card {
  position: relative;
  padding: 18px;
}
.auth-page-signin .auth-main-card {
  max-width: 560px;
  margin: 0 auto;
}
.auth-card-header {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 16px;
  padding: 12px;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}
.auth-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 1px solid var(--files-section-icon-border);
  border-radius: 13px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  font-size: 1.05rem;
}
.auth-card-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
}
.auth-card-header h2 {
  margin: 0 0 5px;
  color: var(--files-heading-color);
  font-size: 1.55rem;
  line-height: 1.15;
}
.auth-card-header p {
  margin: 0;
  color: var(--files-desc-color);
  font-size: .94rem;
  line-height: 1.45;
}
.auth-form {
  display: grid;
  gap: 13px;
}
.auth-form-grid { row-gap: 3px; }
.auth-form .form-group,
.auth-form-group {
  margin-bottom: 0 !important;
}
.auth-form label,
.auth-form-group label {
  margin-bottom: 7px;
  color: var(--files-title-color);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.auth-form .form-control,
.auth-form .form-select,
.auth-form .custom-select {
  min-height: 42px;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  color: var(--normaltext);
  background: var(--files-detail-row-bg, var(--files-card-bg));
  box-shadow: inset 0 1px 0 var(--files-detail-row-inset, var(--files-section-inset));
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.auth-form textarea.form-control {
  min-height: 112px;
}
.auth-form .form-control:focus,
.auth-form .form-select:focus,
.auth-form .custom-select:focus {
  color: var(--normaltext);
  background: var(--files-card-bg);
  border-color: var(--files-card-hover-border);
  box-shadow: 0 0 0 .2rem var(--auth-focus-ring, rgba(var(--site-accent-rgb), .16));
}
.auth-form small {
  display: block;
  margin-top: 6px;
  color: var(--files-meta-color);
  font-size: .78rem;
}
.auth-input-group .btn {
  min-height: 42px;
  border-radius: 12px 0 0 12px;
  font-weight: 800;
}
.auth-input-group .form-control {
  border-radius: 0 12px 12px 0;
}
.auth-check-row,
.auth-agree-panel,
.auth-link-panel,
.auth-notice {
  border: 1px solid var(--files-detail-row-border, var(--files-card-border));
  border-radius: 13px;
  color: var(--files-desc-color);
  background: var(--files-detail-row-bg, var(--files-card-bg));
  box-shadow: inset 0 1px 0 var(--files-detail-row-inset, var(--files-section-inset));
}
.auth-check-row {
  padding: 11px 13px;
  text-align: center;
}
.auth-agree-panel {
  padding: 12px 14px;
  line-height: 1.45;
}
.auth-agree-panel .custom-control-input {
  margin-right: 8px;
}
.auth-notice {
  margin: 0 0 15px;
  padding: 12px 14px;
  font-size: .9rem;
}
.auth-alert {
  margin: 0 0 15px !important;
  border-radius: 13px;
}
.auth-alert ul {
  margin-bottom: 0;
  padding-left: 1.15rem;
}
.auth-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: var(--files-button-shadow);
}
.auth-register-submit {
  width: auto;
  min-width: 170px;
  padding-left: 24px;
  padding-right: 24px;
}
.auth-link-panel {
  display: grid;
  gap: 6px;
  margin-top: 15px;
  padding: 12px 14px;
  text-align: center;
  font-size: .92rem;
}
.auth-link-panel a,
.auth-agree-panel a {
  color: var(--files-title-color);
  font-weight: 800;
  text-decoration: none;
}
.auth-link-panel a:hover,
.auth-agree-panel a:hover {
  color: var(--normalhover);
  text-decoration: none;
}
@media (max-width: 575.98px) {
  .auth-main-card { padding: 14px; }
  .auth-card-header { padding: 11px; }
  .auth-card-header h2 { font-size: 1.32rem; }
  .auth-register-submit { width: 100%; }
}

/* Utility/auth-adjacent public pages */
.utility-page-shell .auth-main-card {
  padding: 18px;
}
.utility-content-card {
  padding: 16px;
  border: 1px solid var(--files-detail-row-border, var(--files-card-border));
  border-radius: 14px;
  color: var(--normaltext);
  background: var(--files-detail-row-bg, var(--files-card-bg));
  box-shadow: inset 0 1px 0 var(--files-detail-row-inset, var(--files-section-inset));
  line-height: 1.7;
}
.utility-content-card p:last-child {
  margin-bottom: 0;
}
.utility-page-shell .envelope-graphic {
  min-height: 260px;
  border: 1px solid var(--files-detail-row-border, var(--files-card-border));
  border-radius: 16px;
  background: var(--files-detail-row-bg, var(--files-card-bg));
  box-shadow: inset 0 1px 0 var(--files-detail-row-inset, var(--files-section-inset));
}
.utility-page-shell .envelope-graphic i {
  font-size: clamp(7rem, 12vw, 13rem);
  opacity: .22;
}
@media (max-width: 575.98px) {
  .utility-page-shell .auth-main-card,
  .utility-content-card { padding: 14px; }
}

/* Archive and category index modernization */
.archive-page-heading {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 13px 15px;
  border: 1px solid var(--files-section-border);
  border-radius: 13px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  position: relative;
  overflow: hidden;
}
.archive-page-heading:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: var(--files-section-accent);
}
.archive-page-heading h2,
.archive-page-heading h4 {
  margin: 0;
  color: var(--files-heading-color);
  font-size: 1.08rem;
  letter-spacing: .01em;
}
.archive-page-kicker {
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.archive-index-panel {
  border: 1px solid var(--files-panel-border);
  border-radius: 14px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
}
.archive-card-grid { align-items: stretch; }
.archive-index-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 96px;
  padding: 14px;
  border: 1px solid var(--files-card-border);
  border-radius: 13px;
  background: var(--files-card-bg);
  color: var(--normaltext);
  text-decoration: none;
  box-shadow: var(--files-card-shadow);
  position: relative;
  overflow: hidden;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.archive-index-card:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-card-accent);
}
.archive-index-card:hover {
  transform: translateY(-2px);
  border-color: var(--files-card-hover-border);
  box-shadow: var(--files-card-hover-shadow);
  color: var(--normaltext);
}
.archive-index-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  flex: 0 0 auto;
}
.archive-index-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}
.archive-index-body strong {
  color: var(--files-title-color);
  font-size: .98rem;
  line-height: 1.25;
}
.archive-index-body small {
  color: var(--files-desc-color);
  line-height: 1.45;
}
.archive-index-arrow,
.archive-index-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 9px;
  border-radius: 999px;
  color: var(--files-meta-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  font-size: .78rem;
  font-weight: 700;
  flex: 0 0 auto;
}
.archive-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 150px;
  padding: 24px;
  border: 1px dashed var(--files-card-border);
  border-radius: 13px;
  background: var(--files-card-bg);
  color: var(--files-desc-color);
  text-align: center;
}
.archive-empty-state i {
  color: var(--files-meta-icon-color);
  font-size: 1.5rem;
}
.archive-empty-state strong { color: var(--files-title-color); }
@media only screen and (max-width: 767px) {
  .archive-index-card { align-items: flex-start; }
  .archive-index-arrow,
  .archive-index-count { align-self: center; }
}

/* Projects + privacy page modernization */
.privacy-policy-content {
  max-width: none;
  width: 100%;
}

.project-single-info-card {
  margin-bottom: 16px;
}

.privacy-policy-content h1,
.privacy-policy-content h2,
.privacy-policy-content h3,
.privacy-policy-content h4 {
  color: var(--files-heading-color);
}

.project-gallery-card { margin-top: 16px; }

.project-gallery-thumb {
  position: relative;
  display: block;
  min-height: 112px;
  overflow: hidden;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  background-color: var(--files-thumb-bg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.project-gallery-thumb:hover {
  transform: translateY(-1px);
  border-color: var(--files-card-hover-border);
  box-shadow: var(--files-card-hover-shadow);
}

.project-gallery-thumb span {
  position: absolute;
  right: 7px;
  bottom: 7px;
  left: 7px;
  padding: 5px 7px;
  border-radius: 9px;
  color: #fff;
  background: rgba(0, 0, 0, .58);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.2;
}

.project-action-module {
  gap: 10px;
  margin-bottom: 14px;
}

.project-repo-btn {
  color: #fff !important;
  background: linear-gradient(135deg, #24292f, #111827) !important;
}

@media only screen and (max-width: 575px) {
  .project-gallery-thumb { min-height: 96px; }
}

/* Contact page auth-card alignment */
.auth-page-contact .contact-container {
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: none;
}
.auth-page-contact textarea.form-control {
  min-height: 132px;
}

/* FAQ public pages modernization */
.faq-main-panel {
  overflow: hidden;
}

.faq-section-heading {
  align-items: flex-start;
}

.faq-section-intro {
  max-width: 720px;
  margin-top: 6px;
  color: var(--files-desc-color);
  font-size: .9rem;
  line-height: 1.55;
}

.faq-category-card {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 14px;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.faq-category-card:hover {
  transform: translateY(-2px);
  border-color: var(--files-card-hover-border);
  box-shadow: var(--files-card-hover-shadow);
}

.faq-category-card:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-card-accent);
}

.faq-category-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--files-section-border);
}

.faq-card-kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--files-kicker-color);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
}

.faq-category-card h4 {
  margin: 0;
  color: var(--files-heading-color);
  font-size: 1rem;
  line-height: 1.25;
}

.faq-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 28px;
  padding: 0 9px;
  border: 1px solid var(--files-section-icon-border);
  border-radius: 999px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  font-size: .78rem;
  font-weight: 800;
  flex: 0 0 auto;
}

.faq-question-list {
  display: grid;
  gap: 8px;
}

.faq-question-list.list-group-flush > .list-group-item {
  border: 1px solid var(--files-card-border);
  border-radius: 11px;
  background: var(--files-detail-row-bg, var(--files-section-bg));
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  padding: 0;
}

.faq-question-list .list-group-item a {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px 11px;
  color: var(--files-title-color);
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition: color .16s ease, background .16s ease;
}

.faq-question-list .list-group-item a i {
  margin-top: 2px;
  color: var(--files-meta-icon-color);
  flex: 0 0 auto;
}

.faq-question-list .list-group-item:hover {
  border-color: var(--files-card-hover-border);
  background: var(--files-sidebar-row-hover-bg, var(--files-card-bg));
}

.faq-question-list .list-group-item a:hover {
  color: var(--files-kicker-color);
}

.faq-empty-state {
  display: grid;
  justify-items: center;
  gap: 7px;
  padding: 28px 18px;
  border: 1px dashed var(--files-card-border);
  border-radius: 14px;
  background: var(--files-section-bg);
  color: var(--files-meta-color);
  text-align: center;
}

.faq-empty-state i {
  color: var(--files-section-icon-color);
  font-size: 1.5rem;
}

.faq-empty-state strong {
  color: var(--files-title-color);
  font-size: 1.05rem;
}

.faq-single-modern .file-single-hero {
  align-items: flex-start;
}

.faq-answer-card {
  margin-top: 14px;
}

.faq-answer-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.faq-answer-content {
  max-width: none;
}

.faq-answer-content p:last-child {
  margin-bottom: 0;
}

.faq-answer-content img {
  height: auto;
  max-width: 100%;
  border-radius: 12px;
}

@media only screen and (max-width: 767px) {
  .faq-section-heading {
    flex-direction: row;
  }

  .faq-category-card {
    padding: 13px;
  }
}

/* Snippets modernization - aligned with Files section */
.snippets-main-panel {
  position: relative;
  overflow: hidden;
}

.files-section-subline {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 6px;
  color: var(--files-meta-color);
  font-size: .82rem;
  font-weight: 700;
}

.files-section-subline i { color: var(--files-meta-icon-color); }

.snippet-list-card {
  position: relative;
  overflow: hidden;
  padding: 15px;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.snippet-list-card:before,
.snippet-category-card:before,
.snippet-code-card:before {
  content: "";
  display: block;
  height: 3px;
  margin: -15px -15px 14px;
  background: var(--files-card-accent);
}

.snippet-list-card:hover {
  transform: translateY(-2px);
  border-color: var(--files-card-hover-border);
  box-shadow: var(--files-card-hover-shadow);
}

.snippet-list-top {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.snippet-list-avatar img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 13px;
  border: 1px solid var(--files-card-border);
}

.snippet-list-title {
  margin: 0;
  font-size: 1.22rem;
  line-height: 1.2;
}

.snippet-list-title a,
.snippet-list-meta a {
  color: var(--files-title-color);
  text-decoration: none;
}

.snippet-list-title a:hover,
.snippet-list-meta a:hover { color: var(--files-kicker-color); }

.snippet-list-desc {
  margin: 13px 0 12px;
  color: var(--files-desc-color);
  font-size: .92rem;
  line-height: 1.65;
}

.snippet-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 13px;
}

.snippet-keywords .keywords-tag {
  color: var(--files-heading-color);
  font-weight: 800;
}

.snippet-keywords .keyword a {
  display: inline-flex;
  align-items: center;
  padding: 5px 8px;
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  background: var(--files-detail-row-bg, var(--files-card-bg));
  color: var(--files-meta-color);
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
}

.snippet-keywords .keyword a:hover {
  color: var(--files-title-color);
  border-color: var(--files-card-hover-border);
}

.snippet-list-btn { min-width: 128px; }

.snippet-empty-state {
  border: 1px solid var(--files-card-border);
  border-radius: 13px;
  background: var(--files-card-bg);
  color: var(--files-desc-color);
}

.snippet-category-card {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 15px;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  color: var(--files-desc-color);
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.snippet-category-card:hover {
  transform: translateY(-2px);
  border-color: var(--files-card-hover-border);
  box-shadow: var(--files-card-hover-shadow);
  color: var(--files-desc-color);
}

.snippet-category-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 10px;
  border: 1px solid var(--files-section-icon-border);
  border-radius: 12px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
}

.snippet-category-count {
  position: absolute;
  top: 13px;
  right: 13px;
  min-width: 34px;
  padding: 4px 8px;
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  background: var(--files-detail-row-bg, var(--files-card-bg));
  color: var(--files-kicker-color);
  font-size: .78rem;
  font-weight: 800;
  text-align: center;
}

.snippet-category-card h4 {
  margin: 0 0 8px;
  color: var(--files-heading-color);
  font-size: 1.05rem;
  font-weight: 800;
}

.snippet-category-card p {
  margin: 0;
  color: var(--files-desc-color);
  font-size: .9rem;
  line-height: 1.55;
}

.snippet-single-modern .file-single-content-card { margin-bottom: 0; }

.snippet-code-card pre {
  margin-bottom: 0;
  border-radius: 12px;
  border: 1px solid var(--files-card-border);
  background: var(--files-detail-row-bg, var(--files-card-bg));
}

.snippet-code-card .copy-btn {
  border-radius: 999px;
  font-weight: 800;
}

.snippet-like-card {
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid var(--files-card-border);
  border-radius: 13px !important;
  background: var(--files-detail-row-bg, var(--files-card-bg));
}

.snippet-like-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--files-title-color);
  font-weight: 900;
  text-decoration: none;
}

.snippet-like-card a:hover { color: var(--files-kicker-color); }

@media only screen and (max-width: 575px) {
  .snippet-list-card { padding: 13px; }
  .snippet-list-card:before { margin: -13px -13px 12px; }
  .snippet-list-btn { width: 100%; }
}

/* Forum index modernization */
.forum-modern-shell {
  border: 1px solid var(--files-panel-border);
  border-radius: 14px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
}

.forum-modern {
  background: transparent;
  color: var(--files-desc-color);
}

.forum-hero,
.forum-category-card .accordion-item,
.forum-stats-panel {
  border: 1px solid var(--files-section-border) !important;
  border-radius: 14px !important;
  background: var(--files-section-bg) !important;
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  overflow: hidden;
  position: relative;
}

.forum-hero:before,
.forum-category-card .accordion-item:before,
.forum-stats-panel:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--files-section-accent);
  z-index: 2;
}

.forum-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
}

.forum-section-kicker,
.forum-category-label {
  display: block;
  color: var(--files-kicker-color);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.forum-hero h2,
.forum-stats-heading h3 {
  margin: 2px 0 0 0;
  color: var(--files-heading-color);
  font-size: 1.35rem;
  line-height: 1.2;
}

.forum-hero p {
  margin: 7px 0 0 0;
  color: var(--files-desc-color);
  font-size: .95rem;
}

.forum-hero-stats {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
}

.forum-stat-tile {
  min-width: 86px;
  padding: 10px 12px;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  text-align: center;
}

.forum-stat-tile span {
  display: block;
  color: var(--files-title-color);
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.1;
}

.forum-stat-tile small {
  color: var(--files-meta-color);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.forum-modern .accordion-button {
  padding: 14px 16px;
  background: transparent !important;
  color: var(--files-title-color) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.forum-modern .accordion-button:not(.collapsed) {
  background: transparent !important;
  color: var(--files-title-color) !important;
}

.forum-modern .accordion-button::after { filter: var(--invertaccordion); }

.forum-category-title-wrap,
.forum-stats-heading {
  display: flex;
  align-items: center;
  gap: 10px;
}

.forum-category-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  flex: 0 0 auto;
}

.forum-category-title {
  display: block;
  color: var(--files-heading-color);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
}

.forum-list {
  display: grid;
  gap: 10px;
  padding: 0 14px 14px;
}

.forum-list-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 190px 300px;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--files-card-border);
  border-radius: 13px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  position: relative;
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.forum-list-row:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--files-card-accent);
}

.forum-list-row:hover {
  border-color: var(--files-card-hover-border);
  box-shadow: var(--files-card-hover-shadow);
  transform: translateY(-1px);
}

.forum-list-row .forum-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  font-size: 1.15rem;
}

.forum-list-row.is-unseen .forum-icon {
  color: var(--files-title-color);
  box-shadow: 0 0 0 3px var(--files-section-icon-bg);
}

.forum-info h3 {
  margin: 0 0 5px 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.forum-info h3 a,
.forum-last-title {
  color: var(--files-title-color) !important;
  text-decoration: none;
  font-weight: 800;
}

.forum-info h3 a:hover,
.forum-last-title:hover,
.forum-mobile-last a:hover {
  color: var(--files-kicker-color) !important;
}

.forum-modern .forum_desc {
  color: var(--files-desc-color) !important;
  font-size: .9rem !important;
  line-height: 1.45;
}

.forum-modern .forum_desc a,
.forum-mobile-last a {
  color: var(--files-kicker-color) !important;
  font-weight: 700;
  text-decoration: none;
}

.forum-cat-stats {
  gap: 8px;
  justify-content: center;
}

.forum-count-pill {
  min-width: 78px;
  padding: 8px 9px;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  background: var(--files-section-bg);
  text-align: center;
}

.forum-count-pill strong {
  display: block;
  color: var(--files-title-color);
  font-size: .98rem;
  line-height: 1.1;
}

.forum-count-pill span {
  display: block;
  color: var(--files-meta-color);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.forum-last-post {
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.forum-last-avatar img {
  width: 42px;
  height: 42px;
  object-fit: cover;
  border: 1px solid var(--files-card-border);
  background: var(--files-thumb-bg);
}

.forum-last-details {
  min-width: 0;
  color: var(--files-meta-color);
  font-size: .78rem;
  line-height: 1.35;
}

.forum-last-label {
  display: block;
  color: var(--files-kicker-color);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.forum-last-title {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forum-last-empty,
.forum-empty-state,
.forum-mobile-last {
  color: var(--files-meta-color);
  font-size: .82rem;
}

.forum-mobile-last {
  margin-top: 8px;
}

.forum-mobile-last i { color: var(--files-meta-icon-color); }

.forum-empty-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px dashed var(--files-card-border);
  border-radius: 12px;
  background: var(--files-card-bg);
}

.forum-stats-panel { padding: 15px; }

.forum-stats-heading { margin-bottom: 12px; }

.forum-modern .board-stats {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.forum-modern .board-stats .stat-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 11px 12px;
  border: 1px solid var(--files-card-border);
  border-radius: 12px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  min-width: 0;
}

.forum-modern .board-stats .stat-item strong {
  color: var(--files-meta-color) !important;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.forum-modern .board-stats .stat-item span {
  color: var(--files-title-color);
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

@media (max-width: 1199px) {
  .forum-list-row { grid-template-columns: 48px minmax(0, 1fr) 170px 250px; }
}

@media (max-width: 991px) {
  .forum-hero { align-items: stretch; flex-direction: column; }
  .forum-hero-stats { width: 100%; }
  .forum-stat-tile { flex: 1 1 0; }
  .forum-list-row { grid-template-columns: 48px minmax(0, 1fr); }
  .forum-modern .board-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
  .forum-modern-shell { padding: .85rem !important; }
  .forum-hero { padding: 14px; }
  .forum-hero-stats { flex-wrap: wrap; }
  .forum-stat-tile { min-width: calc(50% - 5px); }
  .forum-list { padding: 0 10px 10px; }
  .forum-list-row { grid-template-columns: 1fr; gap: 10px; }
  .forum-list-row .forum-icon { width: 38px; height: 38px; border-radius: 12px; }
  .forum-modern .board-stats { grid-template-columns: 1fr; }
}

/* Forum thread listing modernization */
.forum-thread-modern .forum-thread-hero {
  margin-bottom: 14px;
}

.forum-thread-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.forum-new-topic-btn {
  border-radius: 999px !important;
  padding: 8px 13px !important;
  font-weight: 800 !important;
  box-shadow: var(--files-card-shadow);
  white-space: nowrap;
}

.forum-thread-list {
  display: grid;
  gap: 10px;
}

.forum-thread-row {
  grid-template-columns: 48px minmax(0, 1fr) 180px 270px;
}

.forum-thread-row.is-sticky:before {
  background: linear-gradient(90deg, rgba(245, 158, 11, .95), var(--files-card-accent));
}

.forum-thread-row.is-locked:before {
  background: linear-gradient(90deg, rgba(239, 68, 68, .9), var(--files-card-accent));
}

.forum-thread-icon {
  align-self: center;
}

.forum-thread-row.is-sticky .forum-thread-icon,
.forum-thread-row.is-locked .forum-thread-icon {
  color: var(--files-title-color);
}

.forum-thread-info {
  min-width: 0;
}

.forum-thread-info h3 {
  margin-top: 3px;
}

.forum-thread-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 0;
}

.forum-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid var(--files-card-border);
  background: var(--files-section-bg);
  color: var(--files-meta-color);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.forum-status-sticky { color: #b45309; }
.forum-status-locked { color: #dc2626; }

.forum-dot {
  display: inline-block;
  margin: 0 5px;
  color: var(--files-meta-color);
}

.forum-thread-stats {
  align-items: center;
}

.forum-pagination-wrap {
  display: flex;
  justify-content: center;
}

.forum-thread-empty {
  min-height: 92px;
}

@media (max-width: 1199px) {
  .forum-thread-row { grid-template-columns: 48px minmax(0, 1fr) 165px 235px; }
}

@media (max-width: 991px) {
  .forum-thread-actions {
    width: 100%;
    justify-content: space-between;
  }
  .forum-thread-row { grid-template-columns: 48px minmax(0, 1fr); }
}

@media (max-width: 575px) {
  .forum-thread-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .forum-new-topic-btn {
    width: 100%;
    text-align: center;
  }
  .forum-thread-row { grid-template-columns: 1fr; }
  .forum-thread-row .forum-thread-icon { display: none; }
  .forum-dot { display: none; }
}

/* Forum post view modernization */
.forum-post-modern-shell {
  border: 1px solid var(--files-card-border);
  border-radius: 18px;
  background: var(--files-section-bg);
  box-shadow: var(--files-card-shadow);
}

.forum-post-modern {
  background: transparent !important;
}

.forum-post-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  margin-bottom: 14px;
  border: 1px solid var(--files-card-border);
  border-radius: 16px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  position: relative;
  overflow: hidden;
}

.forum-post-hero:before,
.forum-post-card:before,
.forum-reply-panel:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--files-card-accent);
}

.forum-post-hero-main {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.forum-post-avatar-wrap {
  flex: 0 0 auto;
}

.forum-post-hero-avatar {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border: 1px solid var(--files-card-border);
  background: var(--files-thumb-bg);
}

.forum-post-title-block {
  min-width: 0;
}

.forum-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 5px;
  color: var(--files-kicker-color);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.forum-post-title-block h1 {
  margin: 0;
  color: var(--files-title-color);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 900;
  line-height: 1.15;
}

.forum-post-meta,
.forum-post-meta a,
.forum-posted-by,
.forum-posted-by a {
  color: var(--files-meta-color) !important;
  font-size: .86rem;
  text-decoration: none;
}

.forum-post-meta a,
.forum-posted-by a {
  color: var(--files-kicker-color) !important;
  font-weight: 800;
}

.forum-post-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.forum-post-hero-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.forum-thread-top-btn {
  border-radius: 999px !important;
  font-weight: 800 !important;
  white-space: nowrap;
}

.forum-moderator-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  margin-bottom: 12px;
  border: 1px solid var(--files-card-border);
  border-radius: 14px;
  background: var(--files-card-bg);
}

.forum-follow-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--files-kicker-color) !important;
  font-weight: 800;
  font-size: .84rem;
  text-decoration: none;
}

.forum-follow-link:hover {
  color: var(--files-title-color) !important;
}

.forum-post-countbar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin-bottom: 12px !important;
  border: 1px solid var(--files-card-border);
  border-radius: 14px !important;
  background: var(--files-card-bg) !important;
  color: var(--files-title-color);
  font-weight: 900;
}

.forum-post-card {
  margin-bottom: 16px;
  border: 1px solid var(--files-card-border);
  border-radius: 16px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  position: relative;
  overflow: hidden;
}

.forum-post-card.is-first-post:before {
  background: linear-gradient(90deg, var(--files-card-accent), rgba(245, 158, 11, .85));
}

.forum-post-card.border-warning {
  border-color: rgba(245, 158, 11, .75) !important;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, .13), var(--files-card-shadow);
}

.forum-post-card-header,
.forum-post-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  background: var(--files-section-bg);
}

.forum-post-card-header {
  border-bottom: 1px solid var(--files-card-border);
}

.forum-post-card-footer {
  border-top: 1px solid var(--files-card-border);
}

.forum-post-card-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.forum-post-number {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  background: var(--files-card-bg);
  color: var(--files-title-color);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.forum-post-permalink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--files-meta-color) !important;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.forum-post-permalink:hover {
  color: var(--files-kicker-color) !important;
}

.forum-post-card-body {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 0;
}

.forum-post-author {
  padding: 18px 14px;
  border-right: 1px solid var(--files-card-border);
  background: var(--files-section-bg);
  text-align: center;
}

.forum-post-author-avatar {
  width: 88px;
  height: 88px;
  object-fit: cover;
  border: 1px solid var(--files-card-border);
  background: var(--files-thumb-bg);
}

.forum-post-author-name {
  display: block;
  margin-top: 10px;
  color: var(--files-title-color) !important;
  font-weight: 900;
  text-decoration: none;
}

.forum-post-author-name:hover {
  color: var(--files-kicker-color) !important;
}

.forum-post-author-level {
  display: inline-flex;
  justify-content: center;
  margin-top: 7px;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--files-card-bg);
  border: 1px solid var(--files-card-border);
  font-size: .72rem;
  font-weight: 800;
}

.forum-post-author-stats {
  display: grid;
  gap: 7px;
  margin-top: 13px;
  text-align: left;
}

.forum-post-author-stats div {
  padding: 8px 9px;
  border: 1px solid var(--files-card-border);
  border-radius: 10px;
  background: var(--files-card-bg);
}

.forum-post-author-stats span {
  display: block;
  color: var(--files-meta-color);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.forum-post-author-stats strong {
  display: block;
  color: var(--files-title-color);
  font-size: .82rem;
  line-height: 1.2;
}

.forum-post-content-wrap {
  min-width: 0;
  padding: 18px;
}

.forum-post-content {
  color: var(--normaltext);
  font-size: 1rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.forum-post-content img {
  border-radius: 12px;
  max-height: 720px;
  object-fit: contain;
}

.forum-post-content blockquote {
  margin: 12px 0;
  padding: 12px 14px;
  border-left: 3px solid var(--files-card-accent);
  border-radius: 10px;
  background: var(--files-section-bg);
  color: var(--files-meta-color);
}

.forum-post-footer-actions,
.forum-post-footer-left {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.forum-post-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  background: var(--files-card-bg);
  color: var(--files-kicker-color) !important;
  font-size: .78rem;
  font-weight: 900;
  text-decoration: none;
}

.forum-post-action:hover {
  color: var(--files-title-color) !important;
  border-color: var(--files-card-hover-border);
}

.forum-post-action-danger {
  color: #dc2626 !important;
}

.forum-reply-panel {
  padding: 16px;
  border: 1px solid var(--files-card-border);
  border-radius: 16px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  position: relative;
  overflow: hidden;
}

.forum-reply-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--files-title-color);
}

.forum-reply-heading i {
  color: var(--files-kicker-color);
}

.forum-reply-heading h4 {
  margin: 0;
  font-weight: 900;
}

.forum-reply-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.forum-reply-actions .btn {
  border-radius: 999px;
  font-weight: 800;
}

@media (max-width: 991px) {
  .forum-post-hero,
  .forum-moderator-bar,
  .forum-post-card-header,
  .forum-post-card-footer {
    align-items: stretch;
    flex-direction: column;
  }
  .forum-post-hero-actions,
  .forum-post-footer-actions,
  .forum-post-footer-left {
    width: 100%;
  }
  .forum-thread-top-btn,
  .forum-post-action {
    justify-content: center;
  }
  .forum-post-card-body {
    grid-template-columns: 1fr;
  }
  .forum-post-author {
    border-right: 0;
    border-bottom: 1px solid var(--files-card-border);
  }
  .forum-post-author-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .forum-post-modern-shell { padding: .85rem !important; }
  .forum-post-hero-main {
    flex-direction: column;
  }
  .forum-post-hero-actions,
  .forum-reply-actions {
    flex-direction: column;
  }
  .forum-post-hero-actions .btn,
  .forum-reply-actions .btn {
    width: 100%;
  }
  .forum-post-author-stats {
    grid-template-columns: 1fr;
  }
  .forum-post-content-wrap {
    padding: 14px;
  }
}

/* Forum create/edit form modernization */
.forum-form-modern-shell {
  border: 1px solid var(--files-panel-border);
  border-radius: 18px;
  background: var(--files-panel-bg);
  box-shadow: var(--files-panel-shadow);
  color: var(--files-desc-color);
}

.forum-form-hero,
.forum-form-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--files-section-border) !important;
  border-radius: 15px !important;
  background: var(--files-section-bg) !important;
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}

.forum-form-hero:before,
.forum-form-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--files-section-accent);
  z-index: 2;
}

.forum-form-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
}

.forum-form-hero h2 {
  margin: 2px 0 0;
  color: var(--files-heading-color);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.2;
}

.forum-form-hero p {
  margin: 7px 0 0;
  color: var(--files-desc-color);
  font-size: .95rem;
}

.forum-form-hero p strong { color: var(--files-title-color); }

.forum-form-back,
.forum-submit-btn {
  border-radius: 999px !important;
  font-weight: 800 !important;
  white-space: nowrap;
}

.forum-form-card { padding: 18px; }

.forum-modern-form {
  display: grid;
  gap: 16px;
}

.forum-form-section {
  padding: 14px;
  border: 1px solid var(--files-card-border);
  border-radius: 13px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
}

.forum-modern-form .form-label,
.forum-modern-form .ecms-editor-label {
  color: var(--files-title-color) !important;
  font-weight: 900 !important;
}

.forum-modern-form .form-control {
  border-color: var(--files-card-border) !important;
  border-radius: 12px !important;
  background: var(--files-detail-row-bg, var(--files-card-bg)) !important;
  color: var(--normaltext) !important;
  box-shadow: none !important;
}

.forum-modern-form .form-control:focus {
  border-color: var(--files-card-hover-border) !important;
  box-shadow: 0 0 0 .2rem rgba(77, 149, 199, .14) !important;
}

.forum-form-options {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.forum-option-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 !important;
  padding: 14px 14px 14px 38px;
  border: 1px solid var(--files-card-border);
  border-radius: 13px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
}

.forum-option-check .form-check-input {
  margin-left: -24px;
  margin-top: 3px;
}

.forum-option-check .form-check-label {
  display: grid;
  gap: 3px;
  color: var(--files-desc-color);
  line-height: 1.35;
}

.forum-option-check strong {
  color: var(--files-title-color);
  font-size: .92rem;
}

.forum-option-check span {
  color: var(--files-meta-color);
  font-size: .82rem;
}

.forum-form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 2px;
}

.forum-form-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.forum-form-empty {
  border-radius: 13px !important;
  font-weight: 800;
}

.forum-modern-form .ecms-editor-shell,
.forum-modern-form .note-editor {
  border-radius: 13px !important;
}

@media (max-width: 767px) {
  .forum-form-hero,
  .forum-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .forum-form-back,
  .forum-form-actions .btn {
    width: 100%;
  }

  .forum-form-options {
    grid-template-columns: 1fr;
  }
}

/* Forum quote reply insert */
.forum-quote-reply,
.ecms-editor-shell .note-editable blockquote.forum-quote-reply {
  margin: 12px 0 16px;
  padding: 12px 14px;
  border-left: 3px solid var(--files-card-accent);
  border-radius: 10px;
  background: var(--files-section-bg);
  color: var(--files-meta-color);
}

.forum-quote-reply strong,
.ecms-editor-shell .note-editable blockquote.forum-quote-reply strong {
  color: var(--files-title-color);
  font-style: normal;
}

/* Forum unread/new thread indicators */
.forum-thread-row.is-unread:not(.is-sticky):not(.is-locked):before {
  background: linear-gradient(90deg, rgba(var(--site-accent-bright-rgb), .95), var(--files-card-accent));
}

.forum-thread-row.is-unread .forum-thread-icon {
  color: var(--site-accent-mid);
}

.forum-status-new {
  color: var(--site-accent-dark);
  border-color: rgba(var(--site-accent-bright-rgb), .35);
  background: rgba(var(--site-accent-bright-rgb), .10);
}

.forum-status-new i {
  font-size: .45rem;
}

/* Modern Profile Page Refresh */
.profile-modern-shell {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--normalline);
  border-radius: 22px;
  background: var(--blog-post-bg);
  box-shadow: 0 18px 45px rgba(0,0,0,.16);
}
.profile-modern-shell:before {
  content: "";
  display: block;
  height: 4px;
  margin: -1rem -1rem 1rem;
  background: linear-gradient(90deg, var(--accent), color-mix(in oklab, var(--accent) 35%, transparent));
}
.profile-modern-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: .25rem .15rem 0;
}
.profile-modern-heading h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.6vw, 2.15rem);
  font-weight: 850;
  letter-spacing: -.03em;
  color: var(--normaltext);
}
.profile-modern-kicker,
.profile-title-kicker {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-bottom: .25rem;
  color: var(--accent);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.profile-modern-status {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  flex: 0 0 auto;
  border: 1px solid var(--normalline);
  border-radius: 999px;
  background: color-mix(in oklab, var(--altbg) 88%, transparent);
  color: var(--normaltext);
  padding: .5rem .75rem;
  font-size: .82rem;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.profile-modern-status:before {
  content: "";
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 16%, transparent);
}
.profile-modern-status.is-inactive:before {
  background: #9aa0a6;
  box-shadow: 0 0 0 4px rgba(154,160,166,.18);
}
.profile-modern-content .profile-header {
  border: 1px solid var(--normalline);
  border-radius: 20px;
  overflow: visible;
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
  background: var(--altbg);
}
.profile-modern-content .profile-cover-img {
  border-radius: 20px;
}
.profile-modern-content .profile-cover-shade {
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.46) 100%);
  pointer-events: none;
}
.profile-modern-content .profile-picture-wrapper {
  left: 26px;
  bottom: -58px;
  width: 154px;
  height: 154px;
  border: 5px solid var(--profile-picture-border);
  box-shadow: 0 18px 36px rgba(0,0,0,.28);
}
.profile-modern-content .profile-picture-wrapper:after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
  pointer-events: none;
}
.profile-modern-content .profile-title {
  display: grid;
  gap: .1rem;
  align-items: start;
}
.profile-modern-content .profile-name {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 900;
  letter-spacing: -.035em;
}
.profile-modern-content .username-hint {
  color: var(--text-muted);
  font-weight: 700;
}
.profile-modern-content .stat-chips {
  gap: .55rem;
}
.profile-modern-content .stat-chip {
  border: 1px solid var(--normalline);
  background: color-mix(in oklab, var(--altbg) 82%, transparent);
  color: var(--normaltext);
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  font-weight: 700;
  padding: .48rem .7rem;
}
.profile-modern-content .stat-chip .dot {
  background: var(--accent);
  opacity: 1;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--accent) 16%, transparent);
}
.profile-modern-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--normalline) !important;
  border-radius: 18px !important;
  background: var(--profile-card-bg) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.11) !important;
}
.profile-modern-card:before {
  content: "";
  display: block;
  height: 3px;
  margin: -1px -1px .85rem;
  background: linear-gradient(90deg, var(--accent), transparent 78%);
}
.profile-modern-card .card-body {
  padding-top: 0;
}
.profile-modern-card .card-title {
  color: var(--normaltext);
  font-weight: 850;
  letter-spacing: -.015em;
}
.profile-modern-card .card-title i {
  color: var(--accent);
}
.profile-modern-content .profile-tabs {
  border-bottom: 0;
  gap: .45rem !important;
  margin-bottom: .85rem !important;
}
.profile-modern-content .profile-tabs .nav-link {
  border: 1px solid var(--normalline);
  border-radius: 999px;
  margin: 0;
  background: color-mix(in oklab, var(--altbg) 78%, transparent);
  color: var(--normaltext);
  font-weight: 800;
  padding: .45rem .8rem;
}
.profile-modern-content .profile-tabs .nav-link:hover,
.profile-modern-content .profile-tabs .nav-link.active {
  border-color: color-mix(in oklab, var(--accent) 70%, var(--normalline));
  background: var(--altbg);
  color: var(--normaltext);
}
.profile-modern-content .tab-content {
  border: 1px solid var(--normalline);
  border-radius: 16px;
  background: var(--profile-tab-content-bg);
}
.profile-modern-content #tab-empty-msg {
  border: 1px dashed var(--normalline);
  border-radius: 16px;
  background: color-mix(in oklab, var(--altbg) 78%, transparent);
  color: var(--text-muted);
  padding: 1rem !important;
}
.profile-modern-content .ditem {
  border-color: var(--normalline);
  background: color-mix(in oklab, var(--altbg) 82%, transparent);
  border-radius: 15px;
}
.profile-modern-content .ditem:hover {
  border-color: color-mix(in oklab, var(--accent) 50%, var(--normalline));
  box-shadow: 0 12px 24px rgba(0,0,0,.10);
}
.profile-modern-content .di-icon {
  background: var(--altbg);
  border-color: var(--normalline);
}
.profile-modern-content .di-label {
  color: var(--text-muted);
  opacity: 1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.profile-modern-content .di-value {
  word-break: break-word;
}
.profile-modern-content .profile-role-item {
  border-radius: 18px;
  background: var(--altbg);
}
.profile-modern-content .btn {
  border-radius: 999px;
  font-weight: 800;
}
@media (max-width: 767px) {
  .profile-modern-heading {
    display: grid;
  }
  .profile-modern-status {
    width: fit-content;
  }
  .profile-modern-content .profile-header {
    margin-bottom: 78px;
  }
  .profile-modern-content .profile-picture-wrapper {
    left: 50%;
    transform: translateX(-50%);
    width: 132px;
    height: 132px;
  }
  .profile-main-content .d-flex.flex-column.flex-lg-row {
    text-align: center;
    align-items: center !important;
  }
  .profile-main-content .profile-actions {
    justify-content: center;
  }
  .profile-modern-content .stat-chips {
    justify-content: center;
  }
}
@media (max-width: 480px) {
  .profile-modern-content .profile-header {
    height: 170px;
    margin-bottom: 78px;
  }
  .profile-modern-content .profile-cover-img {
    display: block;
  }
  .profile-modern-content .profile-picture-wrapper {
    position: absolute;
    bottom: -58px;
    margin: 0;
  }
}

/* Member tools: Friends, Messages, and Alerts
   Neutral theme polish only. No accent-tinted page backgrounds. */
.member-tool-page { overflow: hidden; }
.friends-page.member-tool-page,
.messages-page.member-tool-page {
  position: relative;
  overflow: hidden;
}
.friends-page.member-tool-page:before,
.messages-page.member-tool-page:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-section-accent);
  z-index: 1;
}
.friends-page.member-tool-page > *,
.messages-page.member-tool-page > * {
  position: relative;
  z-index: 2;
}
.member-tool-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--normalline);
  border-radius: 12px;
  background: var(--normalbg);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.member-tool-title-wrap { display: flex; align-items: center; gap: .85rem; min-width: 0; }
.member-tool-icon {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 42px;
  border-radius: 12px;
  color: var(--accent);
  background: var(--altbg);
  border: 1px solid var(--normalline);
}
.member-tool-kicker {
  display: block;
  margin-bottom: .15rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--textmuted);
}
.member-tool-heading h2 { color: var(--normaltext); line-height: 1.15; }
.member-tool-heading p { margin-top: .2rem; color: var(--textmuted); font-size: .92rem; }
.member-tool-stats { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.member-tool-stats span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .6rem;
  border: 1px solid var(--normalline);
  border-radius: 999px;
  background: var(--altbg);
  color: var(--textmuted);
  font-size: .82rem;
  white-space: nowrap;
}
.member-tool-stats strong { color: var(--normaltext); }
.messages-page .dm-viewport,
.friends-page .tabs-bordered { background: transparent; }
.messages-page .dm-panel,
.friends-page .f-tile,
.friends-page .f-row,
.friends-page .card { box-shadow: 0 8px 18px rgba(0,0,0,.12); }
.messages-page .dm-actions .btn,
.messages-page #dm-send-btn,
.friends-page .btn,
.friends-page .btn-icon { transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background-color .12s ease; }
.messages-page .dm-actions .btn:hover,
.messages-page #dm-send-btn:hover,
.friends-page .btn:hover,
.friends-page .btn-icon:hover { transform: translateY(-1px); }
@media (max-width: 767.98px) {
  .member-tool-heading { align-items: flex-start; flex-direction: column; }
  .member-tool-stats { justify-content: flex-start; }
}


/* Alerts page neutral theme refresh */
.alerts-page .alerts-page-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.alerts-page .alerts-page-title { display:flex; align-items:center; gap:.75rem; min-width:0; }
.alerts-page .alerts-page-icon { width:42px; height:42px; display:inline-grid; place-items:center; flex:0 0 42px; border-radius:12px; color:var(--accent); background:var(--altbg); border:1px solid var(--normalline); }
.alerts-page .alerts-page-kicker { display:block; margin-bottom:.15rem; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--textmuted); }
.alerts-page .alerts-page-heading h2 { margin:0; color:var(--normaltext); line-height:1.15; }
.alerts-page .alerts-list { margin:1rem 0 0 !important; }
.alerts-page .alert-holder { border:1px solid var(--normalline); border-radius:14px; background:var(--normalbg); padding:.9rem !important; margin-bottom:.75rem; box-shadow:0 8px 18px rgba(0,0,0,.10); }
.alerts-page .alert-text-holder { min-height:2.4rem; }
.alerts-page .alert-time { color:var(--textmuted); font-size:.82rem; margin-bottom:.15rem; }
.alerts-page .alert-message { color:var(--normaltext); }
@media (max-width:575.98px) { .alerts-page .alerts-page-heading { align-items:flex-start; flex-direction:column; } }

/* Profile polish: keep the established accent top line without the tinted header strip. */
.profile-modern-content .profile-modern-card {
  background: var(--blog-post-bg) !important;
}
.profile-modern-content .profile-modern-card:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  height: 3px;
  margin: 0;
  pointer-events: none;
}
.profile-modern-content .profile-modern-card .card-body {
  position: relative;
  z-index: 1;
  padding-top: 1rem;
}
.profile-modern-content .profile-tabs .nav-link,
.profile-modern-content #tab-empty-msg,
.profile-modern-content .ditem,
.profile-modern-content .profile-role-item,
.profile-modern-content .di-icon {
  background: var(--blog-post-bg);
}

/* Gallery alignment with Files/Projects theme cards */
.gallery-main-panel.files-main-panel,
.gallery-photo-panel.files-main-panel,
.gallery-picture-modern.files-main-panel {
  border: 1px solid var(--files-panel-border) !important;
  border-radius: 14px !important;
  background: var(--files-panel-bg) !important;
  box-shadow: var(--files-panel-shadow) !important;
}

.gallery-main-panel.files-main-panel::before,
.gallery-photo-panel.files-main-panel::before,
.gallery-picture-modern.files-main-panel::before {
  display: none;
}

.gallery-section-heading.files-section-heading,
.gallery-photo-heading.files-section-heading,
.gallery-picture-hero.files-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 16px 0;
  padding: 13px 15px;
  border: 1px solid var(--files-section-border) !important;
  border-radius: 13px !important;
  background: var(--files-section-bg) !important;
  box-shadow: inset 0 1px 0 var(--files-section-inset) !important;
  position: relative;
  overflow: hidden;
}

.gallery-section-heading.files-section-heading::before,
.gallery-photo-heading.files-section-heading::before,
.gallery-picture-hero.files-section-heading::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--files-section-accent);
}

.gallery-section-heading.files-section-heading h4,
.gallery-photo-heading.files-section-heading h4,
.gallery-picture-hero.files-section-heading h4 {
  margin: 2px 0 0 0;
  font-size: 1.05rem;
  color: var(--files-heading-color);
  letter-spacing: .01em;
}

.galleryalbums .gallery-card.file-card {
  width: 100%;
  border-radius: 13px !important;
  background: var(--files-card-bg) !important;
  border: 1px solid var(--files-card-border) !important;
  box-shadow: var(--files-card-shadow) !important;
}

.galleryalbums .gallery-card.file-card:hover {
  border-color: var(--files-card-hover-border) !important;
  box-shadow: var(--files-card-hover-shadow) !important;
}

.galleryalbums .gallery-card.file-card .file-card-bg-holder {
  border-bottom: 1px solid var(--files-card-border);
}

.galleryalbums .gallery-card.file-card .file-card-bg {
  height: 124px;
}

.gallery-photo-panel .gallery-photo-card {
  border-radius: 13px !important;
}

.gallery-picture-modern .gallery-picture-content-card,
.gallery-picture-modern .gallery-picture-side-card {
  border-color: var(--files-card-border) !important;
  background: var(--files-card-bg) !important;
}

.post-author-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  overflow: hidden;
  padding: 1rem;
  border: 1px solid var(--side-menu-border);
  border-radius: 16px;
  background: var(--side-menu-bg);
  box-shadow: var(--side-menu-shadow);
  color: var(--side-menu-color);
}
.post-author-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: var(--side-menu-topline);
  opacity: .95;
  pointer-events: none;
}
.post-author-avatar {
  position: relative;
  z-index: 1;
}
.post-author-avatar img {
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: 18px !important;
  border: 1px solid var(--side-menu-action-border) !important;
  background: var(--side-menu-icon-bg);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.post-author-body {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.post-author-kicker {
  color: var(--text-muted);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.post-author-name {
  margin: .1rem 0 .35rem 0;
  color: var(--side-menu-title);
  font-size: 1.15rem;
  line-height: 1.2;
}
.post-author-name a {
  color: inherit;
  text-decoration: none;
}
.post-author-name a:hover {
  color: var(--side-menu-hover-color);
  text-decoration: none;
}
.post-author-bio {
  margin: 0 0 .55rem 0;
  color: var(--blog-single-content-color);
  font-size: .94rem;
  line-height: 1.55;
}
.post-author-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .85rem;
  color: var(--text-muted);
  font-size: .8rem;
}
.post-author-meta span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.post-author-meta i {
  color: var(--side-menu-icon-color);
}
.post-author-button {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 38px;
  padding: .55rem .8rem;
  border: 1px solid var(--side-menu-action-border);
  border-radius: 999px;
  background: var(--side-menu-action-bg);
  color: var(--side-menu-action-color);
  font-size: .82rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease;
}
.post-author-button:hover,
.post-author-button:focus {
  transform: translateY(-1px);
  border-color: var(--side-menu-action-hover-border);
  background: var(--side-menu-action-hover-bg);
  color: var(--side-menu-action-hover-color);
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .post-author-card {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
  }
  .post-author-button {
    grid-column: 1 / -1;
    width: 100%;
  }
  .post-author-avatar img {
    width: 62px;
    height: 62px;
    border-radius: 15px !important;
  }
}

/* Modern blog list refinements */
.blog-list-heading {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .65rem .9rem;
  border: 1px solid var(--side-menu-border);
  border-radius: 14px;
  background: var(--side-menu-bg);
  color: var(--side-menu-title);
  box-shadow: var(--side-menu-shadow);
  font-size: 1.05rem;
  font-weight: 800;
}
.blog-list-heading i {
  color: var(--side-menu-icon-color);
}
.blog-empty-state {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem;
  border: 1px solid var(--side-menu-border);
  border-radius: 16px;
  background: var(--side-menu-bg);
  color: var(--side-menu-color);
  box-shadow: var(--side-menu-shadow);
  position: relative;
  overflow: hidden;
}
.blog-empty-state::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: var(--side-menu-topline);
}
.blog-empty-icon {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: var(--side-menu-icon-color);
  background: var(--side-menu-icon-bg);
  border: 1px solid var(--side-menu-action-border);
  font-size: 1.2rem;
}
.blog-empty-state h4 {
  margin: 0 0 .25rem;
  color: var(--side-menu-title);
  font-size: 1rem;
  font-weight: 800;
}
.blog-empty-state p {
  margin: 0;
  color: var(--text-muted);
  line-height: 1.45;
}
.follow-site-card .follow-site-note {
  margin: -.25rem 0 .8rem;
  color: var(--text-muted);
  font-size: .82rem;
  line-height: 1.45;
}
.follow-site-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}
.follow-site-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 40px;
  padding: .55rem .5rem;
  border: 1px solid var(--side-menu-action-border);
  border-radius: 10px;
  background: var(--side-menu-action-bg);
  color: var(--side-menu-action-color);
  font-size: .84rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease;
}
.follow-site-link:hover,
.follow-site-link:focus {
  transform: translateY(-1px);
  border-color: var(--side-menu-action-hover-border);
  background: var(--side-menu-action-hover-bg);
  color: var(--side-menu-action-hover-color);
  text-decoration: none;
}

/* Featured image post: show the full image instead of cropping the type-2 media preview. */
.blog-post-card-featured .blog-post-excerpt.blog-post-featured-full-image {
  max-height: none !important;
  overflow: visible !important;
}

.blog-post-card-featured .blog-post-excerpt.blog-post-featured-full-image img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

.blog-post-card-featured .blog-post-excerpt.blog-post-featured-full-image .postgallery {
  display: block !important;
}

.blog-post-card-featured .blog-post-excerpt.blog-post-featured-full-image .postgallery img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* Video post previews: show full video posts instead of cropping them like excerpts. */
.blog-post-excerpt.blog-post-full-video {
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.blog-post-excerpt.blog-post-full-video iframe,
.blog-post-excerpt.blog-post-full-video video {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: contain !important;
  display: block !important;
  border: 0;
  border-radius: 10px;
}

.blog-post-excerpt.blog-post-full-video p:last-child {
  margin-bottom: 0;
}

/* Modern chat pass - message polish, mobile layout, and staff targeting */
.chat-page-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--chat-holder-normalline);
  border-top: 3px solid var(--primary-color);
  border-radius: 14px;
  background: linear-gradient(135deg, var(--chat-holder-card-bg), var(--chat-holder-layer-bg));
  box-shadow: var(--chat-holder-shadow);
}
.chat-kicker {
  color: var(--primary-color);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.chat-subtitle,
.chat-toolbar-subtitle,
.nicklist-subtitle {
  color: var(--chat-holder-muted) !important;
  font-size: .85rem;
}
.chat-room-badge,
.chat-toolbar-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: var(--chat-holder-text);
  background: var(--chat-holder-pill-bg);
  border: 1px solid var(--chat-holder-normalline);
  border-radius: 999px;
  padding: .45rem .7rem;
  font-size: .82rem;
  font-weight: 700;
  white-space: nowrap;
}
.chat-status-dot {
  display: inline-block;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--chat-holder-muted);
  box-shadow: 0 0 0 .18rem var(--chat-holder-dot-ring);
}
.chat-status-dot.is-ok { background: var(--site-accent-bright); }
.chat-status-dot.is-warning { background: #f59e0b; }
.chat-status-dot.is-danger { background: #ef4444; }
.chat-holder {
  border: 1px solid var(--chat-holder-normalline);
}
.chat-holder .card {
  border-radius: 14px;
  overflow: hidden;
}
.chat-holder .chat-pane #chatLog {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.chat-pane-toolbar,
.nicklist-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .75rem;
  padding: .75rem .85rem;
  border: 1px solid var(--chat-holder-normalline);
  border-radius: 12px;
  background: var(--chat-holder-layer-bg);
}
.chat-toolbar-title {
  color: var(--chat-holder-text);
  font-weight: 800;
  line-height: 1.15;
}
.chat-toolbar-pill {
  font-size: .76rem;
  color: var(--chat-holder-muted);
}
.chat-holder .chat-pane #chatLog .chat-msg-wrap {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  background: var(--chat-holder-msg-bg);
  border: 1px solid var(--chat-holder-msg-border);
  border-radius: 14px;
  padding: .72rem .85rem;
  box-shadow: var(--chat-holder-msg-shadow);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.chat-holder .chat-pane #chatLog .chat-msg-wrap:hover {
  background: var(--chat-holder-msg-hover-bg);
  border-color: var(--chat-holder-msg-hover-border);
  transform: translateY(-1px);
}
.chat-msg-avatar,
.chat-user-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--chat-holder-avatar-border);
  background: var(--chat-holder-layer-bg);
  flex-shrink: 0;
}
.chat-msg-body {
  min-width: 0;
  flex: 1 1 auto;
}
.chat-msg-head {
  display: flex;
  align-items: baseline;
  gap: .45rem;
  flex-wrap: wrap;
  margin-bottom: .2rem;
}
.chat-holder .chat-pane #chatLog .username {
  color: var(--primary-color);
  font-weight: 800;
}
.chat-msg-time {
  color: var(--chat-holder-muted);
  font-size: .76rem;
}
.chat-holder .chat-pane #chatLog .chat-msg {
  color: var(--chat-holder-text);
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.chat-holder .chat-pane #chatLog .chat-msg a {
  color: var(--chat-holder-link);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
}
.chat-holder .chat-pane #chatLog .chat-msg a:hover {
  color: var(--chat-holder-link-hover);
  border-bottom-style: solid;
}
.chat-holder .chat-pane #chatLog .system-msg {
  align-self: center;
  max-width: 92%;
  color: var(--chat-holder-system-text);
  background: var(--chat-holder-system-bg);
  border: 1px solid var(--chat-holder-system-border);
  border-radius: 999px;
  padding: .45rem .75rem;
  font-size: .8rem;
  text-align: center;
}
.chat-compose-group {
  align-items: stretch;
}
.chat-holder .chat-pane #chatInput {
  min-height: 42px;
  max-height: 130px;
  resize: none;
  line-height: 1.35;
}
.chat-holder .chat-pane .btn.btn-primary {
  min-width: 86px;
  font-weight: 800;
}
.chat-holder .nicklist-pane #userList {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.chat-holder .nicklist-pane #userList .chat-user-row {
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: default;
}
.chat-holder .nicklist-pane #userList .chat-user-row:hover,
.chat-holder .nicklist-pane #userList .chat-user-row.is-selected {
  background: var(--chat-holder-nicklist-hover-bg);
  border-color: var(--chat-holder-msg-hover-border);
}
.chat-user-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.chat-user-name {
  color: var(--chat-holder-text);
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.chat-user-role {
  color: var(--chat-holder-muted);
  font-size: .72rem;
  line-height: 1.1;
  margin-top: .15rem;
}
.chat-empty-user {
  background: transparent !important;
  border: 1px dashed var(--chat-holder-normalline) !important;
  border-radius: 10px !important;
}
@media (max-width: 991.98px) {
  .chat-holder { height: auto; min-height: 0; overflow: visible; }
  .chat-holder .chat-pane { height: auto; min-height: 55vh; }
  .chat-holder .chat-pane #chatLog { min-height: 46vh; max-height: 58vh; }
  .chat-holder .nicklist-pane { min-height: 220px; max-height: 280px; }
  .chat-holder .nicklist-pane #userList { max-height: 210px; }
}
@media (max-width: 575.98px) {
  .chat-page-heading { align-items: flex-start; flex-direction: column; }
  .chat-room-badge { width: 100%; justify-content: center; }
  .chat-pane-toolbar { align-items: flex-start; }
  .chat-holder .chat-pane #chatLog .chat-msg-wrap { padding: .65rem; gap: .55rem; }
  .chat-msg-avatar { width: 30px; height: 30px; }
  .chat-holder .chat-pane .btn.btn-primary { min-width: 58px; padding-left: .65rem; padding-right: .65rem; }
  .chat-holder .chat-pane .btn.btn-primary .fas { margin-right: 0 !important; }
  .chat-holder .chat-pane .btn.btn-primary { font-size: 0; }
  .chat-holder .chat-pane .btn.btn-primary .fas { font-size: .95rem; }
}

/* Chat user action menu and admin quick controls */
.chat-user-menu-trigger {
  cursor: pointer;
}
.chat-user-menu-trigger:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.chat-user-menu {
  position: absolute;
  z-index: 2000;
  width: 240px;
  padding: .45rem;
  border: 1px solid var(--chat-holder-normalline);
  border-radius: 12px;
  background: var(--chat-holder-card-bg);
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}
.chat-user-menu-name {
  color: var(--chat-holder-text);
  font-weight: 800;
  padding: .45rem .55rem .55rem;
  border-bottom: 1px solid var(--chat-holder-normalline);
  margin-bottom: .35rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-user-menu-item {
  width: 100%;
  display: flex;
  align-items: center;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--chat-holder-text) !important;
  text-align: left;
  text-decoration: none !important;
  padding: .5rem .55rem;
  font-size: .88rem;
}
.chat-user-menu-item:hover,
.chat-user-menu-item:focus {
  background: var(--chat-holder-nicklist-hover-bg);
  outline: none;
}
.chat-admin-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.chat-admin-quick-actions .btn {
  font-size: .76rem;
  font-weight: 700;
}


/* chat polish pass */
.chat-msg-wrap.chat-msg-grouped{
  margin-top:-6px;
  padding-top:0;
}
.chat-msg-wrap.chat-msg-grouped .chat-msg-avatar{
  opacity:0;
}
.chat-msg-wrap.chat-msg-grouped .chat-msg-head strong{
  display:none;
}
.system-msg{
  text-align:center;
  border-radius:999px;
  padding:6px 14px;
  margin:10px auto;
  width:max-content;
  max-width:90%;
  font-size:.85rem;
}
.chat-pane-toolbar{
  position:sticky;
  top:0;
  z-index:5;
  backdrop-filter:blur(8px);
}
.chat-msg-time{
  opacity:.7;
  font-size:.75rem;
}

/* chat typing indicator and unicode emoji picker */
.chat-holder .chat-pane .chat-meta .typing {
  min-height: 22px;
  color: var(--chat-holder-muted);
  opacity: 0;
  transform: translateY(2px);
  transition: opacity .18s ease, transform .18s ease;
}
.chat-holder .chat-pane .chat-meta .typing.is-active {
  opacity: 1;
  transform: translateY(0);
}
.typing-dots {
  display: inline-flex;
  gap: 3px;
  margin-left: 5px;
  vertical-align: middle;
}
.typing-dots i {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  opacity: .45;
  animation: chatTypingDot 1.1s infinite ease-in-out;
}
.typing-dots i:nth-child(2) { animation-delay: .15s; }
.typing-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes chatTypingDot {
  0%, 80%, 100% { transform: translateY(0); opacity: .35; }
  40% { transform: translateY(-3px); opacity: .9; }
}
.chat-compose-form,
#chatForm {
  position: relative;
}
.chat-compose-group {
  position: relative;
}
.chat-emoji-toggle {
  min-width: 44px;
  border-color: var(--chat-holder-normalline) !important;
  color: var(--chat-holder-text) !important;
  background: var(--chat-holder-card-bg) !important;
}
.chat-emoji-toggle:hover,
.chat-emoji-toggle:focus {
  background: var(--chat-holder-nicklist-hover-bg) !important;
  color: var(--primary-color) !important;
}
.chat-emoji-picker {
  position: absolute;
  left: 0;
  bottom: calc(100% + 8px);
  width: min(340px, 92vw);
  z-index: 1200;
  padding: .65rem;
  border-radius: 14px;
  border: 1px solid var(--chat-holder-normalline);
  background: var(--chat-holder-card-bg);
  box-shadow: 0 18px 45px rgba(0,0,0,.32);
}
.chat-emoji-picker-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  color: var(--chat-holder-text);
  font-weight: 800;
  font-size: .85rem;
  margin-bottom: .5rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--chat-holder-normalline);
}
.chat-emoji-close {
  border: 0;
  background: transparent;
  color: var(--chat-holder-muted);
  font-size: 1.25rem;
  line-height: 1;
  padding: 0 .15rem;
}
.chat-emoji-close:hover,
.chat-emoji-close:focus {
  color: var(--chat-holder-text);
}
.chat-emoji-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: .3rem;
  max-height: 210px;
  overflow-y: auto;
  padding-right: .15rem;
}
.chat-emoji-btn {
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  font-size: 1.25rem;
  line-height: 1;
  min-height: 36px;
  padding: .35rem;
}
.chat-emoji-btn:hover,
.chat-emoji-btn:focus {
  background: var(--chat-holder-nicklist-hover-bg);
  border-color: var(--chat-holder-msg-hover-border);
  outline: none;
}
@media (max-width: 575.98px) {
  .chat-emoji-picker {
    width: min(315px, 92vw);
  }
  .chat-emoji-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}

/* MyPics modernization */
.mypics-main-panel.files-main-panel {
  border: 1px solid var(--files-panel-border) !important;
  border-radius: 14px !important;
  background: var(--files-panel-bg) !important;
  box-shadow: var(--files-panel-shadow) !important;
}

.mypics-section-heading.files-section-heading {
  border: 1px solid var(--files-section-border) !important;
  border-radius: 13px !important;
  background: var(--files-section-bg) !important;
  box-shadow: inset 0 1px 0 var(--files-section-inset) !important;
}

.mypics-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 13px 15px;
  border: 1px solid var(--files-section-border);
  border-radius: 13px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}

.mypics-toolbar-summary {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: 0;
  color: var(--normaltext);
}

.mypics-toolbar-summary strong {
  display: block;
  color: var(--files-heading-color);
  line-height: 1.2;
}

.mypics-toolbar-summary span:not(.mypics-toolbar-icon) {
  display: block;
  color: var(--files-desc-color);
  font-size: .85rem;
  line-height: 1.35;
}

.mypics-toolbar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  flex: 0 0 auto;
}

.mypics-toolbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  flex-wrap: wrap;
}

.mypics-primary-action,
.mypics-danger-action {
  border-radius: 9px !important;
  font-weight: 700;
  box-shadow: var(--files-button-shadow);
}

.mypics-gallery-shell {
  min-height: 80px;
}

.mypics-card.file-card {
  width: 100%;
  border-radius: 13px !important;
  background: var(--files-card-bg) !important;
  border: 1px solid var(--files-card-border) !important;
  box-shadow: var(--files-card-shadow) !important;
}

.mypics-card.file-card:hover {
  border-color: var(--files-card-hover-border) !important;
  box-shadow: var(--files-card-hover-shadow) !important;
}

.mypics-thumb-holder {
  position: relative;
  overflow: hidden;
  background: var(--files-thumb-bg);
  border-bottom: 1px solid var(--files-card-border);
}

.mypics-thumb-link {
  position: relative;
  display: block;
  text-decoration: none !important;
}

.mypics-thumb {
  display: block;
  width: 100%;
  height: 145px;
  object-fit: cover;
  background: var(--files-thumb-bg);
  transition: transform .18s ease, opacity .18s ease;
}

.mypics-thumb-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  color: #fff;
  background: rgba(0, 0, 0, .42);
  transition: opacity .18s ease;
}

.mypics-thumb-overlay i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .42);
  border: 1px solid rgba(255, 255, 255, .22);
}

.mypics-card:hover .mypics-thumb,
.mypics-card:focus-within .mypics-thumb {
  transform: scale(1.035);
}

.mypics-card:hover .mypics-thumb-overlay,
.mypics-card:focus-within .mypics-thumb-overlay {
  opacity: 1;
}

.mypics-card-title {
  color: var(--files-title-color);
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mypics-card-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
}

.mypics-card-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  min-width: 0;
  padding: .35rem .4rem !important;
  border-radius: 8px !important;
  color: var(--normaltext) !important;
  background: var(--files-section-bg) !important;
  border: 1px solid var(--files-section-border) !important;
  font-size: .75rem !important;
  font-weight: 700;
  line-height: 1.1;
}

.mypics-card-btn:hover,
.mypics-card-btn:focus {
  color: #fff !important;
  background: var(--files-button-hover-bg) !important;
  border-color: var(--files-button-hover-bg) !important;
}

.mypics-card-delete:hover,
.mypics-card-delete:focus {
  background: #dc3545 !important;
  border-color: #dc3545 !important;
}

.mypics-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 220px;
  padding: 2rem 1rem;
  text-align: center;
  color: var(--files-desc-color);
  border: 1px dashed var(--files-section-border);
  border-radius: 13px;
  background: var(--files-section-bg);
}

.mypics-empty-state > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: .35rem;
  border-radius: 999px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  font-size: 1.45rem;
}

.mypics-empty-state strong {
  color: var(--files-heading-color);
  font-size: 1rem;
}

.mypics-pagination {
  display: flex;
  justify-content: center;
}

#imagesModal .modal-content {
  background: var(--files-panel-bg);
  color: var(--normaltext);
  border: 1px solid var(--files-panel-border);
  border-radius: 14px;
  overflow: hidden;
}

#imagesModal .modal-header,
#imagesModal .modal-footer {
  border-color: var(--files-section-border);
  background: var(--files-section-bg);
}

@media only screen and (max-width: 767px) {
  .mypics-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .mypics-toolbar-actions {
    justify-content: stretch;
  }

  .mypics-toolbar-actions .btn {
    flex: 1 1 auto;
  }

  .mypics-thumb { height: 170px; }
}

@media only screen and (max-width: 420px) {
  .mypics-card-actions {
    grid-template-columns: 1fr;
  }

  .mypics-card-btn {
    padding: .45rem .5rem !important;
  }
}

/* MyPics detail modernization */
.mypics-detail-panel.files-main-panel {
  border: 1px solid var(--files-panel-border) !important;
  border-radius: 14px !important;
  background: var(--files-panel-bg) !important;
  box-shadow: var(--files-panel-shadow) !important;
}

.mypics-detail-heading.files-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 16px 0;
  padding: 13px 15px;
  border: 1px solid var(--files-section-border) !important;
  border-radius: 13px !important;
  background: var(--files-section-bg) !important;
  box-shadow: inset 0 1px 0 var(--files-section-inset) !important;
  position: relative;
  overflow: hidden;
}

.mypics-detail-heading.files-section-heading::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--files-section-accent);
}

.mypics-detail-heading.files-section-heading h4 {
  margin: 2px 0 0 0;
  font-size: 1.05rem;
  color: var(--files-heading-color);
  letter-spacing: .01em;
  word-break: break-word;
}

.mypics-detail-image-card,
.mypics-detail-side-card {
  position: relative;
  height: 100%;
  padding: 14px;
  border: 1px solid var(--files-card-border) !important;
  border-radius: 13px !important;
  background: var(--files-card-bg) !important;
  box-shadow: var(--files-card-shadow) !important;
  overflow: hidden;
}

.mypics-detail-image-card::before,
.mypics-detail-side-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: var(--files-section-accent);
  opacity: .75;
}

.mypics-detail-image-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 420px;
  border-radius: 11px;
  background: var(--files-thumb-bg);
  overflow: hidden;
}

.mypics-detail-image {
  display: block;
  max-width: 100%;
  max-height: 72vh;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .18);
}

.mypics-detail-like-module {
  margin-bottom: 14px;
}

.mypics-detail-like-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  width: 100%;
  min-height: 54px;
  padding: .75rem 1rem;
  color: var(--files-heading-color) !important;
  text-decoration: none !important;
  border: 1px solid var(--files-section-border);
  border-radius: 12px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  font-weight: 800;
  letter-spacing: .02em;
}

.mypics-detail-like-btn:hover,
.mypics-detail-like-btn:focus {
  color: #fff !important;
  background: var(--files-button-hover-bg) !important;
  border-color: var(--files-button-hover-bg) !important;
}

.mypics-detail-like-btn .red {
  color: #dc3545;
}

.mypics-detail-list {
  display: grid;
  gap: .55rem;
}

.mypics-detail-row {
  display: grid;
  grid-template-columns: minmax(120px, .82fr) minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  padding: .65rem .7rem;
  border: 1px solid var(--files-section-border);
  border-radius: 10px;
  background: var(--files-section-bg);
}

.mypics-detail-row-desc {
  grid-template-columns: 1fr;
}

.mypics-detail-label {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--files-desc-color);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.mypics-detail-label i {
  width: 16px;
  color: var(--files-section-icon-color);
  text-align: center;
}

.mypics-detail-value {
  min-width: 0;
  color: var(--normaltext);
  font-size: .9rem;
  line-height: 1.45;
  text-align: right;
  overflow-wrap: anywhere;
}

.mypics-detail-row-desc .mypics-detail-value {
  text-align: left;
}

.mypics-detail-value a {
  color: var(--files-title-color);
  font-weight: 800;
}

.mypics-detail-value a:hover {
  color: var(--files-button-hover-bg);
}

.mypics-link-tools,
.mypics-owner-tools {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid var(--files-section-border);
  border-radius: 12px;
  background: var(--files-section-bg);
}

.mypics-link-tools h5,
.mypics-owner-tools h5 {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 .65rem 0;
  color: var(--files-heading-color);
  font-size: .9rem;
  font-weight: 800;
}

.mypics-link-tools h5:not(:first-child) {
  margin-top: .9rem;
}

.mypics-link-tools .form-control,
.mypics-owner-tools .form-control {
  color: var(--normaltext);
  background: var(--files-card-bg);
  border-color: var(--files-card-border);
}

.mypics-copy-btn,
.mypics-update-btn,
.mypics-delete-btn {
  border-radius: 8px !important;
  font-weight: 800;
}

.mypics-visibility-check {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  padding: .55rem .7rem;
  border: 1px solid var(--files-card-border);
  border-radius: 10px;
  background: var(--files-card-bg);
}

.mypics-visibility-check .form-check-input {
  margin: 0;
}

.mypics-visibility-check .form-check-label {
  margin: 0;
  color: var(--files-desc-color);
  font-size: .82rem;
  font-weight: 700;
}

.mypics-comments-holder {
  margin-top: 16px;
}

.mypics-unavailable-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 220px;
  padding: 2rem 1rem;
  color: var(--files-desc-color);
  border: 1px dashed var(--files-section-border);
  border-radius: 13px;
  background: var(--files-section-bg);
}

.mypics-unavailable-state i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: .35rem;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  border-radius: 999px;
  font-size: 1.35rem;
}

.mypics-unavailable-state strong {
  color: var(--files-heading-color);
  font-size: 1rem;
}

@media only screen and (max-width: 991px) {
  .mypics-detail-image-link {
    min-height: 300px;
  }
}

@media only screen and (max-width: 575px) {
  .mypics-detail-heading.files-section-heading {
    align-items: flex-start;
    gap: .75rem;
  }

  .mypics-detail-image-card,
  .mypics-detail-side-card {
    padding: 11px;
  }

  .mypics-detail-image-link {
    min-height: 220px;
  }

  .mypics-detail-row {
    grid-template-columns: 1fr;
    gap: .25rem;
  }

  .mypics-detail-value {
    text-align: left;
  }
}

/* MyPics upload modernization */
.mypics-upload-panel.files-main-panel {
  border: 1px solid var(--files-panel-border) !important;
  border-radius: 14px !important;
  background: var(--files-panel-bg) !important;
  box-shadow: var(--files-panel-shadow) !important;
}

.mypics-upload-heading.files-section-heading {
  border: 1px solid var(--files-section-border) !important;
  border-radius: 13px !important;
  background: var(--files-section-bg) !important;
  box-shadow: inset 0 1px 0 var(--files-section-inset) !important;
}

.mypics-upload-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px;
  align-items: start;
}

.mypics-upload-card,
.mypics-upload-help-card {
  position: relative;
  border: 1px solid var(--files-card-border);
  border-radius: 13px;
  background: var(--files-card-bg);
  box-shadow: var(--files-card-shadow);
  overflow: hidden;
}

.mypics-upload-card {
  padding: 14px;
}

.mypics-upload-help-card {
  padding: 15px;
}

.mypics-upload-card::before,
.mypics-upload-help-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: var(--files-section-accent);
  opacity: .75;
}

#drop-area.mypics-drop-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 265px;
  margin: 0;
  padding: 28px 18px;
  cursor: pointer;
  text-align: center;
  color: var(--files-desc-color);
  border: 1px dashed var(--files-section-border);
  border-radius: 13px;
  background:
    radial-gradient(circle at 50% 0%, var(--files-section-glow), transparent 38%),
    var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

#drop-area.mypics-drop-area:hover,
#drop-area.mypics-drop-area:focus,
#drop-area.mypics-drop-area.dragactive {
  border-color: var(--files-section-icon-color);
  box-shadow: inset 0 1px 0 var(--files-section-inset), 0 12px 28px rgba(0, 0, 0, .14);
  outline: none;
  transform: translateY(-1px);
}

.mypics-drop-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  margin-bottom: 12px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  border-radius: 18px;
  box-shadow: var(--files-button-shadow);
  font-size: 1.65rem;
}

#drop-area.mypics-drop-area strong {
  color: var(--files-heading-color);
  font-size: 1.08rem;
  font-weight: 900;
}

#drop-area.mypics-drop-area span:not(.mypics-drop-icon) {
  margin-top: 4px;
  color: var(--normaltext);
  font-size: .93rem;
  font-weight: 700;
}

#drop-area.mypics-drop-area small {
  display: block;
  max-width: 420px;
  margin-top: 10px;
  color: var(--files-desc-color);
  font-size: .8rem;
  line-height: 1.45;
}

.mypics-upload-help-card h5 {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 12px 0;
  color: var(--files-heading-color);
  font-size: .94rem;
  font-weight: 900;
}

.mypics-upload-help-card h5 i {
  color: var(--files-section-icon-color);
}

.mypics-upload-tip {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 10px 0;
  color: var(--files-desc-color);
  border-top: 1px solid var(--files-section-border);
  font-size: .86rem;
  line-height: 1.45;
}

.mypics-upload-tip i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--files-section-icon-color);
  background: var(--files-section-icon-bg);
  border: 1px solid var(--files-section-icon-border);
  border-radius: 999px;
  font-size: .75rem;
}

.mypics-secondary-action {
  border-radius: 9px !important;
  color: var(--normaltext) !important;
  background: var(--files-section-bg) !important;
  border: 1px solid var(--files-section-border) !important;
  font-weight: 800;
}

.mypics-secondary-action:hover,
.mypics-secondary-action:focus {
  color: #fff !important;
  background: var(--files-button-hover-bg) !important;
  border-color: var(--files-button-hover-bg) !important;
}

.mypics-upload-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
}

.dragfile-list-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto auto minmax(120px, 24%);
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 10px;
  color: var(--normaltext);
  border: 1px solid var(--files-section-border);
  border-radius: 12px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}

.dragpreview-wrap {
  width: 52px;
  height: 52px;
  overflow: hidden;
  border-radius: 10px;
  background: var(--files-thumb-bg);
  border: 1px solid var(--files-card-border);
}

.dragpreview-img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  object-fit: cover;
}

.dragfile-details {
  min-width: 0;
  color: var(--normaltext);
  line-height: 1.25;
}

.dragfile-details strong,
.dragfile-details span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dragfile-details strong {
  color: var(--files-heading-color);
  font-size: .86rem;
  font-weight: 900;
}

.dragfile-details span {
  margin-top: 3px;
  color: var(--files-desc-color);
  font-size: .78rem;
  font-weight: 700;
}

.dragfile-list-item .progress {
  height: 9px;
  min-width: 120px;
  margin: 0;
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  background: var(--files-thumb-bg);
  overflow: hidden;
}

.dragfile-list-item .progress-bar {
  border-radius: 999px;
}

.dragurl-btn a,
.dragdelete-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: var(--normaltext) !important;
  text-decoration: none !important;
  border: 1px solid var(--files-section-border);
  border-radius: 9px;
  background: var(--files-card-bg);
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.dragurl-btn a:hover,
.dragurl-btn a:focus {
  color: #fff !important;
  background: var(--files-button-hover-bg);
  border-color: var(--files-button-hover-bg);
}

.dragdelete-btn {
  cursor: pointer;
}

.dragdelete-btn:hover,
.dragdelete-btn:focus {
  color: #fff !important;
  background: #dc3545;
  border-color: #dc3545;
}

.dragupload-complete .progress-bar {
  width: 100% !important;
}

.mypics-upload-locked {
  min-height: 245px;
}

@media only screen and (max-width: 991px) {
  .mypics-upload-grid {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 767px) {
  #drop-area.mypics-drop-area {
    min-height: 220px;
    padding: 24px 14px;
  }

  .dragfile-list-item {
    grid-template-columns: 52px minmax(0, 1fr) auto auto;
  }

  .dragfile-list-item .progress {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
  }
}

@media only screen and (max-width: 420px) {
  .dragfile-list-item {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .dragurl-btn,
  .dragdelete-btn,
  .dragfile-list-item .progress {
    grid-column: 1 / -1;
  }

  .dragurl-btn a,
  .dragdelete-btn {
    width: 100%;
  }
}


/* MyPics final polish - Bootstrap 5 / Font Awesome 6 pass */
.mypics-gallery .mypics-card .card-body {
  padding: 1rem !important;
  background: transparent !important;
  margin: 0 !important;
}

.mypics-gallery .mypics-card img.mypics-thumb {
  border: 0 !important;
  border-radius: 0 !important;
}

.mypics-card.file-card {
  overflow: hidden;
}

.mypics-thumb-holder {
  border-radius: 12px 12px 0 0;
}

.mypics-toolbar-actions .btn i,
.mypics-empty-state .btn i,
.mypics-secondary-action i {
  line-height: 1;
}

#imagesModal .modal-dialog {
  max-width: min(920px, calc(100vw - 2rem));
}

#imagesModal #modalImage {
  max-height: 78vh;
  object-fit: contain;
}

.mypics-detail-heading .files-section-icon,
.mypics-section-heading .files-section-icon,
.mypics-upload-heading .files-section-icon {
  flex: 0 0 auto;
}

.mypics-detail-side-card .input-group .form-control {
  min-width: 0;
}

.mypics-detail-side-card .input-group .btn {
  white-space: nowrap;
}

.mypics-owner-tools .d-grid {
  width: 100%;
}

.dragfile-list-item.dragupload-complete {
  border-color: var(--files-section-icon-border);
}

.dragurl-btn,
.dragdelete-btn {
  line-height: 1;
}

@media only screen and (max-width: 575px) {
  .mypics-section-heading.files-section-heading,
  .mypics-upload-heading.files-section-heading,
  .mypics-detail-heading.files-section-heading {
    align-items: flex-start;
  }

  .mypics-toolbar-summary {
    align-items: flex-start;
  }

  .mypics-toolbar-icon {
    margin-top: 2px;
  }

  .mypics-detail-side-card .input-group {
    flex-wrap: nowrap;
  }
}

/* MyPics upload AJAX/support polish */
.mypics-upload-status {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
}

.mypics-upload-notice {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: .86rem;
  font-weight: 800;
  border: 1px solid var(--files-section-border);
  background: var(--files-section-bg);
  color: var(--normaltext);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
}

.mypics-upload-notice i {
  margin-top: 2px;
  line-height: 1;
}

.mypics-upload-notice-success {
  border-color: rgba(var(--site-accent-rgb), .35);
}

.mypics-upload-notice-success i {
  color: var(--site-accent);
}

.mypics-upload-notice-danger {
  border-color: rgba(220,53,69,.4);
}

.mypics-upload-notice-danger i {
  color: #dc3545;
}

.dragfile-list-item.dragupload-error {
  border-color: rgba(220,53,69,.45);
}

.dragfile-list-item.dragupload-error .progress-bar {
  background-color: #dc3545 !important;
}

/* MyPics smoke-test polish */
.mypics-card.file-card .card-body {
  position: relative;
  z-index: 1;
}

.mypics-toolbar-actions .btn,
.mypics-card-actions .btn,
.mypics-owner-tools .btn,
.mypics-link-tools .btn,
.mypics-upload-help-card .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
}

.mypics-detail-image-card .pop,
.mypics-detail-image-card .pop:hover,
.mypics-detail-image-card .pop:focus {
  text-decoration: none !important;
}

#imagesModal .btn-close {
  opacity: .9;
}

#imagesModal .btn-close:hover,
#imagesModal .btn-close:focus {
  opacity: 1;
}

.mypics-upload-notice span {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media only screen and (max-width: 575px) {
  .mypics-toolbar-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .mypics-toolbar-actions .btn {
    width: 100%;
  }
}


/* MyPics card action spacing polish */
.mypics-gallery .mypics-card-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}

.mypics-gallery .mypics-card-btn {
  min-height: 32px;
  padding: .42rem .5rem !important;
}

.mypics-gallery .mypics-card-delete {
  grid-column: 1 / -1;
}

@media only screen and (min-width: 1400px) {
  .mypics-gallery .mypics-card-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mypics-gallery .mypics-card-delete {
    grid-column: auto;
  }
}

@media only screen and (max-width: 420px) {
  .mypics-gallery .mypics-card-actions {
    grid-template-columns: 1fr;
  }

  .mypics-gallery .mypics-card-delete {
    grid-column: auto;
  }
}

/* MyPics card action polish */
.mypics-gallery .mypics-card.file-card {
  overflow: hidden;
}

.mypics-gallery .mypics-card.file-card .card-body {
  padding: .8rem !important;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)) !important;
}

.mypics-card-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
}

.mypics-card-btn {
  min-height: 34px;
  padding: .48rem .55rem !important;
  border-radius: 10px !important;
  font-size: .78rem !important;
  letter-spacing: .01em;
}

.mypics-card-view {
  grid-column: 1 / -1;
  color: #fff !important;
  background: linear-gradient(135deg, rgba(var(--site-accent-rgb), .95), rgba(100, 116, 139,.78)) !important;
  border-color: rgba(58, 221, 139, .45) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.16);
}

.mypics-card-copy,
.mypics-card-delete {
  background: rgba(255,255,255,.055) !important;
}

.mypics-card-copy:hover,
.mypics-card-copy:focus {
  color: #fff !important;
  background: var(--files-button-hover-bg) !important;
  border-color: var(--files-button-hover-bg) !important;
}

.mypics-card-delete {
  color: #ffb8bf !important;
  border-color: rgba(220,53,69,.32) !important;
}

.mypics-card-delete:hover,
.mypics-card-delete:focus {
  color: #fff !important;
  background: #dc3545 !important;
  border-color: #dc3545 !important;
}

@media only screen and (max-width: 420px) {
  .mypics-card-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mypics-card-view {
    grid-column: 1 / -1;
  }
}


/* MyPics card action alignment fix */
.mypics-gallery .mypics-card .card-body {
  padding: .82rem .78rem .9rem !important;
}

.mypics-gallery .mypics-card-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .6rem !important;
  align-items: stretch;
}

.mypics-gallery .mypics-card-btn {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: .5rem .45rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .38rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-align: center;
}

.mypics-gallery .mypics-card-btn i {
  flex: 0 0 auto;
  margin: 0 !important;
  line-height: 1 !important;
  font-size: .8rem;
}

.mypics-gallery .mypics-card-btn span {
  display: inline-block;
  min-width: 0;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.mypics-gallery .mypics-card-view {
  grid-column: 1 / -1 !important;
  min-height: 38px;
}

.mypics-gallery .mypics-card-copy,
.mypics-gallery .mypics-card-delete {
  grid-column: auto !important;
}

@media only screen and (max-width: 420px) {
  .mypics-gallery .mypics-card-actions {
    grid-template-columns: 1fr !important;
  }
}

/* Radio page */
.radio-main-panel {
  position: relative;
  overflow: hidden;
}

.radio-main-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 8%, rgba(42, 185, 102, 0.13), transparent 28%),
    radial-gradient(circle at 85% 2%, rgba(42, 185, 102, 0.08), transparent 32%);
  opacity: 0.9;
}

.radio-main-panel > * {
  position: relative;
  z-index: 1;
}

.radio-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 42%);
  gap: 18px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid var(--files-card-border, var(--normalline));
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.055), rgba(255,255,255,0.015)),
    var(--files-section-bg, var(--normalbg));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

.radio-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.radio-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-bottom: 8px;
  padding: 5px 10px;
  border: 1px solid rgba(42, 185, 102, 0.35);
  border-radius: 999px;
  background: rgba(42, 185, 102, 0.1);
  color: var(--files-section-accent, var(--accent));
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.radio-hero-copy h2 {
  margin: 0 0 8px;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  font-weight: 800;
  color: var(--normaltext);
}

.radio-hero-copy p {
  max-width: 720px;
  margin: 0;
  color: var(--mutedtext, var(--normaltext));
  opacity: 0.82;
  line-height: 1.6;
}

.radio-visualizer-wrap {
  display: flex;
  align-items: center;
  min-height: 132px;
  padding: 14px;
  border: 1px solid rgba(42, 185, 102, 0.22);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.28)),
    rgba(0,0,0,0.08);
  overflow: hidden;
}

.radio-visualizer-wrap #visualizer {
  width: 100%;
  height: 100px;
  margin: 0;
  border-radius: 12px;
  background: transparent;
}

.radio-visualizer-offline {
  position: relative;
}

.radio-visualizer-offline::after {
  content: "Visualizer unavailable";
  position: absolute;
  inset: auto 14px 14px 14px;
  padding: 8px 10px;
  border: 1px solid rgba(42, 185, 102, 0.22);
  border-radius: 999px;
  background: rgba(0,0,0,0.18);
  color: var(--normaltext);
  font-size: 0.78rem;
  font-weight: 800;
  text-align: center;
  opacity: 0.75;
}

.radio-station-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.radio-station-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--files-card-border, var(--normalline));
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018)),
    var(--files-card-bg, var(--cardbody));
  box-shadow: 0 16px 34px rgba(0,0,0,0.16);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.radio-station-card:hover {
  transform: translateY(-2px);
  border-color: rgba(42, 185, 102, 0.45);
  box-shadow: 0 20px 44px rgba(0,0,0,0.22);
}

.radio-station-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.radio-station-badge,
.radio-station-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  white-space: nowrap;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.radio-station-badge {
  padding: 5px 9px;
  background: rgba(42, 185, 102, 0.12);
  color: var(--files-section-accent, var(--accent));
}

.radio-station-link {
  padding: 5px 0;
  color: var(--normaltext);
  opacity: 0.78;
  text-decoration: none;
}

.radio-station-link:hover {
  color: var(--files-section-accent, var(--accent));
  opacity: 1;
  text-decoration: none;
}

.radio-station-card h3 {
  margin: 0 0 6px;
  color: var(--normaltext);
  font-size: 1.22rem;
  font-weight: 800;
}

.radio-station-desc {
  min-height: 42px;
  margin: 0 0 14px;
  color: var(--mutedtext, var(--normaltext));
  opacity: 0.76;
  font-size: 0.9rem;
  line-height: 1.5;
}

.radio-station-card .audio-player {
  display: none !important;
}

.radio-audio-player.custom-audio-player {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-top: auto;
  margin-bottom: 0 !important;
  padding: 12px !important;
  border-radius: 14px !important;
  background:
    linear-gradient(135deg, rgba(0,0,0,0.18), rgba(255,255,255,0.035)),
    var(--audio-player-bg);
}

.radio-art-wrap {
  position: relative;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
}

.radio-audio-player .player-bg-image {
  width: 72px;
  height: 72px;
  border-radius: 13px;
  object-fit: cover;
}

.radio-live-dot {
  position: absolute;
  left: 7px;
  bottom: 7px;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(42, 185, 102, 0.92);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  box-shadow: 0 0 0 3px rgba(42, 185, 102, 0.18);
}

.radio-player-body {
  min-width: 0;
}

.radio-audio-player .custom-audio-message {
  min-height: 38px;
  margin-bottom: 10px;
  line-height: 1.35;
}

.radio-stream-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 10px;
  padding: 5px 9px;
  border: 1px solid rgba(42, 185, 102, 0.22);
  border-radius: 999px;
  background: rgba(42, 185, 102, 0.08);
  color: var(--normaltext);
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.1;
}

.radio-status-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 999px;
  background: rgba(42, 185, 102, 0.85);
  box-shadow: 0 0 0 3px rgba(42, 185, 102, 0.14);
}

.radio-stream-status.is-buffering .radio-status-dot {
  animation: radioPulse 1.1s ease-in-out infinite;
}

.radio-stream-status.is-error {
  border-color: rgba(220, 53, 69, 0.35);
  background: rgba(220, 53, 69, 0.10);
}

.radio-stream-status.is-error .radio-status-dot {
  background: rgba(220, 53, 69, 0.95);
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.14);
}

.radio-stream-status.is-paused {
  opacity: 0.78;
}

@keyframes radioPulse {
  0%, 100% { transform: scale(1); opacity: 0.72; }
  50% { transform: scale(1.35); opacity: 1; }
}

.radio-audio-controls.custom-audio-controls {
  display: grid !important;
  grid-column: 1 / -1;
  grid-template-columns: 34px minmax(0, 1fr) auto 34px 72px;
  gap: 8px;
  align-items: center;
  min-width: 0;
  width: 100%;
  padding: 8px !important;
  border-radius: 12px !important;
  overflow: hidden;
}

.radio-audio-controls .play-pause,
.radio-audio-controls .mute {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px;
}

.radio-audio-controls .seek-bar,
.radio-audio-controls .volume-bar {
  min-width: 0;
  max-width: 100%;
  width: 100%;
}

.radio-audio-controls .live-stream-indicator {
  max-width: 78px;
  overflow: hidden;
  padding-left: 8px;
  padding-right: 8px;
  white-space: nowrap;
  text-align: center;
  text-overflow: ellipsis;
}

.radio-hidden-info {
  display: none !important;
}


@media (max-width: 1399.98px) and (min-width: 1200px) {
  .radio-audio-controls.custom-audio-controls {
    grid-template-columns: 34px minmax(0, 1fr) auto 34px;
  }

  .radio-audio-controls .volume-bar {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1199.98px) {
  .radio-station-grid {
    grid-template-columns: 1fr;
  }

  .radio-station-desc {
    min-height: 0;
  }
}

@media (max-width: 991.98px) {
  .radio-hero-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .radio-hero-panel,
  .radio-station-card {
    padding: 13px;
    border-radius: 14px;
  }

  .radio-station-topline {
    align-items: flex-start;
    flex-direction: column;
  }

  .radio-audio-player.custom-audio-player {
    grid-template-columns: 1fr;
  }

  .radio-art-wrap,
  .radio-audio-player .player-bg-image {
    width: 100%;
    height: 160px;
  }

  .radio-audio-controls.custom-audio-controls {
    grid-template-columns: 40px minmax(0, 1fr) 40px;
    gap: 10px;
  }

  .radio-audio-controls .play-pause,
  .radio-audio-controls .mute {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px;
  }

  .radio-audio-controls .live-stream-indicator {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .radio-audio-controls .volume-bar {
    grid-column: 1 / -1;
  }

  .radio-stream-status {
    width: 100%;
    justify-content: center;
  }
}

/* Radio player card refinement - roomy two-row controls */
.radio-station-grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 18px;
}

.radio-station-card {
  padding: 18px !important;
}

.radio-station-card h3 {
  margin-bottom: 8px;
}

.radio-station-desc {
  min-height: 0 !important;
  margin-bottom: 16px !important;
}

.radio-audio-player.custom-audio-player {
  grid-template-columns: 86px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
  padding: 14px !important;
  border: 1px solid rgba(255,255,255,0.07);
}

.radio-art-wrap,
.radio-audio-player .player-bg-image {
  width: 86px !important;
  height: 86px !important;
}

.radio-player-body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
}

.radio-audio-player .custom-audio-message {
  min-height: 0 !important;
  margin-bottom: 8px !important;
  font-size: 0.92rem;
  line-height: 1.42;
}

.radio-audio-player .aplayer-dj,
.radio-audio-player .aplayer-songtitle,
.radio-audio-player .aplayer-songartist {
  overflow-wrap: anywhere;
}

.radio-stream-status {
  margin-bottom: 12px !important;
}

.radio-audio-controls.custom-audio-controls {
  display: flex !important;
  grid-column: auto !important;
  flex-direction: column;
  gap: 10px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.radio-control-row {
  display: flex;
  align-items: center;
  min-width: 0;
  width: 100%;
}

.radio-control-main {
  gap: 10px;
}

.radio-control-volume {
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 999px;
  background: rgba(0,0,0,0.16);
}

.radio-audio-controls .play-pause,
.radio-audio-controls .mute {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.radio-audio-controls .mute {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
}

.radio-audio-controls .live-stream-indicator {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: auto !important;
  max-width: none !important;
  min-height: 34px;
  padding: 7px 12px !important;
  border-radius: 999px;
  white-space: nowrap;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.02em;
}

.radio-audio-controls .live-stream-indicator .fa-circle {
  font-size: 0.45rem;
}

.radio-audio-controls .volume-bar {
  flex: 1 1 auto;
  width: 100% !important;
  min-width: 90px;
  max-width: none !important;
}

.radio-audio-controls .seek-bar {
  display: none !important;
}

@media (max-width: 1199.98px) {
  .radio-station-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

@media (max-width: 575.98px) {
  .radio-station-grid {
    grid-template-columns: 1fr;
  }

  .radio-audio-player.custom-audio-player {
    grid-template-columns: 1fr !important;
  }

  .radio-art-wrap,
  .radio-audio-player .player-bg-image {
    width: 100% !important;
    height: 170px !important;
  }

  .radio-control-main,
  .radio-control-volume {
    width: 100%;
  }

  .radio-audio-controls .live-stream-indicator {
    flex: 1 1 auto;
  }
}

/* Radio player refinement: remove redundant stream button and use card space better */
.radio-audio-player.custom-audio-player {
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 14px 16px !important;
  align-items: start !important;
  padding: 14px !important;
}

.radio-art-wrap,
.radio-audio-player .player-bg-image {
  width: 96px !important;
  height: 96px !important;
}

.radio-player-body {
  justify-content: flex-start !important;
  padding-top: 1px;
}

.radio-audio-player .custom-audio-message {
  min-height: 44px !important;
  margin-bottom: 10px !important;
  font-size: 0.93rem;
}

.radio-audio-controls.custom-audio-controls {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 38px minmax(120px, 0.75fr) !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 14px !important;
  background: rgba(0,0,0,0.16) !important;
}

.radio-control-row,
.radio-control-main,
.radio-control-volume {
  display: contents !important;
}

.radio-control-volume {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.radio-control-fill {
  min-width: 0;
}

.radio-audio-controls .play-pause {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.22);
}

.radio-audio-controls .mute {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  opacity: 0.9;
}

.radio-audio-controls .volume-bar {
  min-width: 0 !important;
  width: 100% !important;
}

.radio-audio-controls .live-stream-indicator {
  display: none !important;
}

@media (max-width: 575.98px) {
  .radio-audio-player.custom-audio-player {
    grid-template-columns: 1fr !important;
  }

  .radio-art-wrap,
  .radio-audio-player .player-bg-image {
    width: 100% !important;
    height: 180px !important;
  }

  .radio-audio-controls.custom-audio-controls {
    grid-template-columns: 44px minmax(0, 1fr) 38px !important;
  }

  .radio-audio-controls .volume-bar {
    grid-column: 1 / -1;
  }
}

/* Radio player final layout: controls sit full-width below artwork/text */
.radio-audio-player.custom-audio-player {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 14px 16px !important;
  align-items: start !important;
}

.radio-audio-controls.custom-audio-controls {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 2px !important;
  padding: 11px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 15px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.045), rgba(0,0,0,0.16)),
    rgba(0,0,0,0.12) !important;
}

.radio-audio-controls .radio-control-row,
.radio-audio-controls .radio-control-main,
.radio-audio-controls .radio-control-volume {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}

.radio-audio-controls .radio-control-main {
  gap: 10px !important;
}

.radio-audio-controls .radio-control-volume {
  gap: 12px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255,255,255,0.065) !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,0.18) !important;
}

.radio-control-fill {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(42,185,102,0.58), rgba(255,255,255,0.12)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.045) !important;
}

.radio-audio-controls .play-pause,
.radio-audio-controls .mute {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}

.radio-audio-controls .play-pause {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
}

.radio-audio-controls .mute {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
}

.radio-audio-controls .volume-bar {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.radio-audio-controls .live-stream-indicator,
.radio-audio-controls .seek-bar,
.radio-audio-controls .current-time,
.radio-audio-controls .duration {
  display: none !important;
}

@media (max-width: 575.98px) {
  .radio-audio-player.custom-audio-player {
    grid-template-columns: 1fr !important;
  }

  .radio-art-wrap,
  .radio-audio-player .player-bg-image {
    width: 100% !important;
    height: 180px !important;
  }

  .radio-audio-controls.custom-audio-controls {
    padding: 10px !important;
  }
}

/* Radio player correction: player controls are full-width under art, now playing, and status */
.radio-audio-player.custom-audio-player {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  grid-template-areas:
    "art info"
    "controls controls" !important;
  gap: 14px 16px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
}

.radio-audio-player .radio-art-wrap {
  grid-area: art !important;
}

.radio-audio-player .radio-player-body {
  grid-area: info !important;
  min-width: 0 !important;
  width: 100% !important;
  padding-top: 2px !important;
}

.radio-audio-player .radio-audio-controls.custom-audio-controls {
  grid-area: controls !important;
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 38px minmax(150px, 0.55fr) !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 2px 0 0 !important;
  padding: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 15px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.05), rgba(0,0,0,0.18)),
    rgba(0,0,0,0.15) !important;
}

.radio-audio-player .radio-control-row,
.radio-audio-player .radio-control-main,
.radio-audio-player .radio-control-volume {
  display: contents !important;
}

.radio-audio-player .radio-control-volume {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.radio-audio-player .radio-control-fill {
  width: 100% !important;
  min-width: 0 !important;
  height: 5px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(42,185,102,0.62), rgba(255,255,255,0.13)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05) !important;
}

.radio-audio-player .volume-bar {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 575.98px) {
  .radio-audio-player.custom-audio-player {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "art"
      "info"
      "controls" !important;
  }

  .radio-audio-player .radio-audio-controls.custom-audio-controls {
    grid-template-columns: 44px minmax(0, 1fr) 38px !important;
  }

  .radio-audio-player .volume-bar {
    grid-column: 1 / -1 !important;
  }
}


/* Radio active station highlight */
.radio-station-card {
  position: relative !important;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease, background 0.22s ease !important;
}

.radio-station-card.is-radio-playing {
  border-color: rgba(42, 185, 102, 0.78) !important;
  box-shadow:
    0 0 0 1px rgba(42, 185, 102, 0.36),
    0 18px 38px rgba(0, 0, 0, 0.34),
    0 0 26px rgba(42, 185, 102, 0.18) !important;
  background:
    radial-gradient(circle at 22% 0%, rgba(42, 185, 102, 0.18), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,0.075), rgba(0,0,0,0.18)),
    rgba(255,255,255,0.045) !important;
}

.radio-station-card.is-radio-playing::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  border-radius: inherit;
  border-top: 2px solid rgba(58, 230, 135, 0.9);
  opacity: 0.95;
}

.radio-station-card.is-radio-playing .radio-station-badge {
  background: rgba(42, 185, 102, 0.22) !important;
  color: #c9ffd8 !important;
  box-shadow: inset 0 0 0 1px rgba(42, 185, 102, 0.28) !important;
}

.radio-station-card.is-radio-playing .radio-audio-controls.custom-audio-controls {
  border-color: rgba(42, 185, 102, 0.26) !important;
  box-shadow: inset 0 0 0 1px rgba(42, 185, 102, 0.08) !important;
}

/* ===== Friends page modern theme pass ===== */
.friends-modern-page.files-main-panel {
  position: relative;
  overflow: hidden;
  padding: 16px !important;
}

.friends-modern-page.files-main-panel:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-section-accent);
  z-index: 1;
}

.friends-modern-page.files-main-panel > * {
  position: relative;
  z-index: 2;
}

.friends-section-heading.files-section-heading {
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.friends-section-heading.files-section-heading p {
  margin-top: 2px;
  color: var(--textmuted);
  font-size: .9rem;
}

.friends-modern-page .member-tool-stats {
  gap: 8px;
}

.friends-modern-page .member-tool-stats span {
  border-color: var(--files-card-border);
  background: var(--files-card-bg);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.friends-modern-page .friends-tabs.nav-tabs {
  gap: 8px;
  border: 0;
  margin-top: 2px;
}

.friends-modern-page .friends-tabs .nav-link {
  border: 1px solid var(--files-card-border);
  border-radius: 999px;
  color: var(--textmuted);
  background: var(--files-card-bg);
  padding: 8px 13px;
  font-weight: 700;
  font-size: .86rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.friends-modern-page .friends-tabs .nav-link:hover,
.friends-modern-page .friends-tabs .nav-link.active {
  color: var(--files-heading-color);
  border-color: rgba(46, 204, 113, .45);
  background: linear-gradient(135deg, rgba(46,204,113,.16), var(--files-card-bg));
}

.friends-modern-page .friends-tabs .badge {
  top: 0;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(46,204,113,.16) !important;
  color: var(--files-heading-color);
}

.friends-modern-page .tabs-bordered {
  border: 1px solid var(--files-card-border);
  border-radius: 15px;
  background: var(--files-section-bg);
  box-shadow: inset 0 1px 0 var(--files-section-inset);
  padding: 14px;
}

.friends-modern-page .fbar {
  align-items: stretch;
  gap: 10px;
  margin-bottom: 14px;
}

.friends-modern-page .fbar .fsearch {
  min-height: 42px;
  border-color: var(--files-card-border);
  background: var(--files-card-bg);
  border-radius: 13px;
  padding: 0 12px;
}

.friends-modern-page .fbar .fsearch input::placeholder {
  color: var(--textmuted);
  opacity: .75;
}

.friends-modern-page .fbar .factions .btn,
.friends-modern-page .btn-outline-green {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  padding: 0 14px;
  white-space: nowrap;
}

.friends-modern-page .f-grid {
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.friends-modern-page .f-tile,
.friends-modern-page .f-row,
.friends-modern-page .card {
  border: 1px solid var(--files-card-border);
  background: var(--files-card-bg);
  border-radius: 15px;
  box-shadow: 0 12px 28px rgba(0,0,0,.15);
}

.friends-modern-page .f-tile {
  grid-template-columns: 54px 1fr auto;
  gap: 11px;
  padding: 12px;
}

.friends-modern-page .f-row {
  grid-template-columns: 50px 1fr auto;
  gap: 11px;
  padding: 11px;
}

.friends-modern-page .f-tile:hover,
.friends-modern-page .f-row:hover {
  transform: translateY(-2px);
  border-color: rgba(46,204,113,.42);
  box-shadow: 0 18px 34px rgba(0,0,0,.22), 0 0 0 1px rgba(46,204,113,.08);
}

.friends-modern-page .f-ava {
  width: 54px;
  height: 54px;
  border-radius: 15px;
  border: 1px solid rgba(46,204,113,.22);
  background: rgba(0,0,0,.18);
}

.friends-modern-page .f-row .f-ava {
  width: 50px;
  height: 50px;
  border-radius: 14px;
}

.friends-modern-page .f-name {
  color: var(--files-heading-color);
  font-size: .95rem;
  text-decoration: none;
}

.friends-modern-page .f-name:hover {
  color: var(--accent);
}

.friends-modern-page .f-meta {
  color: var(--textmuted);
  font-size: .78rem;
}

.friends-modern-page .f-ops {
  gap: 7px;
}

.friends-modern-page .btn-icon {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  border-color: var(--files-card-border);
  background: rgba(255,255,255,.04);
  color: var(--textmuted);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.friends-modern-page .btn-icon:hover {
  color: var(--files-heading-color);
  border-color: rgba(46,204,113,.4);
  background: rgba(46,204,113,.12);
}

.friends-modern-page .btn-icon.success {
  color: #b7ffd0;
  border-color: rgba(46,204,113,.38);
  background: rgba(46,204,113,.12);
}

.friends-modern-page .btn-icon.danger {
  color: #ffc7c7 !important;
  border-color: rgba(255,77,91,.34) !important;
  background: rgba(255,77,91,.10) !important;
}

.friends-modern-page .card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--files-heading-color);
  font-weight: 800;
}

.friends-modern-page .card-body {
  padding: 14px;
}

.friends-modern-page .f-empty {
  border: 1px dashed var(--files-card-border);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  color: var(--textmuted);
  padding: 22px 14px;
}

.friends-modern-page .input-group .form-control {
  min-height: 44px;
  border-color: var(--files-card-border);
  background: var(--files-card-bg);
  color: var(--normaltext);
  border-radius: 13px 0 0 13px;
}

.friends-modern-page .input-group .btn {
  border-radius: 0 13px 13px 0;
}

@media (max-width: 767.98px) {
  .friends-section-heading.files-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .friends-modern-page .member-tool-stats {
    justify-content: flex-start;
  }
  .friends-modern-page .fbar {
    flex-direction: column;
  }
  .friends-modern-page .fbar .factions .btn {
    width: 100%;
  }
  .friends-modern-page .f-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .friends-modern-page .f-tile,
  .friends-modern-page .f-row {
    grid-template-columns: 48px 1fr;
  }
  .friends-modern-page .f-ops {
    grid-column: 1 / -1;
    justify-content: stretch;
  }
  .friends-modern-page .btn-icon {
    flex: 1 1 auto;
  }
}

/* ===== Friends page state/polish pass ===== */
.friends-modern-page .f-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 118px;
  text-align: center;
}

.friends-modern-page .f-empty i {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: var(--files-heading-color);
  background: rgba(46, 204, 113, .10);
  border: 1px solid rgba(46, 204, 113, .20);
}

.friends-modern-page .f-empty span {
  display: block;
  max-width: 320px;
  line-height: 1.35;
}

.friends-modern-page .f-empty strong {
  color: var(--files-heading-color);
}

.friends-modern-page .f-list:empty {
  display: block;
}

.friends-modern-page .f-tile.is-request-sent {
  border-color: rgba(46, 204, 113, .34);
  background: linear-gradient(135deg, rgba(46, 204, 113, .08), var(--files-card-bg));
}

.friends-modern-page .btn-icon.is-sent,
.friends-modern-page .btn-icon:disabled {
  opacity: .85;
  cursor: default;
  transform: none !important;
}

.friends-modern-page .btn-icon.is-sent {
  color: #b7ffd0;
  border-color: rgba(46, 204, 113, .38);
  background: rgba(46, 204, 113, .14);
}

.friends-modern-page .card-title span:first-child {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.friends-modern-page .card-title i {
  color: var(--accent);
}

.friends-modern-page .f-ops .btn-icon {
  flex: 0 0 36px;
}

@media (max-width: 420px) {
  .friends-modern-page .f-ops .btn-icon {
    flex: 1 1 0;
    min-height: 40px;
  }
}

.friends-modern-page .f-grid > .f-empty {
  grid-column: 1 / -1;
}

.friends-modern-page .f-list > .f-empty {
  width: 100%;
}

/* Alerts page modern theme pass */
.alerts-main-panel.member-tool-page {
  position: relative;
  overflow: hidden;
  background: var(--files-main-panel-bg, var(--blog-post-bg)) !important;
  border: 1px solid var(--files-main-panel-border, var(--normalline));
  border-radius: 18px;
  box-shadow: var(--files-main-panel-shadow, 0 14px 32px rgba(0,0,0,.16));
}
.alerts-main-panel.member-tool-page:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--files-section-accent);
  z-index: 1;
}
.alerts-main-panel.member-tool-page > * {
  position: relative;
  z-index: 2;
}
.alerts-page .alerts-page-heading.files-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.alerts-page .alerts-page-title {
  display: flex;
  align-items: center;
  gap: .85rem;
  min-width: 0;
}
.alerts-page .alerts-page-icon {
  width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 46px;
  border-radius: 14px;
}
.alerts-page .alerts-page-kicker {
  display: block;
  margin-bottom: .12rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--textmuted);
}
.alerts-page .alerts-page-heading h4 {
  margin: 0;
  color: var(--files-heading-color, var(--normaltext));
  line-height: 1.15;
}
.alerts-page .alerts-page-heading p {
  margin: .2rem 0 0 0;
  color: var(--textmuted);
  font-size: .92rem;
}
.alerts-page .alerts-clear-btn {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: .5rem .85rem;
  font-weight: 700;
}
.alerts-page .alerts-list {
  display: grid;
  gap: .75rem;
  margin: 1rem 0 0 !important;
}
.alerts-page .alerts-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 36px;
  align-items: start;
  gap: .85rem;
  border: 1px solid var(--files-card-border, var(--normalline));
  border-radius: 16px;
  background: var(--files-card-bg, var(--normalbg));
  padding: .95rem !important;
  margin: 0 !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.11);
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.alerts-page .alerts-card:hover {
  transform: translateY(-1px);
  border-color: var(--accent);
  box-shadow: 0 14px 28px rgba(0,0,0,.16);
}
.alerts-page .alerts-card-unread {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--files-card-border, var(--normalline)));
}
.alerts-page .alerts-card-icon {
  width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
  border-radius: 14px;
  color: var(--accent);
  background: var(--altbg);
  border: 1px solid var(--normalline);
}
.alerts-page .alerts-card-body,
.alerts-page .alert-text-holder {
  min-height: 0;
  margin-left: 0 !important;
}
.alerts-page .alerts-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin-bottom: .25rem;
}
.alerts-page .alert-time {
  display: inline-flex;
  align-items: center;
  color: var(--textmuted);
  font-size: .82rem;
  margin: 0;
}
.alerts-page .alerts-unread-pill {
  display: inline-flex;
  align-items: center;
  padding: .18rem .45rem;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.alerts-page .alert-message {
  display: block;
  color: var(--normaltext);
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.alerts-page .alert-message a {
  color: var(--alink);
  font-weight: 700;
}
.alerts-page .alert-global {
  color: var(--accent);
  font-weight: 800;
}
.alerts-page .alerts-delete-btn {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  align-self: start;
  border-radius: 12px;
  border: 1px solid var(--normalline);
  background: var(--altbg);
  color: var(--textmuted) !important;
  text-decoration: none !important;
  transition: transform .15s ease, color .15s ease, border-color .15s ease, background .15s ease;
}
.alerts-page .alerts-delete-btn:hover {
  transform: translateY(-1px);
  color: var(--btn-danger-color, #fff) !important;
  border-color: var(--btn-danger-border, #dc3545);
  background: var(--btn-danger-bg, #dc3545);
}
.alerts-page .alerts-empty-state {
  border: 1px dashed var(--files-card-border, var(--normalline));
  border-radius: 16px;
  background: var(--files-card-bg, var(--normalbg));
  padding: 2rem 1rem;
  color: var(--textmuted);
}
.alerts-page .alerts-empty-icon {
  width: 54px;
  height: 54px;
  display: inline-grid;
  place-items: center;
  margin-bottom: .8rem;
  border-radius: 16px;
  color: var(--accent);
  background: var(--altbg);
  border: 1px solid var(--normalline);
  font-size: 1.35rem;
}
.alerts-page .alerts-empty-state h5 {
  margin: 0 0 .25rem 0;
  color: var(--normaltext);
  font-weight: 800;
}
.alerts-page .alerts-empty-state p {
  margin: 0;
}
@media (max-width: 575.98px) {
  .alerts-page .alerts-page-heading.files-section-heading {
    align-items: stretch;
    flex-direction: column;
  }
  .alerts-page .alerts-clear-btn {
    width: 100%;
    justify-content: center;
  }
  .alerts-page .alerts-card {
    grid-template-columns: 40px minmax(0, 1fr) 34px;
    gap: .65rem;
    padding: .8rem !important;
  }
  .alerts-page .alerts-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .alerts-page .alerts-delete-btn {
    width: 34px;
    height: 34px;
  }
}

/* Alerts page polish pass */
.alerts-page .alerts-card-removing {
  opacity: .42;
  pointer-events: none;
  transform: scale(.995);
}
.alerts-page .alerts-clear-btn.disabled,
.alerts-page .alerts-clear-btn[aria-disabled="true"] {
  opacity: .55;
  pointer-events: none;
  cursor: not-allowed;
}
.alerts-page .alerts-card-meta,
.alerts-page .alert-message {
  min-width: 0;
}
.alerts-page .alert-message img,
.alerts-page .alert-message iframe,
.alerts-page .alert-message video {
  max-width: 100%;
  height: auto;
}
.dropdown-notification .dropdown-notification-item {
  white-space: normal;
  gap: .65rem;
}
.dropdown-notification .dropdown-notification-copy {
  min-width: 0;
}
.dropdown-notification .dropdown-notification-message {
  display: block;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.dropdown-notification .dropdown-notification-icon .icon-circle {
  margin-top: .1rem;
}
@media (max-width: 420px) {
  .alerts-page .alerts-card {
    grid-template-columns: 1fr 34px;
  }
  .alerts-page .alerts-card-icon {
    display: none;
  }
  .alerts-page .alert-message {
    font-size: .95rem;
  }
}

/* Messages page modern theme pass */
.messages-page.member-tool-page {
  background: var(--files-main-panel-bg, var(--normalbg)) !important;
  border: 1px solid var(--normalline);
  border-radius: 16px;
  box-shadow: var(--files-main-panel-shadow, 0 14px 34px rgba(0,0,0,.18));
}
.messages-page .messages-tool-heading {
  margin-bottom: 1rem !important;
}
.messages-page .dm-viewport {
  min-height: 560px;
}
.messages-page .dm-wrap {
  gap: 1rem;
  min-height: 560px;
}
.messages-page .dm-panel {
  background: var(--normalbg) !important;
  border: 1px solid var(--normalline) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.14) !important;
}
.messages-page .dm-left {
  width: 350px;
}
.messages-page .dm-left .head,
.messages-page .dm-right .head,
.messages-page .dm-compose {
  background: var(--altbg) !important;
  border-color: var(--normalline) !important;
}
.messages-page .dm-right .head {
  flex-wrap: wrap;
  row-gap: .75rem;
}
.messages-page .dm-search .input-group-text {
  border-radius: 999px 0 0 999px;
  border-color: var(--normalline);
  background: var(--normalbg);
  color: var(--textmuted);
}
.messages-page .dm-search .form-control {
  min-height: 42px;
  border-radius: 0 999px 999px 0 !important;
  border-color: var(--normalline);
  background: var(--normalbg);
  color: var(--normaltext) !important;
}
.messages-page .dm-list {
  background: var(--normalbg);
}
.messages-page .dm-item {
  gap: .85rem;
  padding: .85rem .9rem;
  color: var(--normaltext) !important;
  border-color: var(--normalline) !important;
}
.messages-page .dm-item:hover,
.messages-page .dm-item:focus {
  background: var(--altbg) !important;
  text-decoration: none;
}
.messages-page .dm-item.active {
  background: var(--files-section-bg, var(--altbg)) !important;
  box-shadow: inset 3px 0 0 var(--accent);
}
.messages-page .dm-avatar {
  margin-right: 0 !important;
  flex: 0 0 40px;
  border: 1px solid var(--normalline);
  background: var(--altbg) !important;
  color: var(--accent) !important;
  overflow: hidden;
}
.messages-page .dm-avatar img,
.messages-page .dm-avatar-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.messages-page .dm-meta .name,
.messages-page .dm-right .head .title,
.messages-page .dm-head-link {
  color: var(--normaltext) !important;
}
.messages-page .dm-head-link {
  text-decoration: none;
}
.messages-page .dm-head-link:hover {
  color: var(--accent) !important;
}
.messages-page .dm-meta .sub {
  color: var(--textmuted) !important;
}
.messages-page .dm-unread {
  background: var(--accent) !important;
  color: #fff !important;
  font-weight: 800;
  letter-spacing: .02em;
  padding: .2rem .5rem !important;
}
.messages-page .dm-actions {
  max-width: 100%;
}
.messages-page .dm-actions .btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: flex-end;
}
.messages-page .dm-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-height: 34px;
  border-radius: 10px !important;
  margin: 0 !important;
  white-space: nowrap;
}
.messages-page #dm-banner {
  border-radius: 0;
  margin: 0;
  border-left: 0;
  border-right: 0;
}
.messages-page .dm-chat {
  max-height: 460px !important;
  min-height: 360px;
  padding: 1rem .85rem;
  background:
    radial-gradient(circle at 10% 0%, rgba(46, 204, 113, .08), transparent 30%),
    var(--dm-bg, var(--normalbg));
}
.messages-page .dm-day span {
  background: var(--altbg) !important;
  border-color: var(--normalline) !important;
  color: var(--textmuted) !important;
  font-weight: 700;
}
.messages-page .dm-row {
  margin: .22rem 0;
}
.messages-page .dm-bubble-wrap {
  max-width: 92%;
}
.messages-page .dm-bubble {
  padding: .72rem .9rem !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.05);
  box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
}
.messages-page .dm-message {
  font-size: .94rem !important;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.messages-page .dm-author-me,
.messages-page .dm-author-you {
  font-size: .82rem !important;
  letter-spacing: .02em;
}
.messages-page .dm-meta-line {
  font-size: .72rem !important;
}
.messages-page .dm-compose {
  padding: .85rem !important;
}
.messages-page .dm-compose-form {
  gap: .65rem;
}
.messages-page .dm-input {
  min-height: 46px;
  max-height: 150px;
  border-radius: 14px !important;
  border-color: var(--normalline) !important;
  background: var(--normalbg) !important;
  color: var(--normaltext) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.messages-page .dm-input::placeholder {
  color: var(--textmuted) !important;
  opacity: .75 !important;
}
.messages-page #dm-send-btn {
  min-width: 48px;
  height: 46px;
  border-radius: 14px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.messages-page .dm-msg-ops .dm-op {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(0,0,0,.08);
}
.messages-page .dm-msg-ops .dm-op:hover {
  text-decoration: none !important;
  background: rgba(0,0,0,.16);
}
.messages-page .dm-empty-state {
  display: flex;
  min-height: 180px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: 1.25rem;
  text-align: center;
  color: var(--textmuted);
}
.messages-page .dm-empty-state-large {
  min-height: 320px;
}
.messages-page .dm-empty-state strong {
  color: var(--normaltext);
  font-size: 1rem;
}
.messages-page .dm-empty-icon {
  width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
  border-radius: 14px;
  border: 1px solid var(--normalline);
  background: var(--altbg);
  color: var(--accent);
  font-size: 1.1rem;
}
.messages-page .dm-empty-danger .dm-empty-icon { color: var(--btn-danger-color, #dc3545); }
.messages-page .dm-empty-warning .dm-empty-icon { color: #f0ad4e; }
@media (max-width: 991.98px) {
  .messages-page .dm-viewport,
  .messages-page .dm-wrap {
    min-height: 0;
  }
  .messages-page .dm-left {
    width: 100%;
    max-height: 330px;
  }
  .messages-page .dm-chat {
    min-height: 340px;
  }
}
@media (max-width: 575.98px) {
  .messages-page.member-tool-page {
    padding: .75rem !important;
    border-radius: 14px;
  }
  .messages-page .dm-right .head {
    align-items: flex-start;
  }
  .messages-page .dm-actions,
  .messages-page .dm-actions .btn-group {
    width: 100%;
    justify-content: flex-start;
  }
  .messages-page .dm-actions .btn span {
    display: none;
  }
  .messages-page .dm-compose-form {
    align-items: stretch !important;
  }
  .messages-page .dm-input {
    min-height: 48px;
  }
  .messages-page .dm-bubble-wrap {
    max-width: 100%;
  }
  .messages-page .messages-tool-stats {
    width: 100%;
  }
}

/* Messages phase 2: state, action, and mobile polish */
.messages-page .dm-right .head {
  flex-wrap: wrap;
}
.messages-page .dm-actions {
  max-width: 100%;
}
.messages-page .dm-actions .btn-group {
  flex-wrap: wrap;
  gap: .35rem;
}
.messages-page .dm-actions .btn {
  border-width: 1px !important;
}
.messages-page .dm-head-link {
  color: var(--normaltext);
  text-decoration: none;
}
.messages-page .dm-head-link:hover {
  color: var(--accent);
  text-decoration: none;
}
.messages-page .dm-banner-state {
  display: flex;
  align-items: center;
  gap: .35rem;
  border-radius: 0 !important;
  font-size: .9rem;
}
.messages-page .dm-filter-empty {
  min-height: 150px;
  border-bottom: 0 !important;
}
.messages-page .dm-empty-after-action {
  min-height: 220px;
}
.messages-page .dm-item.active {
  box-shadow: inset 3px 0 0 var(--accent);
}
.messages-page .dm-thread-item[style*="display: none"] + .dm-filter-empty {
  border-top: 1px solid var(--normalline);
}
.messages-page .dm-msg-ops {
  justify-content: flex-start;
  margin-top: .5rem !important;
}
.messages-page .dm-row.me .dm-msg-ops,
.messages-page .dm-row.you .dm-msg-ops {
  opacity: .72;
  transition: opacity .12s ease;
}
.messages-page .dm-row:hover .dm-msg-ops {
  opacity: 1;
}
.messages-page .dm-row.me .dm-bubble,
.messages-page .dm-row.you .dm-bubble {
  overflow: hidden;
}
.messages-page .dm-message a {
  overflow-wrap: anywhere;
}
.messages-page .dm-compose #dm-send-btn:disabled {
  opacity: .65;
  cursor: not-allowed;
  transform: none !important;
}
.messages-page .dm-input:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 .18rem rgba(46, 204, 113, .12), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
@media (max-width: 767.98px) {
  .messages-page .dm-actions .btn-group {
    display: grid;
    grid-template-columns: repeat(4, minmax(42px, 1fr));
    width: 100%;
  }
  .messages-page .dm-actions .btn {
    min-width: 0;
    width: 100%;
  }
  .messages-page .dm-right .head > .d-flex {
    width: 100%;
  }
}
@media (max-width: 575.98px) {
  .messages-page .dm-left {
    max-height: 280px;
  }
  .messages-page .dm-chat {
    min-height: 300px;
    max-height: 390px !important;
    padding: .75rem .55rem;
  }
  .messages-page .dm-compose {
    padding: .7rem !important;
  }
  .messages-page .dm-compose-form {
    display: grid !important;
    grid-template-columns: 1fr 48px;
    gap: .5rem;
  }
  .messages-page .dm-input {
    margin-right: 0 !important;
  }
  .messages-page .dm-bubble {
    padding: .65rem .75rem !important;
  }
  .messages-page .dm-bubble-wrap.continued .dm-bubble {
    margin-left: 0;
  }
}


/* Mobile navigation layout cleanup */
@media only screen and (max-width: 991px) {
    .navbar-mainmenu .offcanvas-body {
        gap: .75rem;
    }
    .navbar-mainmenu .offcanvas-body > .navbar-nav.navbar-nav-utility,
    .navbar-mainmenu .offcanvas-body > .navbar-nav.order-first {
        order: 1 !important;
        margin: 0;
        padding: 0 0 .75rem 0;
        border-bottom: 1px solid var(--main-nav-border, rgba(255, 255, 255, .08));
        border-top: 0;
    }
    .navbar-mainmenu .offcanvas-body > .navbar-nav.navbar-nav-primary,
    .navbar-mainmenu .offcanvas-body > .navbar-nav.order-last {
        order: 2 !important;
        margin: 0;
        padding: 0;
        border-top: 0;
    }
    .navbar-mainmenu .navbar-nav-utility .dropdown-menu {
        margin: .35rem 0 .45rem 0;
        padding: .35rem;
    }
    .navbar-mainmenu .navbar-nav-utility .dropdown-menu:not(.show) {
        display: none;
    }
    .navbar-mainmenu .navbar-nav-utility .navitemicon,
    .navbar-mainmenu .navbar-nav-utility .d-none.d-md-block {
        display: none !important;
    }
    .navbar-mainmenu .navbar-nav-utility .d-block.d-md-none,
    .navbar-mainmenu .navbar-nav-utility .searchbaricon,
    .navbar-mainmenu .navbar-nav-utility .themeicon {
        display: block !important;
    }
    .navbar-mainmenu .searchbaricon .nav-link,
    .navbar-mainmenu .themeicon .nav-link {
        justify-content: flex-start;
    }
    .navbar-mainmenu #searchbarlink::after,
    .navbar-mainmenu #thememode::after {
        content: none !important;
    }
}

/* Mobile navigation structural reset
   Keeps Bootstrap 5 offcanvas behavior clean on small screens and prevents
   utility/search/theme links from overlapping the primary navigation. */
@media only screen and (max-width: 991px) {
    .navbar-mainmenu .offcanvas-body {
        display: block !important;
        height: calc(100vh - 58px) !important;
        min-height: 0 !important;
        max-height: calc(100vh - 58px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: .9rem .95rem 1.25rem !important;
    }
    .navbar-mainmenu .offcanvas-body > .navbar-nav,
    .navbar-mainmenu .offcanvas-body > .navbar-nav.navbar-nav-primary,
    .navbar-mainmenu .offcanvas-body > .navbar-nav.navbar-nav-utility {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        position: static !important;
        min-height: 0 !important;
        order: initial !important;
        float: none !important;
    }
    .navbar-mainmenu .offcanvas-body > .navbar-nav.navbar-nav-utility {
        margin-top: .85rem !important;
        padding-top: .85rem !important;
        border-top: 1px solid var(--main-nav-border, rgba(255,255,255,.08)) !important;
    }
    .navbar-mainmenu .offcanvas .nav-item,
    .navbar-mainmenu .offcanvas .searchbaricon,
    .navbar-mainmenu .offcanvas .themeicon {
        display: block !important;
        position: static !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 0 .22rem 0 !important;
        padding: 0 !important;
        inset: auto !important;
        transform: none !important;
    }
    .navbar-mainmenu .offcanvas .navitemicon,
    .navbar-mainmenu .offcanvas .d-none.d-md-block {
        display: none !important;
    }
    .navbar-mainmenu .offcanvas .d-block.d-md-none {
        display: block !important;
    }
    .navbar-mainmenu .offcanvas .nav-link,
    .navbar-mainmenu .offcanvas .searchbaricon .nav-link,
    .navbar-mainmenu .offcanvas .themeicon .nav-link {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: .65rem !important;
        width: 100% !important;
        height: auto !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: .62rem .78rem !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
    }
    .navbar-mainmenu .offcanvas #searchbarlink::after,
    .navbar-mainmenu .offcanvas #thememode::after {
        content: none !important;
    }
    .navbar-mainmenu .offcanvas .dropdown-menu {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        margin: .25rem 0 .45rem 0 !important;
        box-shadow: none !important;
    }
}

/* Main navigation theme setting modifiers. Colors remain controlled by site-custom.css variables. */
.navbar-mainmenu.nav-density-compact .nav-item .nav-link {
    padding: .42rem .58rem;
    font-size: .92rem;
}
.navbar-mainmenu.nav-density-roomy .nav-item .nav-link {
    padding: .64rem .9rem;
    font-size: 1rem;
}
.navbar-mainmenu.nav-pill-off .nav-item .nav-link {
    border-radius: 8px;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.navbar-mainmenu.nav-pill-off .nav-item .nav-link:hover,
.navbar-mainmenu.nav-pill-off .nav-item .nav-link:focus,
.navbar-mainmenu.nav-pill-off .nav-item .nav-link.active,
.navbar-mainmenu.nav-pill-off .nav-item .nav-link.show {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.navbar-mainmenu.nav-underline-on .nav-item .nav-link::after {
    content: '';
    display: block !important;
    position: absolute;
    left: .72rem;
    right: .72rem;
    bottom: .25rem;
    height: 2px;
    border-radius: 999px;
    background: var(--main-nav-underline, var(--main-nav-active-border, rgba(var(--site-accent-rgb), .55)));
    opacity: 0;
    transform: scaleX(.42);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: none;
}
.navbar-mainmenu.nav-underline-on .nav-item .nav-link:hover::after,
.navbar-mainmenu.nav-underline-on .nav-item .nav-link:focus::after,
.navbar-mainmenu.nav-underline-on .nav-item .nav-link.active::after,
.navbar-mainmenu.nav-underline-on .nav-item .nav-link.show::after {
    opacity: 1;
    transform: scaleX(1);
}
.navbar-mainmenu.nav-more-off #moreNavDropdown {
    display: none !important;
}
@media only screen and (max-width: 991px) {
    .navbar-mainmenu.nav-density-compact .nav-item .nav-link,
    .navbar-mainmenu.nav-density-roomy .nav-item .nav-link {
        min-height: 44px;
    }
    .navbar-mainmenu.nav-density-compact .nav-item .nav-link { padding: .56rem .72rem; }
    .navbar-mainmenu.nav-density-roomy .nav-item .nav-link { padding: .78rem .94rem; }
    .navbar-mainmenu.nav-underline-on .nav-item .nav-link::after { display: none !important; content: none !important; }
    .navbar-mainmenu .offcanvas.offcanvas-end {
        border-right: 0;
        border-left: 1px solid var(--main-nav-border, rgba(255, 255, 255, .08));
        box-shadow: var(--main-nav-mobile-shadow-end, -18px 0 34px rgba(0, 0, 0, .22));
    }
}
