/* Корпоративные цвета Mnemosina */
:root {
    --cassiopeia-color-primary: #38716E;
    --cassiopeia-color-link: #38716E;
    --cassiopeia-color-hover: #2F5F5D;

    --link-color: #38716E;
    --link-hover-color: #2F5F5D;
}

/* Обычные ссылки */
a {
    color: #38716E;
}

a:hover,
a:focus {
    color: #2F5F5D;
}

/* Основные кнопки */
.btn-primary {
    background-color: #38716E;
    border-color: #38716E;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #2F5F5D;
    border-color: #2F5F5D;
}

/* Контурные кнопки */
.btn-outline-primary {
    color: #38716E;
    border-color: #38716E;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    color: #FFFFFF;
    background-color: #38716E;
    border-color: #38716E;
}

/* Активные вкладки и пункты */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.nav-tabs .nav-link.active {
    color: #FFFFFF;
    background-color: #38716E;
    border-color: #38716E;
}

/* Неактивные вкладки */
.nav-pills .nav-link:not(.active),
.nav-tabs .nav-link:not(.active) {
    color: #38716E;
    background-color: #D9E7E7;
}

/* Пагинация */
.page-link {
    color: #38716E;
}

.page-link:hover {
    color: #2F5F5D;
    background-color: #F1F8F7;
}

.active > .page-link,
.page-link.active {
    color: #FFFFFF;
    background-color: #38716E;
    border-color: #38716E;
}

/* Значки редактирования и другие элементы primary */
.text-primary {
    color: #38716E !important;
}

.bg-primary {
    background-color: #38716E !important;
}

.border-primary {
    border-color: #38716E !important;
}

/* ===== Более компактное оформление сайта ===== */

/* Основной шрифт */
html {
    font-size: 15px;
}

body {
    font-size: 1rem;
    line-height: 1.45;
}

/* Заголовки */
h1,
.h1 {
    font-size: 1.8rem;
    margin-top: 0;
    margin-bottom: 0.75rem;
}

h2,
.h2 {
    font-size: 1.5rem;
    margin-top: 1rem;
    margin-bottom: 0.6rem;
}

h3,
.h3 {
    font-size: 1.25rem;
    margin-top: 0.85rem;
    margin-bottom: 0.5rem;
}

h4,
.h4 {
    font-size: 1.1rem;
}

/* Абзацы и списки */
p {
    margin-top: 0;
    margin-bottom: 0.7rem;
}

ul,
ol {
    margin-bottom: 0.7rem;
}

/* Расстояние между центральной частью и колонками */
.site-grid {
    gap: 1rem;
}

/* Модули в боковых колонках */
.sidebar-left .moduletable,
.sidebar-right .moduletable,
.sidebar-left .card,
.sidebar-right .card {
    margin-bottom: 0.8rem;
}

/* Внутренние отступы модулей */
.card-body {
    padding: 0.85rem;
}

.card-header {
    padding: 0.6rem 0.85rem;
}

/* Заголовки модулей */
.card-header,
.moduletable > h3,
.moduletable > h4 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

/* Основной материал */
.com-content-article {
    padding-top: 0;
}

.com-content-article__body {
    line-height: 1.5;
}

/* Верхняя часть сайта */
.container-header {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.container-header .navbar-brand {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

/* Горизонтальное меню */
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
    padding: 0.4rem 0.6rem;
    font-size: 0.95rem;
}

/* Компактные кнопки */
.btn {
    padding: 0.4rem 0.75rem;
    font-size: 0.95rem;
}

/* Компактные формы */
.form-control,
.form-select {
    padding: 0.4rem 0.65rem;
    font-size: 0.95rem;
}

/* Убираем подчёркивание у ссылок */
a,
a:visited,
a:hover,
a:focus,
a:active {
    text-decoration: none !important;
}

/* Скрываем создание и редактирование материалов во фронтенде */
a[href*="task=article.add"],
a[href*="task=article.edit"],
a[href*="view=form"][href*="a_id=0"] {
    display: none !important;
}

/* Чёрная позиция topbar */
.container-topbar {
    background: #000000;
    color: #ffffff;
}

/* Ссылки и текст внутри topbar */
.container-topbar a,
.container-topbar .nav-link,
.container-topbar .mod-menu > li > a {
    color: #ffffff !important;
}

/* Цвет ссылки при наведении */
.container-topbar a:hover,
.container-topbar a:focus {
    color: #d9e7e7 !important;
}

/* Убираем белый фон у модулей внутри topbar */
.container-topbar .card,
.container-topbar .moduletable {
    background: transparent;
    border: 0;
    box-shadow: none;
}



/* ===== Компактная шапка и вертикальные отступы ===== */

/* Чёрная верхняя полоса */
.container-topbar {
    min-height: 0;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.container-topbar .moduletable,
.container-topbar p {
    margin-top: 0;
    margin-bottom: 0;
}

/* Бирюзовая шапка целиком */
.container-header {
    padding-top: 0.5rem;
    padding-bottom: 0.25rem;
}

/* Название сайта */
.container-header .navbar-brand {
    margin-top: 0;
    margin-bottom: 0.5rem;
    padding-top: 0;
    padding-bottom: 0;
}

.container-header .navbar-brand a {
    line-height: 1.1;
}

/* Область главного меню */
.container-header .container-nav {
    padding-top: 0.25rem;
    padding-bottom: 0.35rem;
}

/* Пункты главного меню */
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

/* Убираем лишние отступы у самого меню */
.container-header .mod-menu {
    margin-top: 0;
    margin-bottom: 0;
}

/* Хлебные крошки */
.container-breadcrumbs {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

.container-breadcrumbs .breadcrumb {
    margin-bottom: 0;
}

/* Расстояние от хлебных крошек до материала */
.site-grid {
    row-gap: 0.8rem;
}

/* Заголовок материала */
.com-content-article h1,
.page-header h1 {
    margin-top: 0;
    margin-bottom: 0.65rem;
    line-height: 1.15;
}

/* Основная область страницы */
main {
    padding-top: 0;
}

/* На телефонах ещё компактнее */
@media (max-width: 767.98px) {
    .container-topbar {
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
    }

    .container-header {
        padding-top: 0.35rem;
        padding-bottom: 0.2rem;
    }

    .container-header .navbar-brand {
        margin-bottom: 0.25rem;
    }

    .container-header .container-nav {
        padding-top: 0.15rem;
        padding-bottom: 0.2rem;
    }

    .container-breadcrumbs {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
    }
    
    
}