/* Theme Name: Nording Elementor
Theme URI: https://nord-engineering.ru/nording-elementor
Author: Konstantin Merzlyakov
Author URI: https://argent.ru
Description: A custom WordPress theme for Nording with Elementor.
Version: 1.0
*/

body {
    font-family: 'Roboto', sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    max-width: 100%
}

/* Основной стиль для верхнего меню */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
    padding: 0 30px;
    background: rgba(255, 255, 255, 0.5); /* Полупрозрачный фон */
    backdrop-filter: blur(5px); /* Размытие */
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    transition: background-color 0.5s, color 0.5s;
}

/* Левый и правый блоки */
.navbar-left, .navbar-right {
    display: flex;
    align-items: center;
}

/* Логотип */
.logo {
    height: 65px;
    margin-right: 40px;
}

/* Основное меню */
.nav-menu ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-menu ul li {
    margin-right: 60px; /* Увеличенное расстояние между пунктами меню */
}

.nav-menu ul li a {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 14pt;
    color: #fff; /* Цвет текста по умолчанию */
    text-decoration: none;
    transition: color 0.5s;
}
/* Стиль активного элемента меню */
.nav-menu ul li.active a {
    background-color: #3a597b; /* Цвет плашки активного пункта меню */
    border-radius: 20px 0 20px 0; /* Скругление всех углов плашки */
    padding: 10px 20px; /* Внутренние отступы для увеличения размера плашки */
    color: #fff; /* Цвет текста на плашке */
    transition: background-color 0.5s, color 0.5s;
}

/* При наведении на активный пункт */
.nav-menu ul li.active a:hover {
    background-color: #2d4a6a; /* Более тёмный цвет плашки при наведении */
    color: #ffffff; /* Цвет текста при наведении */
}

/* Общий стиль для контейнера кнопки и переключателя языков */
.header-lang-button {
    display: flex;
    align-items: center;
    gap: 25px; /* Увеличенное расстояние между кнопкой и переключателем языков */
    align-self: center; /* Дополнительное выравнивание для контейнера */
}

/* Стиль кнопки "Написать нам" */
.contact-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 190px;
    height: 65px;
    background-color: #3a597b;
    color: #fff; /* Цвет текста кнопки */
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 11pt;
    border: none;
    border-radius: 20px 0 20px 0;
    cursor: pointer;
    padding: 0 22px;
    position: relative;
    text-align: left; /* Текст выровнен по левому краю */
}

.contact-button .fa-arrow-right {
    background-color: #fff;
    color: #7f97b8; /* Цвет стрелки */
    border-radius: 50%;
    padding: 10px;
}

.contact-button:hover {
    background-color: #2d4a6a;
}

.contact-button:hover .fa-arrow-right {
    color: #2d4a6a;
}

/* Переключатель языков */
.language-switcher {
    font-family: 'Roboto', sans-serif;
    font-size: 12pt;
    color: #0a113a;
}

.language-switcher a {
    text-decoration: none;
    color: inherit;
    margin: 0 10px; /* Увеличенное расстояние между RU, EN и наклонным элементом / */
}

.language-switcher .active {
    font-weight: bold;
}

/* Темный блок */
.dark-block .navbar,
.dark-block .nav-menu ul li a,
.dark-block .language-switcher a,
.dark-block .contact-button,
.dark-block .language-switcher {
    color: #fff; /* Белый цвет текста и кнопок */
}

.dark-block .contact-button .fa-arrow-right {
    color: #7f97b8; /* Сохранение цвета стрелки */
}

/* Смена логотипа для тёмного и светлого блоков */
.dark-block .logo {
    content: url('/wp-content/themes/nording-elementor/img/NE-logo-w.png'); /* Белый логотип */
}

.light-block .logo {
    content: url('/wp-content/themes/nording-elementor/img/NE-logo-c.png'); /* Цветной логотип */
}

/* Смена цвета пунктов меню для тёмного и светлого блоков */
.dark-block .navbar .hfe-menu-item,
.dark-block .navbar .hfe-menu-item a {
    color: #fff !important; /* Белый цвет текста */
}

.light-block .navbar .hfe-menu-item,
.light-block .navbar .hfe-menu-item a {
    color: #000 !important; /* Чёрный цвет текста */
}

