﻿/* -------- верхняя полоса с логотипами и контактами -------- */
.topbar {
    background: linear-gradient(180deg,#5c86c0 0%, #5580bb 100%);
    color: #e9f1ff;
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

    .topbar .inner {
        max-width: 1180px;
        margin: 0 auto;
        padding: 10px 16px;
        display: flex;
        gap: 28px;
        align-items: center;
        justify-content: space-between
    }

    .topbar .logos {
        display: flex;
        gap: 22px;
        align-items: center;
        flex-wrap: wrap
    }

        .topbar .logos img {
            height: 56px;
            width: auto;
            display: block
        }

    .topbar .info {
        display: flex;
        gap: 22px;
        align-items: center;
        flex-wrap: wrap
    }

    .topbar .pill {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: #dbe7ff;
        white-space: nowrap
    }

    .topbar .auth {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: rgba(255,255,255,.25);
        border: 1px solid rgba(255,255,255,.35);
        color: #fff;
        border-radius: 999px;
        padding: 10px 18px;
        font-weight: 600;
        text-decoration: none;
    }

        .topbar .auth:hover {
            background: rgba(255,255,255,.35);
            text-decoration: none;
            color: #fff
        }

    .topbar svg {
        width: 18px;
        height: 18px;
        flex: 0 0 18px
    }

/* -------- нижнее меню -------- */
.mainnav {
    max-width: 1180px;
    margin: 0 auto
}

    .mainnav .menu {
        display: flex;
        gap: 28px;
        list-style: none;
        margin: 2px 0 0;
        padding: 12px 16px 16px;
        justify-content: center
    }

        .mainnav .menu a {
            color: #dfe9ff;
            text-decoration: none;
            font-weight: 600;
            letter-spacing: .4px
        }

            .mainnav .menu a:hover, .mainnav .menu a.active {
                color: #fff
            }

/* адаптив */
@media (max-width:900px) {
    .topbar .logos img {
        height: 48px
    }
}

@media (max-width:680px) {
    .topbar .inner {
        flex-direction: column;
        align-items: flex-start
    }

    .mainnav .menu {
        flex-wrap: wrap;
        gap: 18px
    }
}

/* полоса меню подгоняем под общий градиент шапки */
.custom-nav{
  background: linear-gradient(180deg,#5c86c0 0%, #5580bb 100%);
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
  padding-top: 0; padding-bottom: 0;
}

/* цвета ссылок как в макете */
.custom-nav .nav-link{
  color:#dfe9ff;
  font-weight:600;
  letter-spacing:.4px;
  padding: 12px 14px;
}
.custom-nav .nav-link:hover,
.custom-nav .nav-link.active{ color:#fff; }

/* чтобы кнопка-гамбургер была видна */
.custom-nav .navbar-toggler{
  border-color: rgba(255,255,255,.35);
  margin-left: auto;
}
.custom-nav .navbar-toggler-icon{ filter: invert(1) brightness(2); }

/* полоса меню подгоняем под общий градиент шапки */
.custom-nav {
    background: linear-gradient(180deg,#5c86c0 0%, #5580bb 100%);
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
    padding-top: 0;
    padding-bottom: 0;
}

    /* цвета ссылок как в макете */
    .custom-nav .nav-link {
        color: #dfe9ff;
        font-weight: 600;
        letter-spacing: .4px;
        padding: 12px 14px;
    }

        .custom-nav .nav-link:hover,
        .custom-nav .nav-link.active {
            color: #fff;
        }

    /* чтобы кнопка-гамбургер была видна */
    .custom-nav .navbar-toggler {
        border-color: rgba(255,255,255,.35);
        margin-left: auto;
    }

    .custom-nav .navbar-toggler-icon {
        filter: invert(1) brightness(2);
    }



/* ——— адаптив: перестройка верхней шапки и меню ——— */

/* планшеты и ниже */
@media (max-width: 900px) {
    .topbar .logos img {
        height: 48px;
    }
}

/* мобильные */
@media (max-width: 680px) {

    /* чтобы шапка стала вертикальной */
    .topbar .inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 14px 16px;
    }

    /* лого центрируем */
    .topbar .logos {
        justify-content: center;
        width: 100%;
        gap: 16px;
    }

        .topbar .logos img {
            height: 46px;
        }

    /* блок контактов становится колонкой */
    .topbar .info {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        width: 100%;
    }

    .topbar .pill {
        font-size: 15px;
        white-space: normal;
    }

    /* кнопка авторизации переносится вниз и растягивается */
    .topbar .auth {
        margin-top: 4px;
        align-self: stretch;
        justify-content: center;
        width: 100%;
    }

    /* нижнее меню */
    .custom-nav .navbar-collapse {
        background: linear-gradient(180deg,#5c86c0 0%, #5580bb 100%);
        border-top: 1px solid rgba(255,255,255,.3);
        padding: 8px 0;
    }

    .custom-nav .nav-link {
        text-align: center;
        padding: 8px 0;
        font-size: 16px;
    }
}

/* ==== Улучшенный адаптив для подвала ==== */

/* Чуть гибче размеры логотипов на десктопе */
.footer-logos img{
  height: clamp(72px, 8vw, 90px);
  width: auto;
}

/* Планшеты */
@media (max-width: 900px){
  .footer-inner{
    grid-template-columns: 1fr;
    row-gap: 20px;
    padding: 22px 16px;
  }
  /* две колонки справа — в одну */
  .footer-cols{ grid-template-columns: 1fr; gap: 14px; }
}

/* Телефоны */
@media (max-width: 640px){

  /* Логотипы: вместо жесткой сетки — гибкий ряд с переносами */
  .footer-logos{
    display: flex;
    flex-wrap: wrap;
    gap: 14px 18px;
    align-items: center;
    justify-content: center;
  }
  .footer-logos img{
    height: 56px;                 /* компактно на телефонах */
    filter: drop-shadow(0 1px 3px rgba(0,0,0,.08));
  }
  .footer-logos .copyright-mark{
    order: 99;                    /* переносим под лого */
    width: 100%;
    margin-top: 6px;
    text-align: center;
    font-size: 13.5px;
  }

  /* Правый блок: визуально отделить и сделать удобные клики */
  .footer-cols{
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.25);
  }
  .fcol h5{ font-size: 18px; margin-bottom: 8px; }
  .fcol li{ margin: 6px 0; }
  .ftel{ font-size: 18px; }

  /* Общие отступы подвала */
  .site-footer{ margin-top: 24px; }
  .footer-copy{ font-size: 13.5px; padding: 10px 8px; }
}


/* === кастомный гамбургер для .custom-nav === */

/* кнопка */
.custom-nav .navbar-toggler {
    border: none;
    outline: none;
    background: transparent;
    padding: 8px;
    border-radius: 12px;
    transition: background-color .25s ease, box-shadow .25s ease;
}

    .custom-nav .navbar-toggler:hover {
        background: rgba(255,255,255,.12);
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
    }

    .custom-nav .navbar-toggler:focus {
        box-shadow: none
    }

    /* отключаем стандартную svg-иконку bootstrap */
    .custom-nav .navbar-toggler .navbar-toggler-icon {
        background-image: none !important;
        /* рисуем свою среднюю линию */
        position: relative;
        width: 26px;
        height: 2px;
        background-color: #fff;
        border-radius: 2px;
        transition: transform .3s ease, background-color .3s ease, opacity .3s ease;
    }

        /* верхняя и нижняя линии */
        .custom-nav .navbar-toggler .navbar-toggler-icon::before,
        .custom-nav .navbar-toggler .navbar-toggler-icon::after {
            content: "";
            position: absolute;
            left: 0;
            width: 26px;
            height: 2px;
            background-color: #fff;
            border-radius: 2px;
            transition: transform .3s ease, top .3s ease, opacity .3s ease;
        }

        .custom-nav .navbar-toggler .navbar-toggler-icon::before {
            top: -8px;
        }

        .custom-nav .navbar-toggler .navbar-toggler-icon::after {
            top: 8px;
        }

    /* состояние «открыто» (aria-expanded=true) — превращаемся в крестик */
    .custom-nav .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
        background-color: transparent; /* прячем среднюю */
    }

        .custom-nav .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
            top: 0;
            transform: rotate(45deg);
        }

        .custom-nav .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
            top: 0;
            transform: rotate(-45deg);
        }

/* — базовая типографика и контейнер — */
:root {
    --wrap: 1180px;
    --ink: #1f2a37;
    --muted: #6b7280;
    --blue: #4f7fc0;
    --blue-2: #3b6fb6;
    --ring: #e5ecff;
    --radius: 18px;
    --shadow: 0 8px 24px rgba(37,68,122,.12);
}

body {
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color: var(--ink);
}

/* шапку делаем «липкой» и чуть полупрозрачной */
.topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    background: linear-gradient(180deg,#5d86c3 0%, #5680bb 100%);
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
    backdrop-filter: saturate(1.1) blur(2px);
}

    .topbar .inner {
        max-width: var(--wrap);
        margin: 0 auto;
        padding: 10px 16px;
        display: flex;
        gap: 22px;
        align-items: center;
        justify-content: space-between
    }

    .topbar .logos img {
        height: 56px
    }

    .topbar .info {
        display: flex;
        gap: 18px;
        align-items: center;
        flex-wrap: wrap
    }

    .topbar .pill {
        display: inline-flex;
        gap: 8px;
        color: #eaf2ff
    }

    .topbar .auth {
        background: rgba(255,255,255,.22);
        border: 1px solid rgba(255,255,255,.35);
        color: #fff;
        border-radius: 999px;
        padding: 10px 18px;
        font-weight: 600
    }

/* меню */
.custom-nav {
    background: linear-gradient(180deg,#5c86c0 0%, #5580bb 100%);
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
    padding: 0;
}

    .custom-nav .nav-link {
        color: #e8f0ff;
        font-weight: 600;
        letter-spacing: .3px;
        padding: 12px 14px;
    }

        .custom-nav .nav-link:hover, .custom-nav .nav-link.active {
            color: #fff
        }

    /* красивый гамбургер */
    .custom-nav .navbar-toggler {
        border: none;
        outline: none;
        background: transparent;
        padding: 8px;
        border-radius: 12px
    }

        .custom-nav .navbar-toggler:hover {
            background: rgba(255,255,255,.12)
        }

        .custom-nav .navbar-toggler .navbar-toggler-icon {
            background-image: none;
            position: relative;
            width: 26px;
            height: 2px;
            background: #fff;
            border-radius: 2px
        }

            .custom-nav .navbar-toggler .navbar-toggler-icon::before,
            .custom-nav .navbar-toggler .navbar-toggler-icon::after {
                content: "";
                position: absolute;
                left: 0;
                width: 26px;
                height: 2px;
                background: #fff;
                border-radius: 2px
            }

            .custom-nav .navbar-toggler .navbar-toggler-icon::before {
                top: -8px
            }

            .custom-nav .navbar-toggler .navbar-toggler-icon::after {
                top: 8px
            }

        .custom-nav .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
            background: transparent
        }

            .custom-nav .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
                top: 0;
                transform: rotate(45deg)
            }

            .custom-nav .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
                top: 0;
                transform: rotate(-45deg)
            }

/* мобильная укладка шапки */
@media (max-width:680px) {
    .topbar .inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 12px 16px
    }

    .topbar .logos {
        width: 100%;
        justify-content: center;
        gap: 14px
    }

        .topbar .logos img {
            height: 44px
        }

    .topbar .info {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        width: 100%
    }

    .topbar .auth {
        align-self: stretch;
        text-align: center
    }

    .custom-nav .navbar-collapse {
        background: linear-gradient(180deg,#5c86c0 0%, #5580bb 100%);
        border-top: 1px solid rgba(255,255,255,.25);
        padding: 8px 0
    }

    .custom-nav .nav-link {
        padding: 10px 0;
        text-align: center;
        font-size: 16px
    }
}
