/* Загальні стилі */
body, html {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    margin: 0;
    background-color: #f4f7f6;
    color: #333;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow-x: hidden; /* ДОДАНО: Приховує горизонтальний скрол, щоб уникнути стрибків */
}

/* Стилі хедера */
header {
    background-color: #ffffff;
    padding: 10px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e0e0e0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    width: 100%;
}

/* --- Оновлені стилі для логотипу --- */

/* Встановлюємо синій колір для всього логотипу, перебиваючи стиль Bootstrap */
header .navbar-brand.logo-text,
header .logo-text {
    color: #0057B8 !important; /* Синій колір для "Закупівельні" */
    font-size: 22px;
    font-weight: 600;
}

/* Встановлюємо жовтий колір для слова "практики" всередині логотипу */
header .navbar-brand.logo-text span,
header .logo-text span {
    color: #FFD700; /* Жовтий колір */
    font-weight: 600; /* Жирність для контрасту */
}

nav a {
    text-decoration: none;
    color: #333;
    font-size: 15px;
    font-weight: 500;
    margin: 0 12px;
}

.auth-links a {
     text-decoration: none;
     color: #0057B8; /* Синій */
     font-size: 15px;
     font-weight: 500;
     margin: 0 12px;
}

/* Стилі основного контенту */
.main-content {
    flex: 1;
    text-align: center;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.main-content h1 {
    font-size: 32px;
    font-weight: 300;
    margin-bottom: 30px;
}

/* Стилі футера */
.public-footer {
    text-align: center;
    padding: 20px;
    background-color: #ffffff;
    border-top: 1px solid #e0e0e0;
    width: 100%;
}

/* Стилі слайдера та лічильників */
.swiper-container {
    width: 100%;
    max-width: 900px;
    height: 400px;
}
.swiper-slide {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.counter-block .slide-title {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 15px;
    color: #444;
}
.counter-container {
    display: flex;
    gap: 10px;
    justify-content: center;
}
.counter-box {
    background-color: #0057B8; /* Синій */
    color: #FFD700; /* Жовтий */
    font-size: 45px;
    font-weight: bold;
    width: 60px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
}
.swiper-pagination-bullet-active {
    background: #0057B8 !important; /* Синій */
}

/* Стилі для сторінки тарифів */
.tariff-card {
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
    transition: transform .2s;
    background-color: #fff;
}
.tariff-card:hover {
    transform: translateY(-5px);
}
.tariff-card .card-header {
    background-color: #0057B8; /* Синій */
    color: #fff;
    font-weight: bold;
}
.tariff-card .btn-primary {
    background-color: #FFD700; /* Жовтий */
    border-color: #FFD700;
    color: #000;
    font-weight: bold;
}

/* Адаптація для мобільного меню */
@media (max-width: 991.98px) {
    header .navbar-nav {
        text-align: center;
    }
    header .nav-item {
        padding: 10px 0;
    }
    header .auth-links {
        padding-top: 15px;
        border-top: 1px solid #e0e0e0;
        margin-top: 10px;
    }
    .auth-links a {
        display: block;
        padding: 10px 0;
    }
}

@media (max-width: 991.98px) {
    #order-summary {
        position: static;
        margin-top: 30px;
    }
}

/* --- Виправлення для мобільного меню --- */
@media (max-width: 991.98px) {
    /* Розміщуємо елементи в стовпчик і по центру */
    .navbar-collapse {
        text-align: center;
        padding: 1rem 0;
    }

    /* Відокремлюємо основну навігацію від кнопок входу/виходу */
    .navbar-collapse .navbar-nav.mx-auto {
        margin-bottom: 1rem;
    }

    /* Стилі для посилань всередині мобільного меню */
    .navbar-collapse .nav-item {
        padding: 0.5rem 0;
    }

    /* Блок з посиланнями на вхід/реєстрацію */
    .navbar-collapse .auth-links {
        padding-top: 1rem;
        border-top: 1px solid #dee2e6;
    }
}

/* Адаптація висоти слайдера для мобільних пристроїв */
@media (max-width: 767.98px) {
    .swiper-container {
        height: auto; /* Дозволяємо висоті автоматично підлаштовуватися під вміст */
    }

    /* Зменшуємо вертикальні відступи всередині слайда на мобільних */
    .swiper-slide {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}