/* 1. ГЛОБАЛЬНІ ТА АДАПТИВНІ СТИЛІ */
.back-to-top, #back-to-top, .scroll-up, .btn-up, .scrollToTop { display: none !important; }

html.custom-menu-open, body.custom-menu-open {
    overflow: hidden !important;
    height: 100% !important;
    touch-action: none;
}

.site-section, .services-section-wrapper, .results-section { padding: 80px 0 !important; }

@media (max-width: 991px) {
    .site-section, .services-section-wrapper, .results-section { padding: 50px 15px !important; }
    .dynamic-hero-content { padding-top: 130px !important; padding-bottom: 60px !important; }
}

/* 2. МОБІЛЬНЕ МЕНЮ (FULLSCREEN) */
.custom-mobile-menu {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    width: 100%; 
    height: 100dvh !important; /* Динамічна висота екрану для мобільних */
    background: #ffffff; z-index: 9999990;
    display: flex; flex-direction: column; overflow-y: auto;
    visibility: hidden; opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    padding-bottom: 30px; /* Щоб нижні контакти не прилипали до краю */
}
body.custom-menu-open .custom-mobile-menu { visibility: visible; opacity: 1; }
.cmm-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 25px; border-bottom: 1px solid #f0f0f0; background: #ffffff; position: sticky; top: 0; z-index: 2; }
.cmm-logo-text { color: #333; font-weight: 800; font-size: 24px; margin-left: 10px; letter-spacing: 0.5px; }
.cmm-close { 
    background: none; border: none; font-size: 45px; font-weight: 300; line-height: 0.5; color: #333; cursor: pointer; padding: 10px; 
    outline: none !important; -webkit-tap-highlight-color: transparent !important; box-shadow: none !important;
}
.cmm-body { padding: 30px 25px; display: flex; flex-direction: column; flex-grow: 1; }
.business-nav { list-style: none; padding: 0; margin: 0 0 30px 0; }
.business-nav > li { border-bottom: 1px solid #f5f5f5; }
.business-nav a { display: block; padding: 18px 0; color: #111; font-size: 18px; font-weight: 600; text-decoration: none; text-transform: uppercase; }
.business-nav .cmm-dropdown { list-style: none; padding-left: 20px; display: none; }
.business-nav .cmm-dropdown a { font-size: 15px; font-weight: 500; color: #555; padding: 12px 0; text-transform: none; }
.business-nav .mobile-has-dropdown.open .cmm-dropdown { display: block; }
.cmm-lang { display: flex; gap: 10px; margin-bottom: 30px; }
.cmm-lang a { font-size: 14px; font-weight: 700; color: #555; padding: 6px 16px; border-radius: 20px; background: #f0f0f0; text-decoration: none; }
.cmm-lang a.active { background: #fca311; color: #ffffff !important; }
.cmm-bottom-contacts { margin-top: auto; border-top: 1px solid #f0f0f0; padding-top: 30px; text-align: center; }
.cmm-socials-grid { display: flex; justify-content: center; gap: 20px; margin-bottom: 25px; }
.cmm-icon-btn { display: flex; align-items: center; justify-content: center; width: 55px; height: 55px; border-radius: 50%; background: #f8f9fa; color: #392ec9; font-size: 24px; border: 1px solid #eee; transition: 0.3s; }
.cmm-icon-btn:hover { background: #fca311; color: #fff; border-color: #fca311; }
.cmm-phones a { display: block; color: #111; font-size: 22px; font-weight: 700; text-decoration: none; margin-bottom: 10px; }
.cmm-email a { color: #777; font-size: 16px; text-decoration: none; }

/* 3. ШАПКА ТА ЕФЕКТИ */
.header-consult-btn { transition: all 0.3s ease !important; box-shadow: 0 4px 15px rgba(252, 163, 17, 0.2); }
.header-consult-btn:hover { background: #e08e0b !important; box-shadow: 0 6px 20px rgba(252, 163, 17, 0.4) !important; transform: translateY(-2px) !important; }

/* 4. ІНДИКАТОР ЧАСУ */
.site-time-indicator {
    position: fixed; bottom: 25px; right: 25px; z-index: 9999;
    background: rgba(20, 20, 20, 0.65) !important; backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important; border-radius: 35px;
    padding: 8px 22px; min-width: 110px; height: 45px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); pointer-events: none;
}
.site-time-indicator span {
    color: #fca311 !important; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 18px;
    text-shadow: 0 0 8px rgba(252, 163, 17, 0.6), 0 0 16px rgba(252, 163, 17, 0.3) !important;
}

/* 5. СПЕЦІАЛЬНІ СЕКЦІЇ (БЕЗ ЗМІНИ ЛОГІКИ НАЇЗДУ) */
@media (max-width: 991px) {
    .premium-consulting-card.overlapping-text-card {
        margin-top: -50px !important; margin-left: 0 !important; width: 100% !important;
    }
}
/* --- БЕЗПЕЧНА СТАБІЛІЗАЦІЯ ДЛЯ MACBOOK --- */
/* Застосовуємо тільки до скляних елементів, щоб вони не мерехтіли */
.site-time-indicator, 
.side-menu {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    will-change: transform; /* Найбезпечніший метод стабілізації для сучасних браузерів */
}

/* Згладжування шрифтів для приємного читання на Retina-екранах (не блокує скрол) */
body {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}
/* Примусове знищення старого ефекту розмиття з шаблону */
#mobileBackdrop, .mobile-backdrop { 
    display: none !important; 
    opacity: 0 !important; 
    visibility: hidden !important; 
    z-index: -999 !important; 
}
.site-wrap {
    filter: none !important; /* Знімає розмиття з головного контейнера */
}
/* =========================================================
   ДИНАМІЧНИЙ ФОН: РУХ ІКОНОК ЗМІЙКОЮ (Секція Консалтинг)
   ========================================================= */

.premium-consulting-section {
    position: relative;
    overflow: hidden; /* Щоб іконки не вилітали за межі */
    background: linear-gradient(135deg, #ffffff 0%, #fbfbfd 100%); /* Легкий градієнт */
}

/* Контейнер для об'єктів */
.logistic-objects-container {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 1; /* Обов'язково за контентом */
    pointer-events: none; /* Щоб не заважало виділяти текст */
    opacity: 0.6; /* Загальна прозорість для м'якості */
}

/* Захист контенту: піднімаємо його над анімацією */
.premium-consulting-section > .container {
    position: relative;
    z-index: 2;
}

/* Спільні стилі для іконок */
.logistic-obj {
    position: absolute;
    color: #fca311; /* Ваш фірмовий помаранчевий */
    font-size: 30px; /* Розмір іконки */
    filter: blur(0.5px); /* Легке розмиття для глибини */
    opacity: 0; /* Спочатку приховані (появляться в анімації) */
}

/* --- Налаштування траєкторії для кожної іконки (різні точки старту та час) --- */

.obj-truck {
    top: 15%; left: -10%;
    animation: snakeMove_1 25s linear infinite;
    font-size: 35px; /* Вантажівка трохи більша */
}

.obj-warehouse {
    top: 60%; left: -10%;
    animation: snakeMove_2 30s linear infinite 5s; /* Затримка 5с */
    font-size: 32px;
}

.obj-box {
    top: 40%; right: -10%; /* Починає справа */
    animation: snakeMove_3 22s linear infinite 2s;
}

.obj-graph {
    top: 80%; right: -10%; /* Починає справа */
    animation: snakeMove_3 28s linear infinite 8s;
}

/* =========================================================
   КЛЮЧОВІ КАДРИ АНІМАЦІЇ "ЗМІЙКА" (Wavy Path)
   ========================================================= */

/* Анімація 1: Зліва направо, велика амплітуда (Хвиля) */
@keyframes snakeMove_1 {
    0% { transform: translate3d(0, 0, 0) rotate(0deg); opacity: 0; }
    5% { opacity: 0.7; } /* Появилася */
    25% { transform: translate3d(25vw, 50px, 0) rotate(10deg); } /* Пішла вниз */
    50% { transform: translate3d(50vw, -50px, 0) rotate(-10deg); } /* Пішла вгору */
    75% { transform: translate3d(75vw, 50px, 0) rotate(10deg); } /* Знову вниз */
    95% { opacity: 0.7; }
    100% { transform: translate3d(110vw, 0, 0) rotate(0deg); opacity: 0; } /* Зникла */
}

/* Анімація 2: Зліва направо, дрібна швидка хвиля */
@keyframes snakeMove_2 {
    0% { transform: translate3d(0, 0, 0); opacity: 0; }
    5% { opacity: 0.5; }
    15% { transform: translate3d(15vw, -30px, 0); }
    30% { transform: translate3d(30vw, 30px, 0); }
    45% { transform: translate3d(45vw, -30px, 0); }
    60% { transform: translate3d(60vw, 30px, 0); }
    75% { transform: translate3d(75vw, -30px, 0); }
    90% { transform: translate3d(90vw, 30px, 0); opacity: 0.5; }
    100% { transform: translate3d(110vw, 0, 0); opacity: 0; }
}

/* Анімація 3: Справа наліво, плавна "вісімка" */
@keyframes snakeMove_3 {
    0% { transform: translate3d(0, 0, 0); opacity: 0; }
    5% { opacity: 0.6; }
    25% { transform: translate3d(-25vw, -60px, 0); }
    50% { transform: translate3d(-50vw, 0px, 0); }
    75% { transform: translate3d(-75vw, 60px, 0); }
    95% { opacity: 0.6; }
    100% { transform: translate3d(-110vw, 0, 0); opacity: 0; }
}