a, .page-item, .uSpoilerButton, .reply_content, .com-bot-submit,
.auth button, .moder, .forum-column .post {
    -webkit-transition: All 0.4s ease;
    -moz-transition: All 0.4s ease;
    -o-transition: All 0.4s ease;
    -ms-transition: All 0.4s ease;
    transition: All 0.4s ease;
}
html {
    height: 100%; /* Критически важно для min-height у body */
}
body{
    margin: 0;
    padding: 0;
    font-family: "Trebuchet MS","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 15px;
    line-height: 1.42;
    background: #F2F2F2;

    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.row{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.header-top{
    height: 90px;
    color: #fff;
    font-size: 34px;
    line-height: 80px;
    background: rgb(35,105,158);
    background: linear-gradient(90deg, rgba(35,105,158,1) 0%, rgba(44,132,199,1) 100%);
}

.head_top_cont {
    display: flex;
    margin: 0 auto;
    max-width: 1200px;
}
.footer{
    margin-top: 18px;
}
.col-logo {
    flex-basis: 370px;
}

.col-logo img {
    margin: 26px 0 0 -1px;
}

.user-profile {
    position: relative;
}

.user-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    margin: 24px 0 0 0;
    cursor: pointer;
    border: 3px solid #186197;
    transition: transform 0.2s ease-out;
}

.user-avatar:hover {
    /* Увеличиваем аватар на 10% */
    transform: scale(1.1);
}

.user-hover {
    display: none;
    position: absolute;
    top: 70px;
    right: 0;
    background: #fff;
    padding: 15px;
    color: #555;
    border: 1px solid #eee;
    border-radius: 3px;
    -webkit-box-shadow: 0px 2px 4px 0px rgba(34, 60, 80, 0.14);
    -moz-box-shadow: 0px 2px 4px 0px rgba(34, 60, 80, 0.14);
    box-shadow: 0px 2px 4px 0px rgba(34, 60, 80, 0.14);
    z-index: 999999;
    font-size: 15px;
    line-height: 24px;
}

.user-hover a i {
    width: 24px;
    line-height: 21px;
}

.user-hover::before {
    content: '';
    border: 8px solid transparent;
    border-bottom: 8px solid #eee;
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    top: -17px;
    right: 10px;
    z-index: 0;
}

.user-hover a {
    display: flex;
    padding: 0 10px 0 10px;
    white-space: nowrap;
}

.user-hover a i {
    width: 24px;
    line-height: 21px;
}

.user-link-reg {
    border-bottom: 1px solid #eee;
    padding-bottom: 15px!important;
    margin-bottom: 15px;
}

.user-ball-number {
    background: #FF4426;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 600;
    width: 18px;
    display: block;
    line-height: 18px;
    position: absolute;
    top: -7px;
    right: -10px;
}

.user-mes-count {
    position: absolute;
    font-size: 11px;
    height: 20px;
    width: 20px;
    background: #E10000;
    line-height: 21px;
    border-radius: 50%;
    font-weight: 600;
    text-align: center;
    top: 5px;
    right: 5px;
    padding: 0;
    cursor: pointer;
}

/* 1. Главный контейнер для правой части шапки */
.col-list {
    flex-basis: 100%;
    display: flex;
    justify-content: flex-end; /* Выравнивает все содержимое (группу иконок и профиль) по правому краю */
    align-items: center;       /* Выравнивает по вертикали */
}

/* 2. Контейнер для группы иконок */
.header-icon-group {
    display: flex;
    align-items: center;
    margin-right: 5px;
}

/* 3. Общий стиль для каждого блока-иконки */
.header-icon-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 48px;
    cursor: pointer;
    position: relative; /* Необходимо для позиционирования hover-эффекта и счетчиков */
}

/* 4. Общий стиль для самих иконок (шрифт) */
.header-icon-item > i {
    position: relative;
    z-index: 2; /* Иконка всегда НАД hover-эффектом */
    font-size: 19px;
    color: #fff;
    transition: color 0.2s ease-in-out;
}

/* 5. ЕДИНЫЙ hover-эффект (круглый ореол) */
.icon-hover-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 36px;
    height: 36px;
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
    transition: transform 0.2s ease-out, opacity 0.2s ease-out;
    z-index: 1; /* Фон находится ПОД иконкой */
}

/* 6. Активация hover-эффекта для ЛЮБОГО .header-icon-item */
.header-icon-item:hover .icon-hover-wrap {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}

.header-menu {
    height: 45px;
    color: #fff;
    background: rgb(22,67,101);
    background: linear-gradient(90deg, rgba(22,67,101,1) 0%, rgba(31,94,142,1) 100%);
}

.header-menu ul {
    margin: 0 -15px;
    padding: 0;
    display: flex;
    justify-content: flex-start;
}

.header-menu ul li {
    padding: 0;
    margin: 0 15px;
    list-style-type: none;
}

.header-menu ul li:last-child a {
    background: #fff;
    border-radius: 28px;
    padding: 5px 15px;
    color: #1A4F77;
    font-size: 14px;
    top: 1px;
    position: relative;
}

.header-menu ul li:last-child a:hover {
    color: #2879B8;
}

.header-menu ul li:last-child a i {
    background: #164365;
    color: #fff;
    padding: 10px;
    border-radius: 5px;
    margin: 0 -5px 0 5px;
}

.header-menu ul li:last-child {
    margin-left: auto;
}

.header-menu ul li a {
    color: #93b6d1;
    height: 45px;
    line-height: 45px;
    text-transform: uppercase;
}