/* Стиль для подложки пунктов меню при наведении курсора мыши */
.hfe-menu-item:hover {
    position: relative;
}

.hfe-menu-item:hover::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px; /* Можно регулировать отступ от текста */
    height: 5px; /* Высота подложки */
    background-color: #3a597b; /* Цвет подложки */
    border-radius: 20px 0 20px 0; /* Скругление двух углов */
    transition: background-color 0.5s, height 0.5s, bottom 0.5s;
}

.hfe-menu-item:hover {
    color: #7f97b8; /* Цвет текста при наведении */
}

.hfe-menu-item {
    transition: color 0.5s;
}

/* Блок "Сервисы" */
.services-section {
    display: flex;
    justify-content: space-around;
    padding: 20px;
    gap: 20px; /* Расстояние между блоками */
}

.service-item {
    flex: 1;
    max-width: 300px; /* Ограничение максимальной ширины для блоков */
    padding: 20px;
    background-color: #7f97b8; /* Цвет фона блоков */
    color: #fff;
    border-radius: 30px 0 30px 0; /* Скругленные углы */
    text-align: left;
    font-family: 'Roboto', sans-serif;
    font-size: 14pt;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Тень для блоков */
    transition: background-color 0.3s; /* Переход для изменения цвета фона */
    text-decoration: none; /* Убираем подчеркивание ссылок */
}

.service-item a {
    color: #fff !important; /* Белый цвет ссылок */
    text-decoration: none;
}

.service-item:hover {
    background-color: #3a597b; /* Цвет фона при наведении */
}

.service-item:hover a {
    color: #fff !important; /* Белый цвет ссылок при наведении */
}

/* Стили для футера */
.site-footer {
    background: #222;
    color: #fff;
    padding: 40px 0;
    text-align: center;
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

/* Стили для меню в футере */
.footer-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Выровнять текст по левому краю */
    gap: 15px;
}

.footer-menu h2 {
    color: #fff; /* Белый цвет заголовка */
    margin-bottom: 5px; /* Уменьшенный отступ снизу */
}

.footer-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-menu ul li {
    margin-bottom: 10px;
}

.footer-menu ul li a {
    color: #fff; /* Белый цвет ссылок */
    text-decoration: none;
}

.footer-menu ul li a:hover {
    color: #7f97b8; /* Цвет ссылок при наведении */
}

/* Стили для контактной информации */
.footer-contact {
    margin-bottom: 30px; /* Отступ снизу */
    font-size: 12pt;
    font-family: 'Roboto', sans-serif;
    color: #fff; /* Белый цвет текста */
    text-align: left; /* Выровнять текст по левому краю */
}

.footer-contact h2 {
    color: #fff; /* Белый цвет заголовка */
    margin-bottom: 5px; /* Отступ снизу для заголовка "Контакты" */
}

.footer-contact p {
    margin: 10px 0 10pt 0; /* Отступы между элементами контактной информации */
}

.footer-contact a {
    color: #fff; /* Белый цвет ссылок */
    text-decoration: none;
}

.footer-contact a:hover {
    color: #7f97b8; /* Цвет ссылок при наведении */
}

/* Размер шрифта для телефона */
.phone-number {
    font-size: 14pt; /* Увеличенный размер шрифта */
    font-weight: bold; /* Жирный шрифт */
}

/* Стили для нижнего блока копирайта */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center; /* Отцентрировать по вертикали */
    width: 100%;
    padding: 10px 20px;
    position: relative;
    z-index: 1; /* Установим z-индекс */
    flex: 1;
    font-size: 12pt;
    color: #fff !important;
}

.footer-photo {
    position: absolute;
    bottom: 0; /* Привязать к низу экрана */
    width: 100%;
    height: auto;
    z-index: 3; /* z-индекс 3 для картинки */
    text-align: center; /* Отцентрировать текст */
}

.footer-copyright {
    flex: 1;
    font-size: 10pt;
    text-align: right; /* Привязать текст к правому краю */
    color: #fff;
    padding: 0 20px;
    z-index: 4; /* z-индекс 4 для текста */
}

.argent-logo {
    display: inline-block;
    margin-left: 10px;
}

