/* 📱 Скрытие мобильного топбара */
@media (max-width: 991px) {
    .dt__mobilenav-topbar {
        display: none !important;
    }
}

/* ===== HEADER ===== */

.header--thirteen {
    background: #0F172A !important;
    border: none !important;
}

/* --- ИЗМЕНЕН ТОЛЬКО ЭТОТ БЛОК ДЛЯ ВЫРАВНИВАНИЯ --- */
.header--thirteen .dt__header-mid {
    display: flex !important;
    justify-content: flex-end !important; 
    align-items: center !important; 
    
    max-width: 1400px !important;
    
    /* Центрируем сам контейнер, если экран шире 1600px */
    margin: 0 auto !important; 
    
    /* Добавляем расстояние между элементами (лого, меню, кнопки) */
    gap: 30px; 
}

.header--thirteen .dt__header-contact-info {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header--thirteen .dt__header-contact-info li {
    margin-left: 35px !important;
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

.header--thirteen .dt__header-contact-info li i {
    margin-right: 10px !important;
    color: #5e54f1 !important;
}

/* Меню */
.header--thirteen .dt__navbar-menu {
    display: flex;
    gap: 30px;
    margin-left: 390px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    position: relative;
}

/* 🔥 Полоска сверху */
.header--thirteen .dt__navbar-menu:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #212240 !important;
}

/* Ссылки */
.header--thirteen .dt__navbar-menu a,
.header--thirteen .dt__navbar-menu span {
    color: #ffffff !important;
    text-decoration: none !important;
    font-family: 'Gilroy', sans-serif !important;
    transition: opacity 0.3s ease;
}

/* Hover эффект */
.header--thirteen .dt__navbar-menu:hover a {
    opacity: 0.4;
}

.header--thirteen .dt__navbar-menu a:hover {
    opacity: 1 !important;
}

/* Убираем линии */
.header--thirteen .dt__navbar-menu a::before,
.header--thirteen .dt__navbar-menu a::after {
    display: none !important;
}

/* ===== ОСНОВА ===== */

.dt-py-default {
    padding: 3rem 0;
}

/* Заголовки */
h1 {
    font-size: 60px !important;
}

h2 {
    font-size: 22px !important;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.entry-title {
    font-family: 'Gilroy', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

/* Текст */
body, p, li, a, span,
div:not(h1,h2,h3,h4,h5,h6) {
    font-family: 'Gilroy', sans-serif !important;
    line-height: 1.6;
}

/* Убираем page title */
.dt__pagetitle {
    display: none !important;
}

/* Эффекты */
.glass-card {
    background: rgba(255,255,255,0.7) !important;
    backdrop-filter: blur(12px);
    border-radius: 20px !important;
    transition: 0.3s;
}

.glass-card:hover {
    transform: translateY(-8px);
}

/* Отключение анимации */
.fadeInUp {
    animation: none !important;
}

/* 📱 H1 для мобильных */
@media (max-width: 767px) {
    h1 {
        font-size: 24px !important;
        font-weight: 800 !important;
    }
}

/* ГРАДИЕНТ ДЛЯ ЗАГОЛОВКА */
.elementor-heading-title,
h1.entry-title {
    background: linear-gradient(90deg, #0F172A 0%, #6366F1 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* МАКСИМАЛЬНО КОМПАКТНЫЙ СТИЛЬ СЕКЦИЙ */
section,
.elementor-section {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.elementor-widget:not(:last-child) {
    margin-bottom: 5px !important;
}

/* Компактный CTA */
.ew-cta-card {
    padding: 35px 40px !important;
}

/* Мобильная коррекция секций */
@media (max-width: 768px) {
    section, .section {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}

/* 1. СТАНДАРТНЫЕ СТИЛИ CF7 */
.wpcf7 .screen-reader-response {
    position: absolute;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    word-wrap: normal !important;
}

.wpcf7-submit {
    background-color: #5e54f1 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 14px 40px !important;
    border-radius: 10px !important;
    border: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;
    text-align: center;
    box-shadow: 0 4px 10px rgba(94, 84, 241, 0.2);
}

.wpcf7-submit:hover {
    background-color: #4a42c9 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(94, 84, 241, 0.3);
}

@media screen and (max-width: 767px) {
    .wpcf7-submit {
        display: block !important;
        width: 100% !important;
        padding: 18px 20px !important;
        box-sizing: border-box !important;
    }
}

body:not(.page-id-597) .grecaptcha-badge {
    display: none !important;
}
.grecaptcha-badge {
    bottom: 80px !important;
}

/* 📱 ОБНОВЛЕННОЕ МОБИЛЬНОЕ МЕНЮ (ПОЛНАЯ ШИРИНА, ТЕКСТ СЛЕВА, БЕЗ АНИМАЦИИ И ОБВОДКИ) */
@media (max-width: 1024px) {

    .dt__mobilenav-mainmenu, 
    .dt__mobilenav-mainmenu-inner {
        width: 100% !important;
        max-width: 100% !important;
        left: 0 !important;
        right: 0 !important;
    }

    .dt__mobilenav-mainmenu-inner {
        display: flex !important;
        flex-direction: column !important;
        height: 100vh !important;
        padding-top: 40px !important;
        background-color: #0F172A !important;
        overflow-y: auto !important;
        position: relative !important;
    }

    /* 👇 ИЗМЕНЕННЫЙ БЛОК ДЛЯ СМЕНЫ ЯЗЫКА 👇 */
    .dt__mobilenav-mainmenu-inner::before {
        display: block !important;
        font-family: 'Gilroy', sans-serif !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        color: #A5B4FC !important;
        letter-spacing: 3px !important;
        text-align: left !important;
        padding-left: 35px !important;
        margin-bottom: 30px !important;
        opacity: 0.8;
        border-bottom: none !important;
        background-image: none !important;
        height: auto !important;
        width: auto !important;
    }
    
    /* Эстонский (по умолчанию) */
    body.lang-et .dt__mobilenav-mainmenu-inner::before,
    .dt__mobilenav-mainmenu-inner::before {
        content: "MENÜÜ" !important;
    }

    /* Русский */
    body.lang-ru .dt__mobilenav-mainmenu-inner::before {
        content: "МЕНЮ" !important;
    }

    /* Английский */
    body.lang-en .dt__mobilenav-mainmenu-inner::before {
        content: "MENU" !important;
    }
    /* 👆 КОНЕЦ ИЗМЕНЕНИЙ 👆 */

    /* 🚫 ПОЛНОЕ ОТКЛЮЧЕНИЕ "ИГРЫ" И УДАЛЕНИЕ ОБВОДКИ (OUTLINE) */
    .hamburger, 
    .hamburger *,
    .dt__mobilenav-toggle,
    .dt__mobilenav-toggle span,
    .dt__sidebar-close,
    .close-button,
    [class*="close"] {
        -webkit-transition: none !important;
        transition: none !important;
        animation: none !important;
        transform: none !important;
        outline: none !important; /* Убирает синюю рамку */
        box-shadow: none !important; /* Убирает тень-обводку */
    }

    /* Дополнительно убираем обводку при фокусе для всех интерактивных элементов меню */
    .dt__mobilenav-toggle:focus,
    .dt__sidebar-close:focus,
    .hamburger:focus {
        outline: none !important;
    }

    /* Выравнивание кнопки закрытия */
    .dt__mobilenav-mainmenu-inner .dt__sidebar-close,
    .dt__mobilenav-mainmenu-inner .close-button,
    .dt__mobilenav-mainmenu-inner [class*="close"] {
        top: 35px !important;
        right: 25px !important;
        color: #ffffff !important;
    }

    .dt__mobilenav-mainmenu-inner ul li {
        margin: 0 !important;
        width: 100% !important;
    }

    .dt__mobilenav-mainmenu-inner li a {
        font-family: 'Gilroy', sans-serif !important;
        font-size: 19px !important;
        font-weight: 700 !important;
        color: #ffffff !important;
        padding: 18px 35px !important;
        display: block !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
        transition: all 0.3s ease !important;
        text-decoration: none !important;
        line-height: 1.2 !important;
        text-align: left !important;
    }

    .dt__mobilenav-mainmenu-inner li.current-menu-item a,
    .dt__mobilenav-mainmenu-inner li a:active {
        color: #ffffff !important;
        background: linear-gradient(90deg, rgba(99, 102, 241, 0.15) 0%, transparent 100%) !important;
        padding-left: 45px !important;
        border-left: 4px solid #6366F1 !important;
    }

    .dt__mobilenav-mainmenu-inner ul {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        width: 100% !important;
    }
}

/* --- ФИКС ВЫСОТЫ ШАПКИ --- */
@media (max-width: 991px) {
    .header--thirteen .dt__header-navwrapperinner, 
    .header--thirteen .dt__navbar-menu {
        min-height: 40px !important;
    }
    
    .header--thirteen .logo img {
        max-height: 40px !important;
    }

    .dt__mobilenav-toggle {
        display: flex !important;
        align-items: center !important;
        height: 100% !important;
        outline: none !important; /* Убираем обводку здесь тоже */
    }
}

/* ВЫПАДАЮЩЕЕ МЕНЮ (ДЕСКТОП) */
.header--thirteen .dt__navbar-menu .sub-menu,
.header--thirteen .dt__navbar-menu .dropdown-menu {
    position: absolute !important;
    background-color: #ffffff !important;
    min-width: 250px !important;
    border-radius: 12px !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15) !important;
    padding: 12px 0 !important;
    margin-top: 10px !important;
    border: none !important;
    z-index: 999 !important;
}

.header--thirteen .dt__navbar-menu .sub-menu a,
.header--thirteen .dt__navbar-menu .dropdown-menu a {
    color: #212240 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    padding: 12px 25px !important;
    display: block !important;
    opacity: 1 !important;
}

.header--thirteen .dt__navbar-menu .sub-menu a:hover {
    color: #5e54f1 !important;
    background-color: rgba(94, 84, 241, 0.05) !important;
    padding-left: 30px !important;
}

/* ===== MODERN PREMIUM FOOTER ===== */

.site-footer {
    background-color: #0F172A !important;
    background-image: 
        radial-gradient(circle at 10% 10%, rgba(99, 102, 241, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 90% 90%, rgba(94, 84, 241, 0.05) 0%, transparent 40%);
    color: #ffffff;
    padding: 80px 0 30px !important;
    font-family: 'Gilroy', sans-serif;
    position: relative;
    overflow: hidden;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 25px;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 40px;
}

.footer-section h3 {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 25px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
}

.footer-section h3:after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 30px;
    height: 2px;
    background: #5e54f1;
}

.footer-about p {
    color: #94A3B8 !important;
    line-height: 1.8;
    font-size: 15px;
    margin-bottom: 15px;
}

.footer-links ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    color: #94A3B8 !important;
    text-decoration: none;
    font-size: 15px;
    transition: all 0.3s ease;
    display: inline-block;
}

.footer-links a:hover {
    color: #ffffff !important;
    transform: translateX(5px);
}

.footer-contact p {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ffffff !important;
    margin-bottom: 15px;
    font-size: 15px;
}

.footer-contact i {
    color: #5e54f1;
    font-size: 18px;
    width: 20px;
}

.footer-contact a {
    color: #ffffff !important;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-contact a:hover {
    color: #A5B4FC !important;
}

.social-icons {
    display: flex;
    gap: 15px;
    margin-top: 10px;
}

.social-icons a {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.social-icons a:hover {
    background: #5e54f1;
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(94, 84, 241, 0.3);
    border-color: #5e54f1;
}

.footer-bottom {
    margin-top: 60px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-bottom .footer-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-bottom p {
    font-size: 13px;
    color: #64748B !important;
    margin: 0;
}

.footer-legal {
    display: flex;
    gap: 25px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-legal a {
    font-size: 13px;
    color: #64748B !important;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-legal a:hover {
    color: #ffffff !important;
}

@media (max-width: 991px) {
    .footer-container {
       grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}

@media (max-width: 600px) {
    .site-footer {
        padding: 50px 0 20px !important;
    }
    .footer-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .footer-bottom .footer-container {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }
    .footer-legal {
        flex-wrap: wrap;
        gap: 10px 20px;
    }
}

/* Скрываем нижний переключатель языков Polylang только в мобильном меню */
@media (max-width: 991px) {
    .dt__mobilenav-mainmenu-inner .lang-item, 
    .dt__mobilenav-mainmenu-inner .pll-parent-menu-item {
        display: none !important;
    }
}
/* Убираем подчеркивание у ссылок соцсетей в футере */
.social-icons a {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* На всякий случай убираем при наведении */
.social-icons a:hover {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* КНОПКА WHATSAPP — ФИНАЛЬНЫЙ ФИКС */
        .ew-btn-pill {
            background: var(--ew-glass) !important;
            border: 1px solid var(--ew-border) !important;
            padding: 0 20px !important; /* Убираем вертикальный паддинг, полагаемся на высоту */
            border-radius: 50px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 10px !important;
            text-decoration: none !important;
            color: #ffffff !important;
            font-size: 14px !important;
            font-weight: 700 !important;
            transition: 0.3s !important;
            white-space: nowrap !important;
            height: 44px !important; /* Четкая высота */
            line-height: 1 !important;
        }

        /* Исправляем обрезку значка */
        .ew-btn-pill svg {
            width: 18px !important; /* Чуть уменьшил, чтобы не резало края */
            height: 18px !important;
            flex-shrink: 0 !important;
            stroke: #25D366; 
            display: block !important; /* Убирает лишние зазоры снизу */
            overflow: visible !important; /* Чтобы stroke не обрезался */
        }