.header-menu ul li a:hover {color: #fff}

.block-hr {
    height: 6px;
    background: #afbfcb;
}

.footer-bottom {
    background: #2E2E2E;
    color: #ccc;
    line-height: 60px;
}

.wrap {
    display: flex;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    justify-content: space-between;
}

.content {
    flex-basis: calc(100% - 370px);
    width: 100%;
}

.wrap aside {
    flex-basis: 350px;
    margin: 20px 0 0 20px;
}

.stripe-line {
    background: url(/images/stripe.png) bottom center repeat-x;
    height: 22px;
    margin: 3px 0 10px 0;
}

.block-title {
    font-size: 24px;
    font-weight: 600;
    background: #F2F2F2;
    display: inline-block;
    line-height: 24px;
    color: #174569;
    padding: 0 5px 0 0;
}

.block-content {
    background: #FFF;
    border-bottom: 4px solid #afbfcb;
    -webkit-box-shadow: 0 0 3px #CACACA;
    -moz-box-shadow: 0 0 3px #cacaca;
    box-shadow: 0 0 3px #CACACA;
    padding: 10px;
}

h1, h2, h3, h4, h5, h6, p {
    text-shadow: 0 1px 0 rgba(255,255,255,0.9), 0 1px 0 rgba(255,255,255,0.9), 0 1px 0 rgba(255,255,255,0.9);
}

h1 {
    font-size: 24px;
    color: #174569;
    margin: 20px 0;
}

h2 {
    font-size: 21px;
    color: #174569;
}

.breadcrumb, .breadcrumb_active {
    color: #174569;
    padding: 0;
    display: inline-flex;
    position: relative;
    top: -10px;
    margin: 0 0 0px 0;
}

.breadcrumb li {
    list-style-type: none;
    margin-right: 20px;
    position: relative;
}

.breadcrumb li a {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    max-width: 150px;
    display: inline-block;
}

.breadcrumb li::after {
    content: '/';
    position: absolute;
    top: 0;
    right: -15px;
    color: #ccc;
}

a {
    color: #595959;
    text-decoration: none;
}

a:hover {
    color: #081824;
}

.pagination-wrap {
    display: table;
    margin: 25px auto;
}

.pagination {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: flex-start;
}

.page-item {
    list-style-type: none;
    border-bottom: 3px solid #afbfcb;
    border-left: 3px solid rgba(255,255,255,0);
    border-radius: 0;
    border-right: 3px solid rgba(255,255,255,0);
    padding: 5px 10px;
    color: #174569;
    font-weight: 600;
}

.page-item:hover {
    color: #081824;
    padding: 0px 10px 10px;
}

.page-item:hover a {color: #081824;}

.pagination .active {
    border-bottom: 3px solid #174569!important;
}

.pagination .disabled, .pagination li:last-child, .pagination li:first-child {border-bottom: 0!important; padding: 5px 10px!important;}

.con-nav {
    margin: 0 0 25px 0;
}

.con-nav ul {
    margin: 0 -5px;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.con-nav ul li {
    padding: 0;
    margin: 0 5px;
    list-style-type: none;
}

.con-nav ul li a {
    white-space: nowrap;
    background: #afbfcb;
    padding: 5px 15px;
    border-radius: 5px;
    margin: 0 0 10px 0;
    display: inline-flex;
    color: #174569;
}

.con-nav ul li a:hover{
    background: #1C547F;
    color: #fff;
}

.block {margin: 0 0 15px 0;}

.intem {
    background: #FFF;
    border-left: 4px solid #afbfcb;
    -webkit-box-shadow: 0 0 3px #CACACA;
    -moz-box-shadow: 0 0 3px #cacaca;
    box-shadow: 0 0 3px #CACACA;
    padding: 1px 10px 10px 10px;
    margin: 0 0 20px 0;
    color: #444;
}

.uSpoilerButton {
    background: #eee;
    color: #081824;
    border-radius: 4px;
    border: 1px solid #ddd;
    padding: 5px 10px;
}

.uSpoilerButton:hover {
    background: #174569;
    color: #fff;
    border: 1px solid #174569;
    cursor: pointer;
}

.intem p {
    line-height: 23px;
    color: #222;
}

.intem-info {
    padding: 12px 0px 5px;
    color: #59788f;
    font-size: 15px;
    border-top: 1px solid #d2dee7;
}

.intem-info span {
    padding: 0 15px 0 0;
}

.intem-info span i {margin-right: 2px}

.intem-info span i.fa-folder-open {font-size: 16px;}
.intem-info span i.fa-eye {font-size: 16px;}
.intem-info span i.fa-user {font-size: 14px;}
.intem-info span i.fa-clock {font-size: 14px;}

.intem h2 a:hover{text-decoration: underline;}

.menu-baza {
    margin: 0;
    padding: 0;
}

.menu-baza li {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.menu-baza i {margin-right: 5px;}

.menu-baza li:last-child a {border: none!important;}

.menu-baza li a {
    display: block;
    padding: 10px;
    border-bottom: 1px solid #eee;
}

.menu-baza li a:hover {
    background: #eee;
}

.no-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    line-height: 38px;
    text-align: center;
    background: #186197;
    color: #395091;
    margin: 24px 0 0 0;
    cursor: pointer;
    transition: transform 0.2s ease-out;
}

.no-avatar:hover {
    transform: scale(1.1);
}

.no-avatar i {
    color: #7ab0d9;
    width: 24px;
    line-height: 18px;
    font-size: 15px!important;
    position: relative;
    top: -6px;
}

.page-info {
    display: flex;
    justify-content: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid #dce6ed;
}

.page-info:last-child {border: none!important;}

.page-info-left {
    width: 250px;
    display: flex;
	align-items: center;
}

.page-info-right {
    width: calc(100% - 250px);
}

.page-info-left i {
    width: 18px;
    text-align: center;
    margin-right: 10px;
}

.page-intem a:hover {text-decoration: underline;}

.box-modal-arhive {word-break: break-all}

.box-modal-arhive h1 {
    font-size: 18px;
    color: #2d2d2d;
    margin: 5px 0 20px 0;
    text-transform: uppercase;
}

.box-modal-arhive hr{
    border: 0;
    border-bottom: 1px solid #ccc;
}

.box-modal-arhive br{display: none;}

.mes-load {
    color: red!important;
    margin: 0 0 10px 0px;
    line-height: 18px!important;
    font-size: 14px;
}

.comment-wrap {
    margin: 0 0 25px 0;
}

.comment-header {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.comment-header img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 10px;
}

.comment-header span {
    font-weight: bold;
    margin-right: 10px;
}

.comment-message {
    margin-bottom: 10px;
}

.comment a {
    color: blue;
    text-decoration: underline;
}

.replies {
    margin-left: 20px;
}

.comment-intem {
    background: #fff;
    margin: 0 0 15px 0;
    padding: 15px;
    border-left: 4px solid #afbfcb;
    color: #333;
    -webkit-box-shadow: 0 0 3px #CACACA;
    -moz-box-shadow: 0 0 3px #cacaca;
    box-shadow: 0 0 3px #CACACA;
}

.comment-intem a {color: #333;}
.comment-intem a:hover {text-decoration: none;}

.comment-data {
    font-weight: 200!important;
    font-size: 12px;
    color: #999;
    display: inline-block;
    margin: 3px 0 0 0;
}

.reply_content {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
    min-width: calc(100% - 20px);
    padding: 10px;
    border-radius: 3px;
    border: 1px solid #ccc;
    font-size: 16px;
    color: #444444;
    line-height: 21px;
}

.reply_content:focus{
    outline: none;
    border: 1px solid #164365;
}

.com-bot-submit {
    background: #174572;
    border-radius: 4px;
    margin: 10px auto;
    border: 0;
    color: #fff;
    display: flex;
    padding: 10px 15px;
    font-size: 14px;
    cursor: pointer;
}

.com-bot-submit:hover{
    background: #216497;
}

.comment-form {
    margin: 0 0 25px 0;
}

.page-information {
    background: #FFF;
    border-left: 4px solid #FF5600;
    -webkit-box-shadow: 0 0 3px #CACACA;
    -moz-box-shadow: 0 0 3px #cacaca;
    box-shadow: 0 0 3px #CACACA;
    padding: 1px 10px 10px 10px;
    margin: 0 0 20px 0;
    color: #444;
}

.page-information strong {
    color: #FF5600;
}

.page-information a {text-decoration: underline}
.page-information a:hover {text-decoration: none}

.com-info {
    background: #e9e9e9;
    border-radius: 5px;
    padding: 15px;
    color: #174572;
    margin: 0 0 45px 0;
}

.com-info i {
    margin-right: 5px;
}

.com-info a {text-decoration: underline}
.com-info a:hover {text-decoration: none}

.progress {
    width: 43.2px;
    height: 7.2px;
    -webkit-mask: linear-gradient(90deg,#174572 70%,#0000 0) left/20% 100%;
    background: linear-gradient(#174572 0 0) left/0% 100% no-repeat
    #dbdcef;
    animation: progress-422c3u 1.2s infinite steps(6);
}

@keyframes progress-422c3u {
    100% {
        background-size: 120% 100%;
    }
}

.archive-progress {
    padding: 10px 0;
}

.intem img {max-width: 100%;}

.breadcrumb_active {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 300px;
    display: inline-block;
    top: -10px;
}

.page-wrap {
    margin-top: 10px;
}

.auth {
    height: calc(100vh - 300px);
    color: #444;
}

.auth .form-control  {
    border: 1px solid #ccc;
    padding: 6px 10px;
    border-radius: 3px;
    margin: 5px 0;
    width: 100%;
    max-width: 250px;
}

.auth .form-check {
    margin: 5px 0;
}

.auth button {
    background: #174572;
    color: #fff;
    border-radius: 4px;
    border: 1px solid #174572;
    padding: 5px 10px;
    margin: 5px 10px 0 0;
}

.auth button:hover {
    background: #3c7bb9;
    border: 1px solid #3c7bb9;
    cursor: pointer;
}

.auth .invalid-feedback {
    display: block;
    margin: 0px 0 15px;
    font-weight: 200;
    color: red;
}

.auth .invalid-feedback strong {font-weight: 200}

.intem-add {min-height: calc(100vh - 339px)}

.add_podskazka {
    color: #777!important;
    font-size: 12px;
}

.bot-plus {margin: 10px 0;}

.page-intem {
    position: relative;
}

.page-intem img {margin: 10px 0 0 0;}

page-image-galery{
    display: flex;
    justify-content: flex-start;
}
.page-image-galery img {width: 20%;}

.list-intem {position: relative!important;}

.moder {
    position: absolute;
    top: 10px;
    right: 10px;
    opacity: 0;
    background: #fff;
}

.page-intem:hover .moder, .list-intem:hover .moder {opacity: 1;}

.moder i {
    margin-right: 5px;
    cursor: pointer;
}

.moder .fa-check {color: green}
.moder .fa-trash-alt {color: red}

.moder i:hover {opacity: 0.5;}

.spinner {
    display: inline-block;
    position: relative;
    top: 3px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 3.8px solid;
    border-color: #dbdcef;
    border-right-color: #174572;
    animation: spinner-d3wgkg 1s infinite linear;
}

@keyframes spinner-d3wgkg {
    to {
        transform: rotate(1turn);
    }
}

.num-data {
    background: #7d95a7;
    border-radius: 10px;
    font-size: 12px;
    display: contents;
    padding: 6px 5px 5px;
    line-height: 11px;
    margin: 0 0px 0 7px;
    color: #fff;
    position: relative;
    font-weight: 600;
}

.box-modal h2 {
    color: #222;
    padding: 0;
    margin: 5px 0 10px 0;
}

.download_modal {
    padding: 5px 0;
}

.box-modal hr {
    border: 0;
    border-top: 1px solid #ddd;
    margin: 15px 0 10px 0;
}

.auth-info a {
    font-weight: bold;
    color: #174569;
}

.footer-info {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
}

.footer-info .copy {
    margin-left: auto;
}

.footer-info a {color: #ccc}
.footer-info a:hover {color: #fff}

.wrap-forum {display: block}

.wrap-forum section.content {
    flex-grow: 1;
}

.forum-column {
    width: 100%; /* Адаптивная ширина, занимает 95% от родительского контейнера */
    margin: 20px auto;
    font-family: Arial, sans-serif;
}

.section {
    margin-bottom: 20px;
    flex-grow: 1;
}
section.row { /* Или другой класс/id вашего основного контента */
    flex-grow: 1;
}
.section-title {
    display: flex; /* Включаем Flexbox */
    justify-content: space-between; /* Размещаем заголовок и кнопку по краям */
    align-items: center; /* Выравниваем элементы по вертикали по центру */
    background-color: #246ca3;
    color: #eef7ff;
    padding: 12px 15px;
    font-weight: 600;
    border-radius: 5px 5px 0 0;
    font-size: 17px;
    position: relative; /* Важно: relative позиционирование для section-title */

}

.section-title > h2 { /* **Удалите, если у вас нет h2 внутри section-title, или адаптируйте под ваш заголовок** */
    margin: 0; /* Убираем стандартные отступы у заголовка, чтобы flexbox работал корректно */
    line-height: 1.2; /* Настраиваем line-height, если нужно */
}

.post {
    background-color: #fff;
    padding: 15px;
    border-radius: 0 0 5px 5px;
    border: 1px solid #e0e8f0;
    border-top: none;
    display: flex;
    flex-direction: column; /* По умолчанию вертикальное расположение для мобильных */
    align-items: stretch; /* Растягиваем элементы на всю ширину контейнера для мобильных */
}

.post-content {
    flex-grow: 1;
    margin-right: 0; /* Убираем отступ справа для мобильных, так как автор снизу */
    margin-bottom: 10px; /* Добавляем отступ снизу для мобильных между контентом и автором */
}

.post-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 5px;
}

.post-description {
    color: #666;
    margin-bottom: 10px;
}

.post-stats {
    color: #999;
    font-size: 13px;
}

.post-author {
    display: flex;
    flex-direction: row; /* Горизонтальное расположение для десктопов */
    align-items: center; /* Выравнивание по центру по вертикали */
    text-align: left; /* Выравнивание текста влево */
    margin: 12px 0 0 0;
    width: 300px;
}

.post-author img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    margin-right: 10px;
    border: 1px solid #cfdadf;
    padding: 3px;
}

.author-info {
    font-size: 12px;
}

.author-name {
    font-weight: 200;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
    font-size: 13px;
}

.author-username,
.author-time {
    color: #999;
    font-size: 13px;
    margin: 2px 0 0;
}

.author-username{
    cursor: pointer;
}

.pagination-forum {
    margin: 10px auto 40px;
    display: table;
}

.post-description span {
    background: green;
    color: #fff;
    padding: 2px 5px;
    font-size: 12px;
    border-radius: 2px;
}

.forum-column .post:hover{
    background: #ebeeff
}

.avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: #b7cad3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: white;
    border: 1px solid #acc6d9;
    box-shadow: inset 0 0 0 3px white;
    margin-right: 10px;
}

.avatar-wrapper {
    position: relative;
    display: inline-block;
    height: 58px;
}

.status-indicator {
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #246ca3;
    bottom: 0px;
    right: 10px;
    border: 2px solid white;
}

.status-indicator-post {
    osition: relative;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #246ca3;
    top: 0px;
    left: 6px;
    display: inline-block;
}

.status-indicator.offline, .status-indicator-post.offline {
    background-color: #b7cad3
}

.ontop {
    position: relative;
    background-color: #f6f8ff
}

.ontop .icon {
    color: #f44336;
    pointer-events: none;
    position: relative;
    margin: 0 5px 0 0;
}

.forum-container {
    display: flex; /* Важно, чтобы flex разметка сохранялась */
    opacity: 1; /* По умолчанию видимый */
    overflow: hidden; /* Важно для анимации высоты, если вы захотите ее использовать */
    transition: opacity 0.4s ease, height 0.4s ease; /* Transition для opacity и height */
    height: auto; /* По умолчанию автоматическая высота */
    width: 100%;
}

.forum-container.new-post-animation {
    opacity: 0; /* Начальное состояние - полностью прозрачный */
    height: 0; /* Начальное состояние - нулевая высота (если хотите анимировать и высоту) */
    overflow: hidden;
}

#new-posts-container {
    margin-top: 0;
    transition: margin-top 0.5s ease-in-out;
}

.forum-box-fixed-width {
    width: 200px;
    box-sizing: border-box;
    text-align: center;
}

.forum-box-auto-width {
    width: auto;
    flex: 1;
    padding: 25px;
    box-sizing: border-box;
    border: 1px solid #c9d1ff;
    border-radius: 5px;
    margin: 0 0 25px 25px; /* Отступ слева добавлен */
    color: #444 !important;
    background: #ebeeff;
    position: relative;
    min-height: 200px;
    min-width: 0;
}

.forum-box-auto-width::before {
    content: "";
    position: absolute;
    top: 71px;
    left: -8px;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #c9d1ff;
    border-top: 0 solid transparent;
    border-left: 0 solid transparent;
    transform: rotate(45deg); /* Поворот на -45 градусов */
}

.forum-box-auto-width::after {
    content: "";
    position: absolute;
    top: 72px;
    left: -7px;
    border-right: 14px solid transparent;
    border-bottom: 13px solid #ebeeff;
    border-top: 0 solid transparent;
    border-left: 0 solid transparent;
    transform: rotate(45deg); /* Поворот на -45 градусов */
}
.section-content {
    background: #fff;
    padding: 15px;
    border-radius: 0 0 5px 5px;
    border: 1px solid #e0e8f0;
    border-top: none;
}

.forum-date {
    border-bottom: 1px solid #cfd6ff;
    margin: -15px 0 20px;
    padding: 0 0 8px 0;
    font-size: 12px;
    color: #8e93ab;
}

.forum-date span {
    margin-left: 10px;
}

.forum-date i {
    margin-right: 1px;
}

.forum-date  .fa-calendar-alt {
    font-size: 11px;
    position: relative;
    top: -1px;
}

.forum-box-fixed-width img {
    width: 100px;
    height: 100px;
    border-radius: 4px;
    border: 1px solid #cfdadf;
    padding: 3px;
    cursor: pointer;
}

.post-avatar {
    width: 106px;
    height: 106px;
    border-radius: 4%;
    background-color: #b7cad3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: white;
    border: 1px solid #acc6d9;
    box-shadow: inset 0 0 0 3px white;
    margin: 0px auto;
    cursor: pointer;
}

.post-user-name {
    font-weight: bold;
    margin: 0 0 8px 0;
    color: #11324b;
    cursor: pointer;
}

.forum-group {
    margin: 8px 0;
    font-size: 12px;
    color: #8a90af;
}

.forum-box-auto-width hr{
    border: 0;
    border-bottom: 1px solid #b9c0e7;
}

.forum-reply form {
    display: flex;
    flex-direction: column;
}

#myeditor {
    border-radius: 3px;
    margin-bottom: 10px;
}

.tox-tinymce{
    border-radius: 4px;
    margin-bottom: 10px;
}

.form-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.edit-action-buttons {
    display: flex;
    align-items: center;
    gap: 10px;
}

.uFormButton {
    background-color: #ffffff;
    color: #555;
    border-radius: 4px;
    border: none;
    padding: 10px 15px;
    font-size: 14px;
}

.uFormButton:hover {
    background: #174572;
    border-radius: 4px;
    border: 0;
    color: #fff;
    padding: 10px 15px;
    font-size: 14px;
    cursor: pointer; /* По умолчанию курсор - указатель */
    position: relative;
}
.spinner {
    display: none;
    /* Остальные стили спиннера остаются прежними, но display: none теперь управляется JS */
    position: relative;
    top: 0px; /* Убираем смещение по вертикали, так как flexbox выравнивает */
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 3.8px solid;
    border-color: #dbdcef;
    border-right-color: #174572;
    animation: spinner-d3wgkg 1s infinite linear;
    margin-left: 5px; /* Добавляем отступ слева от спиннера, чтобы отделить от текста */
}
@keyframes spinner-d3wgkg {
    to {
        transform: rotate(1turn);
    }
}
.uFormSubmit{
    background: #174572;
    border-radius: 4px;
    border: 0;
    color: #fff;
    padding: 10px 15px;
    font-size: 14px;
    display: flex; /* Добавляем flexbox для кнопки */
    align-items: center; /* Выравниваем элементы по вертикали по центру */
    justify-content: center; /* Центрируем содержимое кнопки по горизонтали (если нужно, чтобы спиннер и текст были вместе по центру) */
    gap: 5px; /* Добавляем небольшой отступ между иконкой/текстом и спиннером */
}

.uFormSubmit:hover {
    background: #3c7bb9;
    border-color: #3c7bb9;
}
.uFormSubmit:disabled {
    background: #99a9b4;
    color: #d0d0d0;
    cursor: not-allowed;
    opacity: 0.8;
}
.forum-posts-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%; /* Теперь ширина 100% от родительского блока (section-content) */
    margin: 20px 0; /* Убираем левый отрицательный margin и оставляем только вертикальные */
    padding: 10px 15px;
    background-color: #d9e2ef;
    border-radius: 5px;
    text-align: center;
    color: #333;
    font-size: 14px;
    border: 1px solid #c9d1ff;
    box-sizing: border-box;
}

.forum-posts-separator a {
    color: #174572; /* Link color */
    text-decoration: none; /* Remove underline from link */
    display: flex; /* Use flex to align icon and text within the link */
    align-items: center; /* Vertically align icon and text within the link */
}

.forum-posts-separator a:hover {
    text-decoration: underline; /* Add underline on hover for link */
}

.forum-posts-separator i {
    margin-right: 5px; /* Spacing between icon and text */
    color: #174572; /* Icon color to match link text */
}

/* Общие стили для всех выпадающих меню */

.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    font-size: 18px;
}

/* Стили для кнопки в хидере */
.header-menu .dropdown-button {
    color: #eef7ff;
    opacity: 0.7;
}

/* Стили для кнопки в постах */
.post-actions .dropdown-button {
    color: #555;
    opacity: 0.8;
    position: absolute;
    top: 2px;
    right: 2px;
}
.post-actions .dropdown-content {
    top: 38px;
    left: auto;
}
/* Общие hover-эффекты */
.dropdown-button:hover {
    opacity: 1;
    background: #fff;
}

.post-actions .dropdown-button:hover {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Контент меню */
.dropdown-content {
    position: absolute;
    right: 0;
    min-width: 180px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s ease;
    z-index: 1000;
    margin-top: 5px;
    padding: 8px 0;
   /* box-shadow: 0 2px 8px rgba(0,0,0,0.15);*/
}

.dropdown-content.show {
    opacity: 1;
    visibility: visible;
}

/* Элементы меню */
.dropdown-content a {
    color: #444;
    padding: 10px 16px;
    text-decoration: none;
    display: flex;
    align-items: center;
    font-size: 14px;
    transition: background 0.2s;
    border-bottom: 1px solid #f0f0f0;
}

.dropdown-content a:last-child {
    border-bottom: none;
}

.dropdown-content a:hover {
    background: #f8f8f8;
    color: #174572;
}

/* Иконки в меню */
.dropdown-content a i {
    width: 20px;
    margin-right: 12px;
    font-size: 14px;
    color: #666;
}

/* Стрелка для меню в хидере */
.dropdown-content::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 12px;
    width: 12px;
    height: 12px;
    background: #fff;
    transform: rotate(45deg);
    box-shadow: -2px -2px 4px rgba(0,0,0,0.05);
    z-index: -1;
}

.dropzone {
    display: none; /* Скрываем по умолчанию */
    margin-top: 0; /* Отступ сверху */
    margin-bottom: 0; /* Отступ снизу */
    border: 2px dashed #ccc !important; /* Стили для визуального выделения */
    padding: 0 !important;/* Убираем внутренние отступы */
    border-radius: 5px !important;
    background-color: rgba(255, 255, 255, 1);
}


/* Общие стили для всех выпадающих меню */


.dropzone + .form-buttons {
    margin-top: 10px;
}

/* Стили для превью файлов */
.dz-preview {
    position: relative;
    display: inline-block;
    margin: 10px;
    border-radius: 5px; /* Уменьшаем радиус границы */
    border: 1px solid #e0e0e0; /* Граница для превью */
}

/* Картинка превью */
.dz-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 5px; /* Радиус границы картинки */
}