.argent-logo img {
    vertical-align: middle;
    margin-left: 10px; /* Отступ слева для значка */
}

.footer-bottom .argent-logo a {
    color: #fff; /* Белый цвет ссылок */
    text-decoration: none;
}

.footer-bottom .argent-logo a:hover {
    color: #7f97b8; /* Цвет ссылок при наведении */
}

/* Стили для первой колонки */
.footer-copy-nord {
    flex: 1;
    text-align: left;
    color: #fff; /* Белый цвет текста */
}

/* Стили для второй колонки */
.footer-personal {
    flex: 1;
    text-align: center;
    color: #fff; /* Белый цвет текста */
}

.footer-personal a {
    color: #fff; /* Белый цвет ссылок */
    text-decoration: none;
}

.footer-personal a:hover {
    color: #7f97b8; /* Цвет ссылок при наведении */
}

@media (max-width: 480px) {
    /* Стили для футера */
    .site-footer {
        padding: 20px 0;
    }

    .footer-content {
        gap: 10px;
    }

    /* Стили для меню в футере */
    .footer-menu {
        align-items: center; /* Центрируем текст */
        gap: 10px;
    }

    .footer-menu ul li {
        margin-bottom: 5px;
    }

    /* Стили для контактной информации */
    .footer-contact {
        font-size: 10pt;
    }

    .footer-contact h2 {
        margin-bottom: 5px;
    }

    .footer-contact p {
        margin: 5px 0;
    }

    /* Размер шрифта для телефона */
    .phone-number {
        font-size: 12pt;
    }

    /* Стили для нижнего блока копирайта */
    .footer-bottom {
        flex-direction: column;
        text-align: center;
        padding: 5px 10px;
    }
    /* Стили футера для мобильных */
    .footer-photo {
        display: none !important; /* Скрываем фото на мобильных устройствах и планшетах */
    }

    .footer-copyright {
        text-align: center;
        padding: 5px 0;
    }
}

@media (min-width: 481px) and (max-width: 768px) and (orientation: landscape) {
    /* Стили для футера */
    .site-footer {
        padding: 20px 0;
    }

    .footer-content {
        gap: 10px;
    }

    /* Стили для меню в футере */
    .footer-menu {
        align-items: center; /* Центрируем текст */
        gap: 10px;
    }

    .footer-menu ul li {
        margin-bottom: 5px;
    }

    /* Стили для контактной информации */
    .footer-contact {
        font-size: 10pt;
    }

    .footer-contact h2 {
        margin-bottom: 5px;
    }

    .footer-contact p {
        margin: 5px 0;
    }

    /* Размер шрифта для телефона */
    .phone-number {
        font-size: 12pt;
    }

    /* Стили для нижнего блока копирайта */
    .footer-bottom {
        flex-direction: column;
        text-align: center;
        padding: 5px 10px;
    }

    .footer-photo {
        display: none !important; /* Скрываем фото на мобильных устройствах и планшетах */
    }

    .footer-copyright {
        text-align: center;
        padding: 5px 0;
    }
}

@media (min-width: 769px) and (max-width: 1024px) and (orientation: portrait) {
    /* Стили для футера */
    .site-footer {
        padding: 30px 0;
    }

    .footer-content {
        gap: 15px;
    }

    /* Стили для меню в футере */
    .footer-menu {
        align-items: center; /* Центрируем текст */
        gap: 15px;
    }

    .footer-menu ul li {
        margin-bottom: 8px;
    }

    /* Стили для контактной информации */
    .footer-contact {
        font-size: 11pt;
    }

    .footer-contact h2 {
        margin-bottom: 8px;
    }

    .footer-contact p {
        margin: 8px 0;
    }

    /* Размер шрифта для телефона */
    .phone-number {
        font-size: 13pt;
    }

    /* Стили для нижнего блока копирайта */
    .footer-bottom {
        flex-direction: column;
        text-align: center;
        padding: 10px 15px;
    }

    .footer-photo {
        display: none !important; /* Скрываем фото на мобильных устройствах и планшетах */
    }

    .footer-copyright {
        text-align: center;
        padding: 8px 0;
    }
}

