
/* Corporate blue theme */
:root{
    --brand:#185CA6;
    --brand-dark:#185CA6;
    --muted:#6c757d
}
body{
    font-family: 'Segoe UI', Roboto, sans-serif; 
    background:#f8f9fb;
    color:#222;
	padding-top: 70px;
		 
    }
.navbar{
    background:var(--brand)!important
}
.navbar .nav-link{
    color:#fff!important
}

.navbar {
    min-height: 70px;        /* задаём одинаковую высоту для всех страниц */
    display: flex;           /* flex контейнер */
    align-items: center;     /* центрируем логотип по вертикали */
    padding: 0 1rem;         /* горизонтальные отступы */
}
.navbar .nav-link.active{
    font-weight:600;
    border-bottom:2px solid rgba(255,255,255,0.9)
}
.hero{
    min-height:380px;
    display:flex;
    align-items:center;
    color:#fff;
    background:linear-gradient(0deg, rgba(13,153,255,0.85), rgba(6,123,200,0.6)), url('../images/dam_hero.jpg') center/cover no-repeat;
    padding:3rem 0
}
.section-card img, .gallery img, .portals img{
    border-radius:.5rem;
    transition:transform .25s ease, box-shadow .25s ease
}
.section-card img:hover, .gallery img:hover, .portals img:hover{
    transform:translateY(-8px);
    box-shadow:0 12px 28px rgba(13,153,255,0.18)
}
.card .more-btn{
    position:absolute;
    right:1rem;
    bottom:1rem
}
.news-card{
    transition:transform .18s ease, box-shadow .18s ease
}
.news-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 24px rgba(0,0,0,0.08)
}
.footer{
    background:var(--brand-dark);
    color:#eaf6ff;
    padding:2.5rem 0
}
.footer a{
    color:#dff4ff
}



.carousel-item img {
    height: auto;        /* изображение подстраивается */
    max-height: 60vh;    /* не выше 60% экрана */
    width: 100%;
    object-fit: cover;
}





.breadcrumb{
    background:transparent;
    padding:0;
    margin-bottom:1rem
}

.portal-card {
  max-width: 180px;           /* ширина блока */
  text-align: left;
}

.portal-img {
  max-width: 100%;
  max-height: 80px;           /* логотипы одинаковой высоты */
  object-fit: contain;
  margin-bottom: 8px;
}

.portal-text {
  font-size: 13px;
  line-height: 1.3;
  color: #222;
}

/* Отступ между порталами в слайдере */
.carousel-inner .d-flex {
  gap: 70px;
}




.navbar-brand img.logo {
    height: 45px;
    width: auto;
    display: block;
}

.leadership-section {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 20px;
}

.leader-card {
  display: flex;
  gap: 20px;
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.leader-photo {
    width: 150px;         /* ширина фото */
    height: 200px;         /* авто-высота — ничего не режет */
    object-fit: contain;  /* показывать всё фото */
    border-radius: 8px;
    background: #f0f0f0;  /* фон вокруг, если размеры не совпадают */
    padding: 5px;
}




.leader-info h3 {
  margin: 0 0 5px 0;
}

.leader-info p {
  margin: 2px 0;
  font-size: 14px;
  color: #333;
}


section.py-5 {
    padding-top: 2rem;   /* уменьшаем отступ сверху */
    padding-bottom: 2rem; /* уменьшаем отступ снизу */
}

/* Фиксируем общую высоту карточки и делаем флекс-контейнер */
#teamCarousel .card {
    height: 560px !important;      /* общая высота карточки */
    display: flex;
    flex-direction: column;        /* изображение сверху, тело — внизу */
    overflow: hidden;
    box-sizing: border-box;
}

/* Жёсткая высота для изображения (не даём ему расти) */
#teamCarousel .card-img-top {
    flex: 0 0 350px !important;    /* фиксированная высота 350px */
    height: 350px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: top;
    display: block;
    box-sizing: border-box;
}

/* Если есть глобальный .card-img-top — его можно оставить, но локальный селектор выше по приоритету */

/* Тело карточки — занимает всё оставшееся пространство */
#teamCarousel .card-body {
    flex: 1 1 auto;                /* занимает остаток высоты */
    min-height: 0;                 /* важно для корректной работы overflow внутри flex */
    overflow: hidden;              /* прячет лишний текст */
    box-sizing: border-box;
    padding: 12px 16px;            /* подкорректируй по дизайну */
}

/* Если хочешь, чтобы текст внутри мог прокручиваться вместо обрезания */
#teamCarousel .card-body .card-text {
    max-height: 100%;
    overflow: auto;                /* позволит скроллить текст внутри карты */
}

/* фиксированная высота карточек галереи */
.gallery-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    height: 300px;          /* фиксированная высота карточки */
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: transform .3s ease, box-shadow .3s ease;
}



/* Эффект при наведении */
.gallery-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}

/* Фиксированная высота фото */ 
.gallery-img {
    flex: 0 0 200px;    /* фиксированная высота фото */
    width: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}




/* Подписи */
.gallery-caption {
    padding: 12px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    color: #333;
    flex-grow: 1;                   /* выравнивает высоту описаний */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Фиксируем общую высоту карточки и делаем флекс-контейнер */
#engineersCarousel .card {
    height: 470px !important;      /* общая высота карточки */
    display: flex;
    flex-direction: column;        /* изображение сверху, тело — внизу */
    overflow: hidden;
    box-sizing: border-box;
}

/* Жёсткая высота для изображения */
#engineersCarousel .card-img-top {
    flex: 0 0 350px !important;    /* фиксированная высота 350px */
    height: 350px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: top;
    display: block;
    box-sizing: border-box;
}

/* Тело карточки — занимает остаток */
#engineersCarousel .card-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    box-sizing: border-box;
    padding: 12px 16px;
}

/* Чтобы текст мог прокручиваться */
#engineersCarousel .card-body .card-text {
    max-height: 100%;
    overflow: auto;
}

/* Перенос текста в ячейках таблицы */
table td, table th {
  word-break: break-word;
}

/* Заголовки таблицы жирным и выравнивание по левому краю */
table th {
  font-weight: bold;
  text-align: left;
}

/* Заголовок страницы Новости */
.news-page h2.mb-4 {
    font-size: 2rem;
    font-weight: 600;
}