/* Стили для кнопки удаления */
.dz-remove {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 20px;
    height: 20px;
    background-color: #ffffff; /* Красный фон */
    border-radius: 50%; /* Круглая форма */
    box-shadow: rgba(0, 0, 0, 0.075) 0px 6px 18px 6px;
    color: rgb(204, 0, 0) !important;
    text-align: center;
    line-height: 20px;
    font-size: 12px;
    cursor: pointer;
    z-index: 20;
    transition: background-color 0.3s ease;
    border: 2px solid white;
    pointer-events: auto;
}

.dz-remove:hover {
    text-decoration: none !important;
}

/* Крестик внутри кнопки удаления */
.dz-remove::before {
    content: '×'; /* Символ крестика */
    font-weight: bold;
}

/* Стили для изображения превью */
.dz-image img {
    width: 100%;
    height: auto;
    display: block;
}
.dz-preview:hover::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%; /* Закрашиваем наполовину */
    background: rgba(255, 255, 255, 0.8); /* Белый цвет с прозрачностью */
    z-index: 1;
}
/* Эффект при наведении на превью */
.dz-preview:hover .dz-image img {
    filter: brightness(0.7); /* Затемнение картинки */
}
.dropzone .dz-preview .dz-image {
    border-radius: 0 !important
}
/* Стили для текстового превью */
.dropzone .dz-preview .dz-details {
    z-index: 20;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    font-size: 13px;
    min-width: 100%;
    max-width: 100%;
    padding: 2em 1em;
    text-align: center;
    color: rgba(0, 0, 0, .9);
    line-height: 150%;
}