@media (min-width: 1025px) and (max-width: 1280px) and (orientation: landscape) {
    /* Стили для футера */
    .site-footer {
        padding: 30px 0;
    }

    .footer-content {
        gap: 20px;
    }

    /* Стили для меню в футере */
    .footer-menu {
        align-items: center; /* Центрируем текст */
        gap: 15px;
    }

    .footer-menu ul li {
        margin-bottom: 10px;
    }

    /* Стили для контактной информации */
    .footer-contact {
        font-size: 12pt;
    }

    .footer-contact h2 {
        margin-bottom: 10px;
    }

    .footer-contact p {
        margin: 10px 0;
    }

    /* Размер шрифта для телефона */
    .phone-number {
        font-size: 14pt;
    }

    /* Стили для нижнего блока копирайта */
    .footer-bottom {
        flex-direction: row;
        text-align: center;
        padding: 15px 20px;
    }

    .footer-photo {
        display: none !important; /* Скрываем фото на мобильных устройствах и планшетах */
    }

    .footer-copyright {
        text-align: center;
        padding: 10px 0;
    }
}

@media (min-width: 1281px) and (max-width: 1440px) {
    /* Стили для футера */
    .site-footer {
        padding: 40px 0;
    }

    .footer-content {
        gap: 25px;
    }

    /* Стили для меню в футере */
    .footer-menu {
        align-items: flex-start; /* Выравниваем текст по левому краю */
        gap: 20px;
    }

    .footer-menu ul li {
        margin-bottom: 10px;
    }

    /* Стили для контактной информации */
    .footer-contact {
        font-size: 14pt;
    }

    .footer-contact h2 {
        margin-bottom: 10px;
    }

    .footer-contact p {
        margin: 10px 0;
    }

    /* Размер шрифта для телефона */
    .phone-number {
        font-size: 16pt;
    }

    /* Стили для нижнего блока копирайта */
    .footer-bottom {
        flex-direction: row;
        text-align: center;
        padding: 20px 25px;
    }

    .footer-photo {
        display: block; /* Показываем фото на ноутбуках */
        width: 100%;
        text-align: center;
    }

    .footer-copyright {
        text-align: center;
        padding: 15px 0;
    }
}

/* Слайдер на главной */
.custom-slider {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.custom-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: opacity 1s ease-in-out;
}

.custom-slide.active {
    opacity: 1;
    z-index: 1;
}

.custom-slide.inactive {
    opacity: 0;
    z-index: 0;
}

.custom-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    z-index: 2;
}

.custom-slogan {
    font-size: 24pt;
    margin-top: 40px;
}

.custom-services-title {
    font-size: 22pt;
    margin-top: 20px;
}

.custom-service-item {
    display: inline-block;
    padding: 30px;
    background-color: rgba(58, 89, 123, 0.8); /* Цвет фона блоков с полупрозрачностью */
    color: #fff !important; /* Белый цвет текста */
    border-radius: 30px 0 30px 0;
    text-align: left;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s;
    text-decoration: none;
    -webkit-text-fill-color: #fff; /* Поддержка белого текста в Safari */
    -webkit-appearance: none; /* Поддержка в Safari */
}

.custom-service-item:hover {
    background-color: rgba(45, 75, 109, 0.8); /* Цвет фона при наведении с полупрозрачностью */
}

.custom-service-item a {
    color: #fff !important; /* Белый цвет ссылок */
    -webkit-text-fill-color: #fff; /* Поддержка белого текста в Safari */
    -webkit-appearance: none; /* Поддержка в Safari */
}

.custom-service-item a:hover {
    color: #fff !important; /* Белый цвет ссылок при наведении */
    -webkit-text-fill-color: #fff; /* Поддержка белого текста в Safari */
    -webkit-appearance: none; /* Поддержка в Safari */
}

.custom-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Полупрозрачная маска */
    z-index: 1;
}

