@media (max-width: 992px) {
    body {
        font-size: 14px;
    }

    .block-top-menu {
        height: 60px;
        display: flex;
        align-items: center;
    }

    .offcanvas-body .navbar-nav .nav-link {
        font-size: 20px;
        padding: 12px 15px;
        /* Отступы для лучшего клика */
        border-bottom: 1px solid #eee;
        font-family: 'Fira Sans', sans-serif;
        display: block;
        width: 100%;
    }

    .offcanvas-body .navbar-nav .nav-link:last-child {
        border-bottom: none;
    }

    /* Стили для дропдауна внутри выезжающего меню */
    .offcanvas-body .dropdown-menu {
        position: static !important;
        float: none !important;
        border: none;
        background: transparent;
        padding: 0 0 0 20px;
        margin: 0;
        box-shadow: none;
        display: none;
    }

    .offcanvas-body .dropdown-menu.show {
        display: block;
    }

    .offcanvas-body .dropdown-item {
        font-family: 'Fira Sans', sans-serif;
        font-size: 18px;
        color: #555;
        padding: 10px 0;
        border-bottom: 1px solid #eee;
        background: transparent;
    }

    .offcanvas-body .dropdown-item:hover {
        color: var(--brand-red);
        background: transparent;
    }

    .offcanvas-body .dropdown-item:last-child {
        border-bottom: none;
    }

    .offcanvas-body .dropdown-toggle {
        position: relative;
    }

    /* Иконка стрелочки для мобильного меню */
    .offcanvas-body .dropdown-toggle::after {
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        border-top-color: #333;
    }

    /* --- Стилизация мобильного меню Joomla в Offcanvas --- */
    #mobileMenuContent .mod-menu.nav {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    #mobileMenuContent .mod-menu.nav .nav-item {
        width: 100%;
        border-bottom: 1px solid #eee;
    }

    #mobileMenuContent .mod-menu.nav .nav-link,
    #mobileMenuContent .mod-menu.nav .separator {
        display: block;
        /* padding: 12px 15px; */
        /* font-size: 20px; */
        /* color: #333; */
        /* font-family: 'Fira Sans', sans-serif; */
        /* text-decoration: none; */
    }

    #mobileMenuContent .mod-menu.nav .nav-link:hover {
        color: var(--brand-red);
    }

    /* Мобильный переключатель подменю (кнопка Joomla) */
    #mobileMenuContent .mod-menu__toggle-sub {
        /* display: block; */
        /* float: right; */
        /* margin: 10px 15px 0 0; */
        /* background: transparent; */
        /* border: none; */
        /* font-size: 1.2rem; */
        /* cursor: pointer; */
        /* color: #555; */
        /* padding: 4px 25px; */
        /* height: auto; */
        position: relative;
    }

    /* Скрываем подменю на мобильных по умолчанию */
    #mobileMenuContent .mod-menu__sub {
        display: block;
        /* padding: 0 0 0 20px; */
        margin: 0;
        list-style: none;
        background: transparent;
        border-top: 1px solid #eee;
    }

    /* Класс .show добавляется через JS для открытия */
    #mobileMenuContent .mod-menu__sub.show {
        display: block;
    }

    #mobileMenuContent .mod-menu__sub .nav-link {
        padding: 10px 15px;
        font-size: 18px;
        color: #555;
        border-bottom: 1px solid #eee;
    }

    #mobileMenuContent .mod-menu__sub .nav-link:last-child {
        border-bottom: none;
    }

    /* Вложенные меню третьего уровня (если есть) */
    #mobileMenuContent .mod-menu__sub .mod-menu__sub {
        /* padding-left: 20px; */
        /* border-top: none; */
    }

    .nav-item a,
    .mod-menu__toggle-sub,
    #desktopMenuContainer .mod-menu.nav .nav-link,
    #desktopMenuContainer .mod-menu.nav .separator,
    .nav-item>.separator,
    .nav-item button {
        padding: 8px 25px;
        line-height: 20px;
        font-size: 16px;
    }

    #mobileMenuContent .mod-menu__sub a,
    #mobileMenuContent .mod-menu__sub .separator {
        padding-left: 40px;
    }

    #mobileMenuContent .mod-menu__sub .mod-menu__sub a,
    #mobileMenuContent .mod-menu__sub .mod-menu__sub .separator {
        padding-left: 60px;
    }

    .icon-chevron-down {
        top: 17px;
        right: 0px;
    }

    .content-section {
        padding: 18px 0;
    }

    .newsCompany {
        padding-top: 36px;
    }

    .section-title {
        margin-bottom: 20px;
        font-size: 24px;
        letter-spacing: 1.6px;
    }

    .news-featured img {
        width: 100%;
        height: 200px;
        object-fit: cover;
        border-radius: 15px;
    }

    .news-featured-body {
        padding: 10px 0 20px 0;
    }

    .news-featured-body h5 {
        font-size: 18px;
        margin-bottom: 3px;
    }

    .news-right-item img {
        height: 200px;
        object-fit: cover;
        margin-bottom: 10px;
    }

    .news-right-item h6 {
        font-size: 18px;
    }

    .news-ribbon-text {
        font-size: 14px;
        line-height: 18px;
    }

    .news-ribbon-title {
        line-height: 18px;
        font-size: 18px;
    }

    .news-list-wrapper {
        padding: 0px 0px;
    }

    .logo-wrapper {
        flex-wrap: wrap;
        text-align: center;
    }

    .header-brand-text .sub-company {
        font-size: 16px;
    }

    .header-brand-text h1 {
        font-size: 40px;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .header-brand-text h1 {
        font-size: 28px;
        line-height: 32px;
        padding-bottom: 10px;
        padding-top: 8px;
    }

    .header-inner {
        padding: 0 15px;
    }

    .logo-wrapper {
        flex-wrap: wrap;
        text-align: center;
        justify-content: center;
    }

    .header-contacts {
        margin-top: 15px;
        width: 100%;
        align-items: flex-start;
    }

    .search-group input {
        width: 100%;
    }

    .search-group .btn-search {
        right: -82px;
        border-radius: 50px;
        padding: 0 25px;
    }

    .header-brand-text .slogan {
        font-size: 16px;
        margin-top: 0px;
        text-align: center;
    }

    .header-contacts {
        margin-top: 15px;
        width: 100%;
        align-items: center;
    }

    .search-wrapper span {
        display: none;
    }

    .search-wrapper {
        margin-left: -82px;
    }

    .hero-slide-text {
        padding: 14px 20px 14px 15px;
        max-width: 100%;
        font-size: 14px;
    }

    .hero-slide-caption {
        padding: 4px 20px 4px 15px;
        font-size: 18px;
    }

    hero-slide-text {
        margin-top: 20px;
        background-color: #4c4c4cd4;
        padding: 14px 90px 14px 105px;
        display: inline-block;
        max-width: 50%;
        border-top-right-radius: 15px;
        border-bottom-right-radius: 15px;
    }

    .pagination {
        flex-wrap: wrap;
    }
}

@media (max-width: 576px) {
    .eye-link span {
        display: none;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .news-ribbon-item {
        padding: 15px 0;
    }

    #scrollTopBtn {
        width: 60px;
        height: 60px;
        bottom: 20px;
        right: 20px;
    }

    #scrollTopBtn i {
        font-size: 18px;
    }

    #scrollTopBtn span {
        font-size: 12px;
    }

    .top-actions .eye-img {
        margin: 0px;
    }
}