.dz-filename {
    font-size: 12px;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dz-size {
    font-size: 10px;
    color: #777;
}


/* Стили для изначальной кнопки "Вставить", которая появляется на превью */
.dz-preview .dz-initial-insert-button-container {
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1; /* ИЗМЕНЕНО: Теперь всегда видима */
    transition: opacity 0.3s ease;
    background-color: rgba(255, 255, 255, 0.0);
    pointer-events: none;
    z-index: 10;
}

.dz-preview .dz-initial-insert-button-container button {
    background-color: #174572;
    color: white;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 3px;
    font-size: 14px;
    transition: background-color 0.3s ease;
    pointer-events: auto;
    z-index: 11;
}

.dz-preview .dz-initial-insert-button-container button:hover {
    background-color: #3c7bb9;
}

.file-link {
    text-decoration: none;
    color: #174569;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 150px;
    margin-right: 5px; /* Отступ между именем файла и размером */
}
.file-info {
    flex-direction: column; /* Вертикальное расположение */
    line-height: 1.6; /* Улучшает читаемость */
}

.attached-files {
    margin-top: 25px;
    padding: 15px 0;
}

.attached-files strong {
    display: block;
    margin-bottom: 15px;
    color: #174569;
    font-size: 16px;
}

.files-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 15px;
    margin-top: 10px;
}

