/* =================================================================== */
/* ОБЩИЕ СТИЛИ                                                         */
/* =================================================================== */
body { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; background-color: #f2f2f2; }
.main-container { background-color: #fff; padding: 20px; box-shadow: 0 0 10px rgba(0,0,0,0.1); }

/* =================================================================== */
/* ВЕРХНЯЯ ПОЛОСКА (TOP-BAR)                                           */
/* =================================================================== */
.top-bar {
    background-color: #f5f5f5;
    padding: 8px 0;
    font-size: 12px;
    text-align: right; /* Прижимаем содержимое вправо по умолчанию */
}
.top-bar a { color: #555; text-decoration: none; }
.top-bar a:hover { text-decoration: underline; }

/* =================================================================== */
/* ШАПКА (HEADER)                                                      */
/* =================================================================== */
.site-header { background: #ffffff; color: #333333; padding: 15px 0; border-bottom: 1px solid #eee; }
.header-main { display: flex; align-items: center; }
.logo-block { margin-right: 20px; }
.logo-block img { max-height: 80px; }
.title-block .org-type { font-size: 14px; color: #777; }
.title-block .org-name { font-size: 24px; font-weight: bold; color: #333; }
.contact-info { margin-top: 10px; font-size: 12px; color: #555; }
.contact-item { display: flex; align-items: flex-start; margin-bottom: 5px; }
.contact-item .glyphicon { margin-right: 8px; margin-top: 2px; }

/* =================================================================== */
/* НАВИГАЦИЯ (NAVBAR)                                                  */
/* =================================================================== */
.main-nav { background-color: #337ab7; border-radius: 0; border: none; margin-bottom: 20px; }
.main-nav .navbar-nav > li > a { color: white; }
.main-nav .navbar-nav > li > a:hover, .main-nav .navbar-nav > .active > a { background-color: #286090; }
.main-nav .navbar-toggle { border-color: #fff; }
.main-nav .navbar-toggle .icon-bar { background-color: #fff; }

/* =================================================================== */
/* КОНТЕНТ (СЛАЙДЕР, НОВОСТИ И Т.Д.)                                  */
/* =================================================================== */
.carousel .item img { width: 100%; height: auto; }
.news-item-row { display: flex; align-items: flex-start; margin-bottom: 20px; }
.news-item-image { flex-shrink: 0; margin-right: 20px; width: 100px; height: 100px; }
.news-item-image img { width: 100%; height: 100%; object-fit: cover; border: 1px solid #ddd; }
.news-item-text { flex-grow: 1; }
.news-item-title a { font-size: 18px; font-weight: bold; }

/* =================================================================== */
/* АДАПТИВНОСТЬ (MEDIA QUERIES)                                        */
/* =================================================================== */
@media (max-width: 991px) {
    /* Адаптируем колонки контента */
    .col-md-4, .col-md-8, .col-md-3, .col-md-9 { width: 100%; float: none; margin-bottom: 20px; }
    /* Адаптируем шапку */
    .header-main { flex-direction: column; text-align: center; }
    .logo-block { margin-right: 0; margin-bottom: 15px; }
    .title-block .org-name { font-size: 20px; }
    .contact-item { justify-content: center; }
}
@media (max-width: 767px) {
    .main-nav .navbar-brand { color: #555; }
    /* Центрируем кнопку для слабовидящих на мобильных */
    .top-bar { text-align: center; }
}