/*
 Theme Name:   Astra Child
 Template:     astra
 Version:      1.0.4
*/

/* --- 1. БАЗОВАЯ НАСТРОЙКА И ТИПОГРАФИКА --- */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Montserrat:wght@600;700&display=swap');
:root { --primary-color: #0A2540; --secondary-color: #0073aa; --text-color: #333333; --light-gray-bg: #f7f7f7; --font-heading: 'Montserrat', sans-serif; --font-body: 'Lato', sans-serif; }
body { font-family: var(--font-body); color: var(--text-color); line-height: 1.7; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: 700; color: var(--primary-color); letter-spacing: -0.5px; }
a { color: var(--secondary-color); transition: all 0.3s ease; }
a:hover { opacity: 0.8; }

/* --- 2. КНОПКИ И ССЫЛКИ --- */
.elementor-button { font-family: var(--font-heading); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; border-radius: 5px !important; padding: 16px 32px !important; background-color: var(--primary-color) !important; transition: all 0.3s ease !important; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
.elementor-button:hover { transform: translateY(-3px); box-shadow: 0 7px 20px rgba(0,0,0,0.15); }

/* --- 3. АНИМАЦИИ ПРИ ПРОКРУТКЕ --- */
@keyframes fadeInUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
.elementor-widget-wrap { animation: fadeInUp 0.8s ease forwards; opacity: 0; }
.elementor-section > .elementor-container > .elementor-column:nth-child(2) .elementor-widget-wrap { animation-delay: 0.2s; }
.elementor-section > .elementor-container > .elementor-column:nth-child(3) .elementor-widget-wrap { animation-delay: 0.4s; }

/* --- 4. КАСТОМНЫЕ ЭЛЕМЕНТЫ --- */
.my-top-bar { background-color: var(--primary-color); color: rgba(255, 255, 255, 0.8); padding: 12px 0; font-size: 14px; line-height: 1.5; }
.contact-info-wrapper { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 25px; }
.info-item { display: flex; align-items: center; }
.info-item .astra-icon { margin-right: 8px; color: #fff; font-size: 16px; }
.info-item a { text-decoration: none; color: inherit; }
.info-item a:hover { color: #fff; }
.ast-footer-copyright { display: none !important; }
.my-custom-copyright { text-align: center; color: inherit; padding: 20px; margin: 0; }


/* --- 5. ИСПРАВЛЕНИЯ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ --- */
@media (max-width: 921px) {
    /* Гарантированно скрываем верхнюю полоску с контактами */
    .my-top-bar {
        display: none !important;
    }

    /* ИСПРАВЛЕНИЕ "ПРЫЖКА" МЕНЮ: Скрываем навигацию для ПК на мобильных */
    .ast-main-header-bar-alignment {
        display: none;
    }
    /* ... и показываем только контейнер для мобильной кнопки */
    .ast-mobile-header-wrap {
        display: block;
    }
}

/* Анимация для мобильного меню */
.ast-builder-menu-mobile .main-navigation .menu-item { opacity: 0; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item { animation: fadeInUp 0.5s ease forwards; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(1) { animation-delay: 0.05s; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(2) { animation-delay: 0.1s; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(3) { animation-delay: 0.15s; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(4) { animation-delay: 0.2s; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(5) { animation-delay: 0.25s; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(6) { animation-delay: 0.3s; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(7) { animation-delay: 0.35s; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(8) { animation-delay: 0.4s; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(9) { animation-delay: 0.45s; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(10) { animation-delay: 0.5s; }
.ast-main-header-nav-open .ast-builder-menu-mobile .main-navigation .menu-item:nth-child(11) { animation-delay: 0.55s; }


/* --- 6. НОВОЕ: ПЛАВНАЯ ЗАГРУЗКА СТРАНИЦЫ --- */

/* Изначально делаем шапку и контент немного прозрачными и сдвинутыми вниз */
body {
    opacity: 0; /* Прячем все, пока страница не готова */
    transition: opacity 0.5s ease-in; /* Плавное появление */
}

/* Когда JS определит, что страница загружена, мы плавно покажем контент */
body.page-loaded {
    opacity: 1;
}