.file-thumbnail {
    position: relative;
    width: 120px;
    height: 120px;
    border-radius: 4px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28);
    transform-origin: center center;
}

/* Анимация при наведении на весь элемент */
.file-thumbnail:hover {
    transform: scale(1.05) translateY(-3px);
    z-index: 2;
}

.file-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 1px solid #e0e0e0;
    transition: transform 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}

.file-thumbnail:hover .file-preview {
    transform: scale(1.03);
}

.file-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    transition: background 0.3s ease;
}

.file-thumbnail:hover .file-icon-wrapper {
    background: #e0e0e0;
}

.file-icon {
    max-width: 86px;
    max-height: 86px;
    opacity: 0.8;
    transition: all 0.3s ease;
}

.file-thumbnail:hover .file-icon {
    opacity: 1;
    transform: scale(1.1);
}

.file-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8px; padding-bottom: 0;
    background: linear-gradient(transparent, rgba(0,0,0,1.7));
    color: white;
    transform: translateY(0);
    transition: all 0.3s ease;
}

.file-thumbnail:hover .file-caption {
    padding: 8px;
    background: linear-gradient(transparent, rgba(0,0,0,0.9));
}

.file-name {
    display: block;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 1;
    transform: translateY(0);
}

.file-thumbnail:hover .file-name {
    transform: translateY(-5px);
}