/* Мобильные устройства (вертикальная ориентация) */
@media (max-width: 480px) {
    .custom-slide {
        background-image: url('/wp-content/uploads/2025/03/ne-slider-1-vertical-scaled.jpg') !important;
        margin-top: 0px; /* Увеличение отступа от шапки */
    }

    .custom-slogan {
        font-size: 16pt !important; /* Уменьшение размера шрифта для слогана */
        margin-top: 60px; /* Дополнительный отступ ниже хэдера */
    }

    .custom-services-title {
        font-size: 14pt !important; /* Уменьшение размера шрифта для заголовка "сервис" */
        margin-top: 10px; /* Дополнительный отступ ниже хэдера */
    }

    .custom-services {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .custom-service-item {
        width: 45%; /* Две колонки */
    }
}

/* Мобильные устройства (горизонтальная ориентация) */
@media (min-width: 481px) and (max-width: 768px) and (orientation: landscape) {
    .custom-slide {
        background-image: url('/wp-content/uploads/2025/03/ne-slider-1-vertical-scaled.jpg') !important;
    }

    .custom-slogan {
        font-size: 16pt !important; /* Уменьшение размера шрифта для слогана */
        margin-top: 60px; /* Дополнительный отступ ниже хэдера */
    }

    .custom-services-title {
        font-size: 14pt !important; /* Уменьшение размера шрифта для заголовка "сервис" */
    }

    .custom-services {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .custom-service-item {
        width: 45%; /* Две колонки */
    }
}

@media (min-width: 769px) and (max-width: 1024px) and (orientation: portrait) {
    .custom-slogan {
        font-size: 18pt; /* Изменение размера шрифта для слогана */
        margin-top: 40px; /* Отступ ниже хэдера */
    }

    .custom-services-title {
        font-size: 16pt; /* Изменение размера шрифта для заголовка "сервис" */
    }

    .custom-services {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .custom-service-item {
        width: 45%; /* Две колонки */
    }
}

@media (min-width: 1025px) and (max-width: 1280px) and (orientation: landscape) {
    .custom-slogan {
        font-size: 18pt; /* Изменение размера шрифта для слогана */
        margin-top: 40px; /* Отступ ниже хэдера */
    }

    .custom-services-title {
        font-size: 16pt; /* Изменение размера шрифта для заголовка "сервис" */
    }

    .custom-services {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .custom-service-item {
        width: 45%; /* Две колонки */
    }
}

@media (min-width: 1281px) and (max-width: 1440px) {
    .custom-slogan {
        font-size: 20pt; /* Изменение размера шрифта для слогана */
        margin-top: 40px; /* Отступ ниже хэдера */
    }

    .custom-services-title {
        font-size: 18pt; /* Изменение размера шрифта для заголовка "сервис" */
    }
}

/* Поддержка Safari */
@media not all and (min-resolution:.001dpcm) { 
  @supports (-webkit-appearance:none) {
    .custom-service-item {
        color: #fff !important;
        -webkit-text-fill-color: #fff;
    }

    .custom-service-item a {
        color: #fff !important;
        -webkit-text-fill-color: #fff;
    }

    .custom-service-item a:hover {
        color: #fff !important;
        -webkit-text-fill-color: #fff;
    }
  }
}

/* Карусель */
.custom-gallery .elementor-image-carousel-wrapper {
    overflow: visible;
    padding-top: 50px;
    padding-bottom: 50px;
}

.custom-gallery .elementor-image-carousel .swiper-slide:nth-child(odd) {
    transform: translateY(40px); /* Смещение вниз */
}

.custom-gallery .elementor-image-carousel .swiper-slide:nth-child(even) {
    transform: translateY(-40px); /* Смещение вверх */
}

.custom-gallery .elementor-image-carousel img {
    border-radius: 15px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    object-fit: cover;
    width: 100%;
    height: auto;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Адаптация шахматного порядка для планшетов */
@media screen and (max-width: 1024px) {
    .custom-gallery .elementor-image-carousel-wrapper {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .custom-gallery .elementor-image-carousel .swiper-slide:nth-child(odd) {
        transform: translateY(20px); /* Уменьшенное смещение */
    }

    .custom-gallery .elementor-image-carousel .swiper-slide:nth-child(even) {
        transform: translateY(-20px);
    }

    .custom-gallery .elementor-image-carousel img {
        border-radius: 10px;
    }
}

/* Адаптация шахматного порядка для смартфонов */
@media screen and (max-width: 768px) {
    .custom-gallery .elementor-image-carousel-wrapper {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .custom-gallery .elementor-image-carousel .swiper-slide {
        transform: translateY(0);
    }

    .custom-gallery .elementor-image-carousel img {
        border-radius: 8px;
        width: 90%;
        margin: 0 auto;
    }
}
/* Сброс настроек для галерей без класса custom-gallery */
.elementor-image-carousel-wrapper {
    overflow: hidden;
    padding: 0;
}

.elementor-image-carousel .swiper-slide {
    transform: translateY(0); /* Убираем смещение */
}

.elementor-image-carousel img {
    border-radius: 0; /* Убираем скругление углов */
    box-shadow: none; /* Убираем тени */
    object-fit: contain; /* Логотипы и изображения масштабируются аккуратно */
    width: 100%;
    height: auto;
}
/* Для мобильных устройств (ширина до 768px) */
.mobile-text-bg {
    background-color: transparent; /* Прозрачный фон на десктопе */
    color: #ffffff; /* Белый текст */
    padding: 0;
    border-radius: 0;
    transition: background-color 0.3s ease; /* Плавный переход фона */
}

/* Стили для мобильных устройств (ширина до 768px) */
@media screen and (max-width: 768px) {
    .mobile-text-bg {
        background-color: #6e8399; /* Синий фон на мобильных */
        padding: 10px; /* Добавляем внутренний отступ */
        border-radius: 5px; /* Скругление углов */
        display: inline-block; /* Корректное отображение блока */
    }
}

/* Форма обратной связи для отправки резюме */
.wpcf7-form {
    max-width: 800px;
    margin: 0 auto;
    padding: 15px; /* Компактный отступ формы */
    font-family: Arial, sans-serif;
    background: #fff;
    border-radius: 8px;
}

.wpcf7-form h2 {
    font-size: 42px; /* Немного уменьшен размер */
    margin-bottom: 10px;
    color: #333;
    text-align: center;
}

.wpcf7-form > p:first-of-type {
    color: #666;
    font-size: 14px;
    margin-bottom: 15px;
    text-align: center;
}

/* Поля ввода */
.wpcf7-form-control {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    margin: 8px 0; /* Сокращён отступ между полями */
    box-sizing: border-box;
}

/* Текстовое поле */
.wpcf7-form textarea {
    height: 100px; /* Уменьшена высота */
    resize: vertical;
    margin: 8px 0 20px; /* Уменьшён нижний отступ до блока чекбокса */
}

/* Файловое поле */
.wpcf7-form .file-upload {
    margin: 15px 0;
}

.wpcf7-form .file-upload input[type="file"] {
    display: none;
}

.wpcf7-form .file-upload label {
    display: block;
    background: #3a597b;
    color: #fff;
    padding: 8px; /* Уменьшен padding */
    border-radius: 20px 0 20px 0;
    text-align: center;
    cursor: pointer;
    transition: background 0.3s;
}

.wpcf7-form .file-upload label:hover {
    background: #2d4a6a;
}

/* Убираем лишние отступы между div */
.wpcf7-form > div {
    margin: -20px 0 -20px 0 !important; /* Убираем внешние отступы между блоками */
    padding: 0 !important; /* Убираем внутренние отступы */
}

/* Чекбокс */
.wpcf7-form .consent-block {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.wpcf7-form .consent-block input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #3a597b;
    flex-shrink: 0;
    margin-right: 20px;
}

.wpcf7-form .consent-text {
    font-size: 14px;
    color: #666;
    line-height: 1.1;
}

/* Кнопка отправки*/
.wpcf7-submit {
    background: #3a597b;
    color: #fff;
    padding: 20px;
    border: none;
    border-radius: 20px 0 20px 0;
    font-size: 14px;
    width: 50%; /* Ширина уменьшена вдвое */
    cursor: pointer;
    display: block; /* Для центрирования кнопки */
    margin: 20px auto 0; /* Центрируем кнопку и добавляем отступ сверху */
    transition: background 0.3s;
}

.wpcf7-submit:hover {
    background: #2d4a6a;
}

/* Адаптивность */
@media (max-width: 600px) {
    .wpcf7-form {
        padding: 10px; /* Более плотный padding на малых экранах */
    }
}
.contact-table-class {
    max-width: 100%;
    overflow-x: auto;
    display: block;
}