.file-size {
    display: block;
    font-size: 11px;
    opacity: 0;
    max-height: 0;
    transition: all 0.3s ease;
    margin-top: 3px;
}

.file-thumbnail:hover .file-size {
    opacity: 1;
    max-height: 20px;
    transform: translateY(2px);
}

.post-contents img {
    max-width: 600px !important;
    height: auto !important;
  /*  display: block;*/
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Стили меню администрирования постов */
.dropdown-content a {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    color: #333;
    transition: background 0.2s;
}

.dropdown-content a:hover {
    background: #f5f5f5;
}

.dropdown-content a i {
    width: 20px;
    margin-right: 12px;
    color: #666;
}

.move-actions {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    margin: 4px 0;
    padding: 4px 0;
}

/* Универсальное модальное окно */
.modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.5);
}

.modal-content {
    background: #fff;
    margin: 5% auto;
    padding: 5px 25px 25px;
    border-radius: 8px;
    width: 90%;
    max-width: 600px;
    position: relative;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

.modal-close {
    color: #aaa;
    float: right;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: color 0.3s;
    position: absolute;
    right: 20px;
    top: 10px;
}

.modal-close:hover {
    color: #666;
}

.modal-header {
    border-bottom: 1px solid #eee;
    padding-bottom: 0;
    margin-bottom: 20px;
}

.modal-body {
    padding: 15px 0;
    min-height: 15px;
    font-size: 18px;
}

.modal-footer {
    text-align: right;
    padding-top: 20px;
    border-top: 1px solid #eee;
    margin-top: 20px;
}

.modal-btn {
    padding: 8px 20px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s;
    margin-left: 10px;
}

.modal-cancel {
    background: #f0f0f0;
    color: #333;
}

.modal-cancel:hover {
    background: #e0e0e0;
}

.modal-confirm {
    background: #174572;
    color: white;
}

.modal-confirm:hover {
    background: #3c7bb9;
}
.modal-btn.loading,
.uFormSubmit.loading { /* Добавляем класс loading и для uFormSubmit */
    position: relative; /* Для позиционирования спиннера */
    color: transparent !important; /* Скрываем текст кнопки */
    pointer-events: none; /* Запрещаем клики во время загрузки */
}

.modal-btn.loading::after,
.uFormSubmit.loading::after {
    content: '';
    position: absolute;
    top: 40%;
    left: 50%;
    width: 16px; /* Размер спиннера на кнопке */
    height: 16px;
    margin-top: -8px; /* Центрирование */
    margin-left: -8px; /* Центрирование */
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: button-spinner-anim 0.8s linear infinite;
}

/* Если кнопка светлая, спиннер должен быть темным */
.modal-btn.modal-cancel.loading::after { /* Пример для кнопки Отмена */
    border: 3px solid rgba(0, 0, 0, 0.2);
    border-top-color: #333;
}
@keyframes button-spinner-anim {
    to {
        transform: rotate(360deg);
    }
}

/* Опционально: Приглушение тела модального окна во время загрузки */
.modal-content.modal-loading .modal-body {
    opacity: 0.5;
    pointer-events: none; /* Запрещаем взаимодействие с содержимым */
}
.modal-content.modal-loading .modal-header,
.modal-content.modal-loading .modal-footer {
    opacity: 0.8; /* Можно слегка приглушить и их */
}
/* --- Стили для глобального лоадера --- */
#global-loader-overlay {
    display: none; /* По умолчанию скрыт, управляется JS */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.6); /* Полупрозрачный белый фон */
    z-index: 10001; /* Выше большинства элементов, но ниже модальных окон (если z-index модалки выше) */
    /* Используем flex для центрирования спиннера */
    display: flex; /* Изменено на flex, чтобы JS управлял только display: none/flex */
    justify-content: center;
    align-items: center;
    /* Плавное появление/исчезновение */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0s linear 0.3s; /* Задержка для visibility */
}

#global-loader-overlay.show {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-in-out, visibility 0s linear 0s;
}

.loader-spinner {
    width: 50px;
    height: 50px;
    border: 5px solid #f0f0f0; /* Более светлый фон для спиннера */
    border-top: 5px solid #174572; /* Основной цвет вашего сайта */
    border-radius: 50%;
    animation: global-spin-animation 0.8s linear infinite;
}

@keyframes global-spin-animation { /* Переименовал, чтобы избежать конфликтов */
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* --- Конец стилей для глобального лоадера --- */


.tox-toolbar{
    flex-wrap: wrap !important;
    white-space: normal !important;
}
.subforums-container {
    margin-top: 8px;
    margin-bottom: 8px;
    font-size: 0.9em;
    color: #555;
}
.subforums-label {
    font-weight: bold;
    margin-right: 5px;
}
.subforum-link {
    color: #174572; /* Или ваш основной цвет ссылок */
    text-decoration: none;
}
.subforum-link:hover {
    text-decoration: underline;
}
.subforum-separator {
    margin: 0 5px;
    color: #999;
}
.forum-section-description {
    margin-bottom: 20px;
    color: #555;
    font-size: 0.95em;
    padding: 10px;
    background-color: #f8f9fa;
    border-left: 3px solid #174572;
}
.subforum-listing-block {
    margin-bottom: 25px;
    padding: 15px;
    background-color: #fdfdff; /* Немного отличный фон для блока подфорумов */
    border: 1px solid #e9eef5;
    border-radius: 5px;
}
.subforum-listing-block h2 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 1.3em;
    color: #174572;
    border-bottom: 1px solid #e0e8f0;
    padding-bottom: 10px;
}
.subforums-grid {
    /* Можно использовать display: grid для более сложной сетки, если подфорумов много */
}
.subforums-grid .post { /* Стили для каждого подфорума в списке */
    border-radius: 4px; /* Убираем скругление только сверху/снизу, если это общий стиль .post */
    margin-bottom: 10px; /* Отступ между подфорумами */
}
.subforums-grid .post:last-child {
    margin-bottom: 0;
}
.section-separator {
    margin: 25px 0;
    border: 0;
    border-top: 1px solid #dee2e6;
}
.create-theme-button-container {
    margin-bottom: 20px;
    text-align: right;
}
.ontop-icon {
    color: #e85a4f; /* Цвет для иконки закрепленной темы */
    margin-right: 5px;
}
.theme-closed {
    font-size: 13px;
    color: #d84315;
    margin-left: 8px;
    font-style: italic;
}
/* Стили для групп полей в модальных окнах (создание/редактирование раздела) */
.form-group-modal {
    margin-bottom: 15px;
}

.form-group-modal label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #333; /* Цвет текста метки */
}

/* Стили для полей ввода и текстовых областей в модальных окнах */
.form-control-modal {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc; /* Граница поля */
    border-radius: 4px;    /* Скругление углов */
    box-sizing: border-box; /* Чтобы padding и border не увеличивали общую ширину */
    font-size: 1rem;        /* Размер шрифта в поле */
    line-height: 1.5;       /* Межстрочный интервал для textarea */
    color: #495057;         /* Цвет текста в поле */
    background-color: #fff; /* Фон поля */
    background-clip: padding-box;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; /* Плавный переход для фокуса */
}

.form-control-modal:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff; /* Цвет рамки при фокусе (пример) */
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, .25); /* Тень при фокусе (пример) */
}

textarea.form-control-modal {
    resize: vertical;      /* Разрешить изменение размера по вертикали */
    min-height: 80px;      /* Минимальная высота для textarea */
}

.form-group-modal label .required-asterisk {
    color: red;
    margin-left: 2px;
}

.theme-creation-form-wrapper {
    background-color: #ebeeff;
    padding: 20px;
    border-radius: 5px;
    border: 1px solid #e0e0e0;
    margin-top: 20px;
}

.theme-creation-form-wrapper .form-group-modal label {
    color: #333; /* Более темный цвет для меток на светлом фоне */
}

.create-theme-button-container {
    padding: 10px 0;
    background-color: #F2F2F2;
    text-align: right;
    margin-bottom: 0;
}
.create-theme-button-container .uFormSubmit{
    display: inline-flex;
}

.post-moderators {
    font-size: 0.85em;
    color: #555;
    margin-top: 5px;
    padding-top: 5px;
}
.post-moderators strong {
    color: #999;
    font-size: 13px;
    font-weight: normal;
}
.post-moderators a {
    color: #1a5a96; /* Цвет ссылки, можно подобрать под ваш дизайн */
    text-decoration: none;
}
.post-moderators a:hover {
    text-decoration: underline;
}
.post-moderators {
    font-size: 13px;
    color: #999;
    font-weight: normal;
}
.post-moderators a {
    color: #1a5a96;
    text-decoration: none;
}
.post-moderators a:hover {
    text-decoration: underline;
}

.post-edit-info {
    font-size: 13px; /* Меньший размер шрифта */
    color: #777; /* Серый цвет */
    font-style: italic; /* Курсив */
    margin-top: 20px; /* Отступ сверху */
    padding-top: 15px; /* Внутренний отступ сверху */
    border-top: 1px dashed #cfd6ff; /* Пунктирная линия сверху */
}

.post-edit-info i {
    margin-right: 5px; /* Отступ у иконки */
}

.post-edit-info strong {
    font-style: normal; /* Убираем курсив у имени */
    font-weight: 600; /* Делаем имя полужирным */
}

/* Красный замок в списке тем */
.theme-lock-icon-list {
    color: #d9534f; /* Красный цвет */
    margin-left: 8px;
    font-size: 0.9em;
    display: inline-block;
    vertical-align: middle; /* Для лучшего выравнивания с текстом */
}

/* Белый замок в заголовке темы */
.theme-lock-icon-title {
    color: #ffffff; /* Белый цвет */
    margin-left: 10px;
    font-size: 0.9em;
    opacity: 0.8; /* Легкая прозрачность для лучшего вида */
    display: inline-block;
    vertical-align: middle;
}

/* Контейнер для статуса в списке тем (для JS) */
.theme-status-container {
    display: inline;
}

.col-list {
    display: flex;         /* Включаем Flexbox для всего списка */
    align-items: center;   /* Вертикально выравниваем все дочерние элементы по центру */
    float: right;          /* Выравниваем всю группу иконок справа */
}


/* Стили для оверлея и модального окна поиска */
.search-overlay-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s;
}

.search-overlay-container.visible {
    opacity: 1;
    visibility: visible;
}

.search-modal {
    position: relative;
    background-color: #ffffff;
    padding: 40px;
    border-radius: 8px;
    width: 100%;
    max-width: 700px;
    margin-top: 10vh; /* Отступ сверху */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    transform: translateY(-50px) scale(0.98);
    transition: transform 0.3s ease-in-out;
}

.search-overlay-container.visible .search-modal {
    transform: translateY(0) scale(1);
}

.search-modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 28px;
    color: #888;
    cursor: pointer;
    line-height: 1;
}

.search-modal-close:hover {
    color: #000;
}

#search-form .search-input-group {
    display: flex;
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 5px;
    overflow: hidden;
}

#search-form #search-input {
    flex-grow: 1;
    border: none;
    padding: 12px 15px;
    font-size: 16px;
    outline: none;
}

#search-form .search-scope-selector {
    padding: 5px;
    flex-shrink: 0;
    border-left: 1px solid #ccc;
    background-color: #f7f7f7;
}

#search-form #search-scope {
    height: 100%;
    border: none;
    background-color: #f7f7f7;
    padding: 0 15px;
    font-size: 16px;
    cursor: pointer;
    outline: none;
}

#search-form .search-options {
    margin-top: 15px;
    text-align: left;
}

#search-form .search-options label {
    font-size: 16px;
    color: #555;
    cursor: pointer;
}

#search-form .search-actions {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

#search-form .search-btn-submit,
#search-form .search-btn-advanced {
    padding: 10px 25px;
    font-size: 16px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s;
}

#search-form .search-btn-submit {
    background-color: #007bff;
    color: white;
}

#search-form .search-btn-submit:hover {
    background-color: #0056b3;
}

#search-form .search-btn-advanced {
    background-color: #f0f0f0;
    color: #555;
}

#search-form .search-btn-advanced:disabled {
    background-color: #e9ecef;
    color: #adb5bd;
    cursor: not-allowed;
}

@media (max-width: 600px) {
    .post-author {
        flex-direction: column; /* Вертикальное расположение для мобильных */
        text-align: center; /* Выравнивание текста по центру */
    }

    .post-author img {
        margin-right: 0; /* Убираем отступ справа от аватара */
        margin-bottom: 5px; /* Добавляем отступ снизу для мобильных */
    }
}

.mobile-menu-trigger {
    display: none; /* Скрыто по умолчанию на десктопах */
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    align-items: center;
    margin-left: auto;
    padding: 0 15px;
}

/* Медиа-запрос для экранов больше 768px (например, планшеты и десктопы) */
@media (min-width: 968px) {
    .post {
        flex-direction: row;
        align-items: flex-start;
    }

    .post-content {
        flex-grow: 1;
        margin-right: 15px;
        margin-bottom: 0;
    }
    .post-author {
        width: 300px;
        flex-shrink: 0;
        margin-left: auto;
        text-align: left;
    }

}
@media (max-width: 768px) {
    .post-contents img {
        border-radius: 3px;
    }
    .post-admin-menu {
        top: 2px;
        right: 2px;
    }

    .post-admin-menu .dropdown-button {
        width: 26px;
        height: 26px;
    }

    .post-admin-menu .dropdown-content {
        min-width: 140px;
    }
}

@media (max-width: 968px) {
    /* Показываем иконку-бургер */
    .mobile-menu-trigger {
        display: flex;
    }
}
