

/* Start:/local/templates/belgu_do/styles.css?1776347138130080*/
@font-face {
    font-family: 'Inter';
    src: url('/local/templates/belgu_do/fonts/Inter-Regular.eot');
    src: local('Inter Regular'), local('Inter-Regular'),
        url('/local/templates/belgu_do/fonts/Inter-Regular.eot?#iefix') format('embedded-opentype'),
        url('/local/templates/belgu_do/fonts/Inter-Regular.woff2') format('woff2'),
        url('/local/templates/belgu_do/fonts/Inter-Regular.woff') format('woff'),
        url('/local/templates/belgu_do/fonts/Inter-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('/local/templates/belgu_do/fonts/Inter-SemiBold.eot');
    src: local('Inter Semi Bold'), local('Inter-SemiBold'),
        url('/local/templates/belgu_do/fonts/Inter-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('/local/templates/belgu_do/fonts/Inter-SemiBold.woff2') format('woff2'),
        url('/local/templates/belgu_do/fonts/Inter-SemiBold.woff') format('woff'),
        url('/local/templates/belgu_do/fonts/Inter-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('/local/templates/belgu_do/fonts/Inter-Bold.eot');
    src: local('Inter Bold'), local('Inter-Bold'),
        url('/local/templates/belgu_do/fonts/Inter-Bold.eot?#iefix') format('embedded-opentype'),
        url('/local/templates/belgu_do/fonts/Inter-Bold.woff2') format('woff2'),
        url('/local/templates/belgu_do/fonts/Inter-Bold.woff') format('woff'),
        url('/local/templates/belgu_do/fonts/Inter-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('/local/templates/belgu_do/fonts/Inter-Medium.eot');
    src: local('Inter Medium'), local('Inter-Medium'),
        url('/local/templates/belgu_do/fonts/Inter-Medium.eot?#iefix') format('embedded-opentype'),
        url('/local/templates/belgu_do/fonts/Inter-Medium.woff2') format('woff2'),
        url('/local/templates/belgu_do/fonts/Inter-Medium.woff') format('woff'),
        url('/local/templates/belgu_do/fonts/Inter-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

/* ========== БАЗОВЫЕ СТИЛИ ========== */

/* Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}

:root {
    --text-primary: #191817;
    --text-secondary: rgba(29, 25, 19, 0.51);
    --text-error: #fc5230;
    --link-primary: #13A51F;
    --color-accent: #FF7C00;

    --border-radius: 32px;

    --ui-font-family-open-sans: 'Inter', sans-serif;
}

.white-box {
    background: white;
    border-radius: var(--border-radius);
    padding: 56px;
    padding-top: 56px;
    padding-bottom: 56px;
    animation: fadeInUp 0.6s ease-out;
    margin-bottom: 0;
}

/* Единые отступы между всеми блоками на странице программы - 56px */
.white-box + .white-box,
.white-box + .reviews-section,
.white-box + .popular-programs-section,
.white-box + .gallery-block,
.white-box + .programs-grid,
.white-box + .faq-section,
.white-box + .feedback-section,
.white-box + .goals-block,
.white-box + .why-block,
.white-box + .program-block,
.white-box + .team-block,
.white-box + .interview-block,
.white-box + .documents-block,
.white-box + .order-block,
.reviews-section + .white-box,
.reviews-section + .gallery-block,
.reviews-section + .faq-section,
.reviews-section + .feedback-section,
.reviews-section + .documents-block,
.reviews-section + .order-block,
.popular-programs-section + .white-box,
.popular-programs-section + .faq-section,
.popular-programs-section + .feedback-section,
.gallery-block + .white-box,
.gallery-block + .faq-section,
.gallery-block + .feedback-section,
.gallery-block + .documents-block,
.gallery-block + .order-block,
.programs-filter + .programs-grid,
.programs-grid + .white-box,
.programs-grid + .popular-programs-section,
.programs-grid + .faq-section,
.programs-grid + .feedback-section,
.faq-section + .white-box,
.faq-section + .feedback-section,
.feedback-section + .white-box,
.feedback-section + .faq-section,
.goals-block + .why-block,
.goals-block + .program-block,
.goals-block + .team-block,
.why-block + .program-block,
.why-block + .team-block,
.why-block + .interview-block,
.program-block + .team-block,
.program-block + .interview-block,
.program-block + .reviews-section,
.team-block + .interview-block,
.team-block + .reviews-section,
.interview-block + .reviews-section,
.interview-block + .gallery-block,
.documents-block + .order-block,
.documents-block + .faq-section,
.documents-block + .feedback-section,
.order-block + .faq-section,
.order-block + .feedback-section {
    margin-top: 56px;
}

/* Секции без белого фона - единые отступы 56px сверху и снизу */
.reviews-section,
.popular-programs-section,
.gallery-block,
.programs-grid,
.faq-section,
.feedback-section,
.goals-block,
.why-block,
.program-block,
.team-block,
.interview-block,
.documents-block,
.order-block {
    padding-top: 56px;
    padding-bottom: 56px;
}

/* Первый блок без отступа сверху */
main > .white-box:first-child,
.content-wrapper > .white-box:first-child {
    margin-top: 0;
}

/* Последний блок без отступа снизу */
main > .white-box:last-child,
.content-wrapper > .white-box:last-child {
    margin-bottom: 0;
}

body {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    color: var(--text-primary);
    background: #F7F7F9;
    font-weight: 400;
    font-size: 18px;
    overflow-x: hidden;
}

.bx_item_block_item_image {
    display: none;
}

.bx_smart_searche .bx_item_block_item_info_wrap.wpic {
    padding-left: 20px !important;
}

/* Анимации появления */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

p {
    margin-bottom: 16px;
}

a {
    color: var(--link-primary);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover,
a:focus {
    color: var(--text-error);
}

h1 {
    font-size: 42px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--text-primary);
}

h2,
.h2 {
    font-size: 42px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--text-primary);
}

h3,
.h3 {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
    color: #191817;
    margin: 0;
}

ul,
ol {
    margin: 0 0 20px 20px;
}

.container {
    max-width: 1480px;
    width: 100%;
    margin: 0 auto;
    padding: 0 48px;
    display: flow-root;
}

.white-box .container {
    padding: 0;
}

.directions-section .container {
    padding: 0;
}

.site-main {
    padding-bottom: 56px;
}

.courses.level2 .site-main, .news.level2 .site-main {
    padding-top: 56px;
}


img,
video,
iframe {
    max-width: 100%;
    height: auto;
}

/* ========== HEADER (DESKTOP) ========== */

.header-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 32px;
    padding: 18px 0;
    min-height: 100px;
}

.logo {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.logo-img {
    height: 64px;
    width: auto;
    min-width: 200px;
}

/* Десктопное меню */
.header-middle {
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav {
    display: flex;
    gap: 8px;
    align-items: center;
    overflow: visible;
    flex: 1;
    width: 100%;
    position: relative;
}

.nav-content {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 1;
    min-width: 0;
    width: 100%;
    flex: 1;
}

/* Hide search in desktop nav */
.nav-search {
    display: none;
}

.nav-footer-contacts {
    display: none;
}

.nav-link {
    color: var(--text-primary);
    font-size: 16px;
    padding: 12px 16px;
    text-decoration: none;
    border-radius: 16px;
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.nav-link.active {
    color: var(--link-primary);
}

.nav-link:hover {
    color: white;
    background-color: var(--link-primary);
}

/* Пункт меню с подменю */
.nav-item-with-submenu {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.nav-item-with-submenu .nav-link {
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.nav-submenu-toggle {
    width: 24px;
    height: 24px;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.nav-item-with-submenu:hover .nav-link {
    color: white;
    background-color: var(--link-primary);
}

.nav-item-with-submenu:hover .nav-submenu-toggle {
    transform: rotate(180deg);
}

.nav-submenu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: white;
    border-radius: 16px;
    box-shadow: 0 4px 12.3px rgba(0, 0, 0, 0.15);
    padding: 16px 0;
    min-width: 280px;
    z-index: 10000;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

/* Заполнение пространства между ссылкой и подменю */
.nav-submenu::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
    background: transparent;
}

.nav-item-with-submenu:hover .nav-submenu {
    display: block;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.nav-submenu-link {
    display: block;
    padding: 12px 24px;
    color: var(--text-primary);
    text-decoration: none;
    transition: all 0.2s ease;
    font-size: 16px;
    font-weight: 400;
    opacity: 0;
    transform: translateX(-10px);
    animation: none;
}

.nav-item-with-submenu:hover .nav-submenu-link {
    animation: slideInSubmenu 0.3s ease forwards;
}

.nav-item-with-submenu:hover .nav-submenu-link:nth-child(1) {
    animation-delay: 0.05s;
}

.nav-item-with-submenu:hover .nav-submenu-link:nth-child(2) {
    animation-delay: 0.1s;
}

.nav-item-with-submenu:hover .nav-submenu-link:nth-child(3) {
    animation-delay: 0.15s;
}

.nav-item-with-submenu:hover .nav-submenu-link:nth-child(4) {
    animation-delay: 0.2s;
}

.nav-item-with-submenu:hover .nav-submenu-link:nth-child(5) {
    animation-delay: 0.25s;
}

.nav-item-with-submenu:hover .nav-submenu-link:nth-child(6) {
    animation-delay: 0.3s;
}

.nav-item-with-submenu:hover .nav-submenu-link:nth-child(7) {
    animation-delay: 0.35s;
}

.nav-item-with-submenu:hover .nav-submenu-link:nth-child(8) {
    animation-delay: 0.4s;
}

@keyframes slideInSubmenu {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideDownMobileMenu {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInMobileSubmenu {
    from {
        opacity: 0;
        max-height: 0;
        transform: scaleY(0.95);
    }

    to {
        opacity: 1;
        max-height: 500px;
        transform: scaleY(1);
    }
}

@keyframes slideInMobileMenuItem {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.nav-submenu-link:hover {
    background: #f5f5f5;
}

/* Скрытие переполнения меню с многоточием */
.nav-content::after {
    content: '';
    display: none;
}

/* Кнопка "Ещё" для скрытых пунктов меню */
.nav-more {
    display: none;
    position: relative;
    flex-shrink: 0;
}

.nav-more.active {
    display: flex;
}

.nav-more-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 12px 16px;
    background: none;
    border: none;
    border-radius: 16px;
    color: var(--text-primary);
    cursor: pointer;
    font-size: 16px;
    transition: all 0.3s ease;
}

.nav-more-btn:hover {
    color: white;
    background-color: var(--link-primary);
}

.nav-more-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: white;
    border: none;
    border-radius: 16px;
    box-shadow: 0 4px 12.3px rgba(0, 0, 0, 0.15);
    padding: 16px 0;
    min-width: 200px;
    z-index: 10000;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

/* Показываем dropdown при наведении на nav-more */
.nav-more:hover .nav-more-dropdown {
    display: block;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Мостик между кнопкой и dropdown */
.nav-more-dropdown::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
    background: transparent;
}

.nav-more-dropdown .nav-link {
    display: block;
    padding: 12px 20px;
    border-radius: 0;
    width: 100%;
    text-align: left;
    opacity: 0;
    transform: translateX(-10px);
    animation: none;
}

.nav-more:hover .nav-more-dropdown .nav-link {
    animation: slideInSubmenu 0.3s ease forwards;
}

.nav-more:hover .nav-more-dropdown .nav-link:nth-child(1) {
    animation-delay: 0.05s;
}

.nav-more:hover .nav-more-dropdown .nav-link:nth-child(2) {
    animation-delay: 0.1s;
}

.nav-more:hover .nav-more-dropdown .nav-link:nth-child(3) {
    animation-delay: 0.15s;
}

.nav-more:hover .nav-more-dropdown .nav-link:nth-child(4) {
    animation-delay: 0.2s;
}

.nav-more-dropdown .nav-link:hover {
    background: #f8f9fa;
    color: var(--link-primary);
}

.nav-more-dropdown .nav-link.active {
    background: var(--link-primary);
    color: white;
}

/* Правая часть header */
.header-contacts {
    display: flex;
    align-items: center;
    gap: 32px;
    font-size: 15px;
}

.phones_icons {
    display: flex;
    align-items: center;
    gap: 16px;
}

.phones:hover svg {
    stroke: var(--link-primary) !important;
}

.phones:hover svg rect,
.phones:hover svg path {
    stroke: var(--link-primary) !important;
}

.contact-link {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--text-primary);
    transition: color 0.3s ease;
    white-space: nowrap;
}

.contact-link:hover {
    color: var(--link-primary);
}

.contact-link:hover svg {
    stroke: var(--link-primary) !important;
}

.contact-link:hover svg rect,
.contact-link:hover svg path {
    stroke: var(--link-primary) !important;
}

.phones {
    display: flex;
    gap: 8px;
}

.search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid #FFA24F;
    background: white;
    cursor: pointer;
}

.search-btn:hover {
    background: rgba(255, 165, 0, 0.06);
}

/* Скрываем мобильные элементы на десктопе */
.burger,
.nav-close,
.nav-header,
.mobile-menu-overlay {
    display: none;
}

/* ========== ОСНОВНОЙ КОНТЕНТ ========== */

.section-title {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 40px;
}

/* Footer */
.footer {
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    background: #FFF;
    padding: 60px 0 30px;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.footer-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 16px;
}

.footer-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.footer-link {
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
}

.footer-link:hover {
    color: var(--link-primary);
}

.footer-contacts {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-contacts svg {
    width: 20px;
    height: 20px;
}

.footer-social {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}

.social-link {
    line-height: 1;
}

.social-link {
    transition: transform 0.3s ease;
}

.social-link:hover {
    transform: scale(1.2);
}

.footer-contact {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--text-primary);
}

.footer-contact:hover {
    color: var(--link-primary);
}

.copyright {
    font-size: 13px;
    opacity: 0.4;
    max-width: 240px;
    margin-top: 20px;
}

.footer-bottom {
    display: grid;
    grid-template-columns: 4fr minmax(165px, 165px);
    gap: 40px;
    border-top: 1px solid #eee;
    padding-top: 30px;
    margin-top: 30px;
}

.footer-bottom-text {
    font-size: 12px;
    opacity: 1;
    max-width: 800px;
    color: #868685;
}

.developer {
    font-size: 12px;
}

.developer a {
    color: #868685;
}

.developer a:hover {
    color: var(--color-accent);
}

/* Breadcrumbs */
.breadcrumbs {
    padding: 30px 0 0;
}

.breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    font-size: 14px;
    color: var(--text-secondary);
    margin: 0;
}

.breadcrumb-item:not(:last-child)::after {
    content: '/';
    margin: 0 8px;
}

.breadcrumb-link {
    color: var(--text-secondary);
    text-decoration: none;
}

.breadcrumb-link:hover {
    color: var(--link-primary);
}

.page-title {
    margin-bottom: 56px;
}

/* Search Popup */
.search-popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 2000;
}

.search-popup-overlay.active {
    display: block;
}

.search-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 2100;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    padding: 32px 0 32px;
}

.bx-searchtitle-history {
    display: none;
}

.search-popup.active {
    display: block;
}

.search-popup-form {
    display: flex;
    align-items: center;
    max-width: 600px;
    margin: 0 auto;
    background: #f8f9fa;
    border-radius: 16px;
    padding: 8px 16px;
}

.search-popup-input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 18px;
    padding: 10px;
    outline: none;
}

.search-popup-submit {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
}

/* Результаты поиска */
.search-popup-results {
    margin-top: 24px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    max-height: 500px;
    overflow-y: auto;
}

/* Стили для компонента bitrix:search.page */
.search-popup-results .bx-search {
    width: 100%;
}

.search-popup-results .bx-search-results {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.search-popup-results .bx-search-results table {
    width: 100%;
    border-collapse: collapse;
}

.search-popup-results .bx-search-results tr {
    border-bottom: 1px solid #f0f0f0;
    transition: all 0.3s ease;
}

.search-popup-results .bx-search-results tr:last-child {
    border-bottom: none;
}

.search-popup-results .bx-search-results tr:hover {
    background: #f8f9fa;
}

.search-popup-results .bx-search-results td {
    padding: 12px 16px;
}

.search-popup-results .bx-search-results a {
    color: var(--text-primary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
    display: block;
    font-size: 14px;
}

.search-popup-results .bx-search-results a:hover {
    color: var(--link-primary);
}

.search-popup-results .bx-search-results .description {
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 4px;
    line-height: 1.4;
}

/* Пустой результат поиска */
.search-popup-results .no-results,
.search-popup-results p {
    padding: 32px 16px;
    text-align: center;
    color: var(--text-secondary);
    font-size: 14px;
    margin: 0;
}

/* Для старого компонента search.title если вернется */
.search-popup-results .bx-title-search-items {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.search-popup-results .bx-title-search-item {
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;
    transition: all 0.3s ease;
    text-decoration: none;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.search-popup-results .bx-title-search-item:last-child {
    border-bottom: none;
}

.search-popup-results .bx-title-search-item:hover {
    background: #f8f9fa;
    padding-left: 24px;
}

.search-popup-results .bx-title-search-item-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
}

.search-popup-results .bx-title-search-item-description {
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 4px;
}

/* Загрузчик */
.search-popup-results .bx-search-ajax-loading,
#searchPopup_preloader_item {
    padding: 16px;
    text-align: center;
    color: var(--text-secondary);
    font-size: 12px;
}

/* ========== БИТРИКС24 ========== */
.b24-form-header-title {
    color: #000;
    font-size: 40px !important;
    font-style: normal;
    font-weight: 400 !important;
    /* 48px */
    letter-spacing: 0 !important;
    margin-bottom: 20px !important;
}

.b24-form-header {
    padding: 0 !important;
    border-bottom: 0 !important;
    text-align: left !important;
}

.b24-form-padding-side {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.b24-form-control-list .b24-form-control,
.b24-form-control-select .field-item,
.b24-form-control-string .b24-form-control,
.b24-form-control-text .b24-form-control {
    /* text-align: center; */
    border-radius: 16px !important;
    background-image: none !important;
    border: 1px solid #BCBEC3 !important;
    background-color: white !important;
    color: #000;
    width: 100%;
    letter-spacing: 0 !important;
    padding: 17px 10px 0 20px !important;
}

.b24-form-control-list .b24-form-control-label,
.b24-form-control-string .b24-form-control-label,
.b24-form-control-text .b24-form-control-label {
    padding-left: 20px !important;
}

.b24-form-wrapper {
    font-family: "Inter" !important;
}

.b24-form-header-title {
    font-family: "Inter" !important;
}

.b24-form-control-desc {
    font-family: "Inter" !important;
}

.b24-form-header-description {
    font-family: "Inter" !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

.b24-form-control-label,
.b24-form-control-select-label {
    font-family: "Inter" !important;
}

.b24-form-btn {
    border-radius: 16px !important;
    box-shadow: none !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    font-family: "Inter" !important;
}

.b24-form-sign {
    padding: 10px 0 !important;
}

.b24-form-btn:hover {
    background-color: #33883A !important;
    transform: translateY(-2px);
}

.b24-form-control-string .b24-form-control:focus:not([readonly]) {
    border-color: var(--link-primary) !important;
}

.b24-form-field-agreement .b24-form-field-agreement-link {
    font-size: 13px !important;
    line-height: 1.4 !important;
    cursor: pointer;
}

.b24-window-close {
    padding: 0 !important;
}

.b24-form-content {
    padding: 0 !important;
}

/* Десктоп версия - подменю должно показываться при hover */
@media (min-width: 1024px) {
    .nav-item-with-submenu {
        position: relative;
    }

    .nav-submenu {
        display: none;
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        background: white;
        border-radius: 16px;
        box-shadow: 0 4px 12.3px rgba(0, 0, 0, 0.15);
        padding: 16px 0;
        min-width: 280px;
        z-index: 10000;
        opacity: 0;
        transform: translateY(-10px);
        transition: opacity 0.3s ease, transform 0.3s ease;
        pointer-events: none;
    }

    .nav-item-with-submenu:hover .nav-submenu {
        display: block;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    /* nav-more тоже по hover */
    .nav-more {
        position: relative;
    }

    .nav-more-dropdown {
        display: none;
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        background: white;
        border-radius: 16px;
        box-shadow: 0 4px 12.3px rgba(0, 0, 0, 0.15);
        padding: 16px 0;
        min-width: 200px;
        z-index: 10000;
        opacity: 0;
        transform: translateY(-10px);
        transition: opacity 0.3s ease, transform 0.3s ease;
        pointer-events: none;
    }

    .nav-more:hover .nav-more-dropdown {
        display: block;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
}

@media (max-width: 1023px) {

    /* Контейнер */
    .container {
        padding: 0 24px;
    }

    :root {
        --border-radius: 32px;
    }


    /* Header мобильный */
    .header-inner {
        grid-template-columns: auto 1fr auto;
        gap: 12px;
        padding: 16px 0;
        min-height: 70px;
    }

    .logo-img {
        height: 60px;
    }

    /* Скрываем десктопные элементы */
    .header-contacts {
        display: none;
    }

    .search-btn {
        display: none;
    }

    /* Показываем бургер */
    .burger {
        display: flex;
        flex-direction: column;
        gap: 4px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 8px;
    }

    .burger span {
        width: 24px;
        height: 2px;
        background: #333;
        transition: all 0.3s ease;
        border-radius: 1px;
    }

    .burger.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .burger.active span:nth-child(2) {
        opacity: 0;
    }

    .burger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(4px, -4px);
    }

    /* Скрываем десктопное меню */
    .nav {
        display: none;
    }

    /* Мобильное меню */
    .nav.active {
        display: flex !important;
        position: fixed !important;
        top: 0 !important;
        right: -100% !important;
        width: 85% !important;
        height: 100vh !important;
        max-width: 400px !important;
        background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%) !important;
        flex-direction: column !important;
        padding: 0 !important;
        box-shadow: -8px 0 40px rgba(0, 0, 0, 0.2) !important;
        z-index: 9999 !important;
        transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        overflow-y: auto !important;
    }

    .nav.active.show {
        right: 0 !important;
        padding: 20px !important;
    }

    /* Кнопка закрытия */
    .nav.active .nav-close {
        display: block !important;
        position: absolute !important;
        top: 20px !important;
        right: 20px !important;
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        padding: 8px !important;
        width: 40px !important;
        height: 40px !important;
        border-radius: 8px !important;
        transition: all 0.2s ease !important;
        pointer-events: auto !important;
        z-index: 10000 !important;
    }

    .nav.active .nav-close:hover {
        background: rgba(0, 0, 0, 0.05) !important;
        transform: rotate(90deg) !important;
    }

    .nav-close::before,
    .nav-close::after {
        content: '' !important;
        position: absolute !important;
        width: 20px !important;
        height: 2px !important;
        background: #333 !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) rotate(45deg) !important;
    }

    .nav-close::after {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
    }

    /* Контент меню */
    .nav.active .nav-content {
        display: flex !important;
        flex-direction: column !important;
        padding: 40px 0 20px !important;
        width: 100% !important;
        gap: 0;
        animation: slideDownMobileMenu 0.3s ease forwards;
    }

    .nav.active .nav-link {
        white-space: normal !important;
        width: 100%;
        gap: 0;
        animation: slideInMobileMenuItem 0.3s ease forwards;
        animation-fill-mode: both;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        padding: 14px 16px !important;
        border-radius: 12px;
    }

    .nav.active .nav-link:nth-child(1) {
        animation-delay: 0.05s;
    }

    .nav.active .nav-link:nth-child(2) {
        animation-delay: 0.1s;
    }

    .nav.active .nav-link:nth-child(3) {
        animation-delay: 0.15s;
    }

    .nav.active .nav-link:nth-child(4) {
        animation-delay: 0.2s;
    }

    .nav.active .nav-link:nth-child(5) {
        animation-delay: 0.25s;
    }

    .nav.active .nav-link.active {
        background: var(--link-primary) !important;
        color: white !important;
    }

    .nav.active .nav-link:hover {
        background: #f8f9fa !important;
        color: var(--link-primary) !important;
        transform: translateX(4px);
        transition: all 0.2s ease;
    }

    .nav.active .nav-link.active:hover {
        background: var(--link-primary) !important;
        color: white !important;
        transform: translateX(4px);
    }

    /* Подменю в мобильной версии */
    .nav.active .nav-item-with-submenu {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100%;
        position: relative;
    }

    .nav.active .nav-item-with-submenu .nav-link {
        padding: 12px 50px 12px 16px !important;
        width: 100%;
        border-radius: 12px;
        outline: none;
    }

    .nav.active .nav-item-with-submenu .nav-link:focus {
        outline: none;
    }

    .nav.active .nav-submenu-toggle {
        position: absolute !important;
        right: 16px;
        top: 12px;
        pointer-events: auto;
        transition: transform 0.3s ease;
        cursor: pointer;
        transform: rotate(0deg);
    }

    .nav.active .nav-submenu {
        position: static;
        display: none;
        box-shadow: none;
        background: #eef0f2;
        margin: 8px 0;
        border-radius: 0;
        padding: 8px 0;
        opacity: 1;
        transform: none;
        transition: all 0.3s ease;
        pointer-events: auto;
        max-height: 0;
        overflow: hidden;
    }

    .nav.active .nav-item-with-submenu.submenu-open .nav-submenu {
        display: block;
        margin: 0;
        max-height: 500px;
        animation: slideInMobileSubmenu 0.3s ease forwards;
        border-radius: 12px;
    }

    .nav.active .nav-submenu-link {
        padding: 12px 20px;
        font-size: 14px;
        background: transparent;
        opacity: 1;
        transform: none;
        animation: none;
        border-radius: 8px;
        margin: 0;
        transition: all 0.2s ease;
        cursor: pointer;
    }

    .nav.active .nav-item-with-submenu.submenu-open .nav-submenu-link {
        animation: slideInMobileMenuItem 0.3s ease forwards;
    }

    .nav.active .nav-submenu-link:nth-child(1) {
        animation-delay: 0.1s;
    }

    .nav.active .nav-submenu-link:nth-child(2) {
        animation-delay: 0.15s;
    }

    .nav.active .nav-submenu-link:nth-child(3) {
        animation-delay: 0.2s;
    }

    .nav.active .nav-submenu-link:nth-child(4) {
        animation-delay: 0.25s;
    }

    .nav.active .nav-submenu-link:hover {
        background: #13a51f12;
        color: var(--link-primary);
        transform: translateX(4px);
    }

    .nav.active .nav-item-with-submenu.submenu-open .nav-submenu-toggle {
        transform: rotate(180deg);
    }

    /* Search in mobile menu */
    .nav-search {
        display: block !important;
        padding: 16px 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        margin-bottom: 8px;
        width: 100%;
        animation: slideInMobileMenuItem 0.3s ease forwards;
        animation-delay: 0s;
    }

    .nav-search-form {
        display: flex;
        gap: 8px;
        align-items: center;
    }

    .nav-search-input {
        flex: 1;
        padding: 10px 14px;
        border: 1px solid #e0e0e0;
        border-radius: 12px;
        font-size: 14px;
        font-family: inherit;
        outline: none;
        transition: all 0.2s ease;
    }

    .nav-search-input::placeholder {
        color: #999;
    }

    .nav-search-input:focus {
        border-color: var(--link-primary);
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
    }

    .nav-search-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        padding: 0;
        border: 1px solid #e0e0e0;
        border-radius: 12px;
        background: white;
        cursor: pointer;
        transition: all 0.2s ease;
        color: var(--link-primary);
        flex-shrink: 0;
    }

    .nav-search-btn:hover {
        border-color: var(--link-primary);
        background: rgba(37, 99, 235, 0.05);
    }

    .nav-search-btn:active {
        transform: scale(0.95);
    }

    /* Mobile menu contacts */
    .nav-footer-contacts {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 20px;
        animation: slideInMobileMenuItem 0.3s ease forwards;
        animation-delay: 0.1s;
        width: 100%;
        padding: 0 16px;
    }

    .nav-contact-link {
        display: flex;
        align-items: center;
        gap: 12px;
        color: var(--text-primary);
        text-decoration: none;
        font-size: 14px;
        font-weight: 500;
        transition: all 0.2s ease;
        padding: 8px 0;
    }

    .nav-contact-link:hover {
        color: var(--link-primary);
    }

    .nav-contact-link svg {
        width: 22px;
        height: 18px;
        flex-shrink: 0;
        stroke: currentColor;
    }

    .nav-phones {
        display: flex;
        align-items: flex-start;
        gap: 12px;
    }

    .nav-phones-icons {
        padding-top: 8px;
    }

    .nav-phones-icons svg {
        width: 14px;
        height: 22px;
        stroke: var(--text-primary);
        flex-shrink: 0;
    }

    .nav-phones-items {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .nav-contact-phone {
        color: var(--text-primary);
        text-decoration: none;
        font-size: 14px;
        font-weight: 500;
        transition: all 0.2s ease;
        display: block;
        padding: 3px 0;
    }

    .nav-contact-phone:hover {
        color: var(--link-primary);
    }

    .nav-footer-social {
        display: flex;
        gap: 12px;
        padding-top: 8px;
    }

    .nav-social-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        flex-shrink: 0;
        transition: all 0.2s ease;
        border-radius: 50%;
        opacity: 0.8;
    }

    .nav-social-link:hover {
        opacity: 1;
        transform: scale(1.1);
    }

    .nav-social-link img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* Overlay */
    .mobile-menu-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.4);
        z-index: 9998;
        opacity: 0;
        transition: opacity 0.3s ease;
        backdrop-filter: blur(2px);
    }

    .mobile-menu-overlay.active {
        display: block;
        opacity: 1;
    }

    /* Остальные элементы */
    .section-title {
        font-size: 24px;
        margin-bottom: 30px;
    }

    .page-title {
        font-size: 1.75rem;
        margin-bottom: 24px;
    }

    .breadcrumb-list {
        font-size: 13px;
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 0;
        padding-bottom: 8px;
        margin: 0 -16px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .breadcrumb-list::-webkit-scrollbar {
        height: 4px;
    }

    .breadcrumb-list::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 10px;
    }

    .breadcrumb-list::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 10px;
    }

    .breadcrumb-list::-webkit-scrollbar-thumb:hover {
        background: #999;
    }

    .breadcrumb-item {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .breadcrumb-item:not(:last-child)::after {
        content: '/';
        margin: 0 6px;
    }

    .footer {
        padding: 40px 0 20px;
    }

    .footer-content {
        flex-direction: column;
        gap: 30px;
    }

    .copyright {
        max-width: 100%;
        font-size: 12px;
    }

    .search-popup {
        padding: 16px 0 8px;
    }

    .search-popup-form {
        max-width: 95vw;
    }


    .white-box {
        padding: 0;
    }

    .b24-form-header-title {
        font-size: 24px !important;
    }

    h3 {
        font-size: 24px;
    }

    .footer-bottom {
        grid-template-columns: 1fr;
    }
}

/* ========== НОВОСТИ (NEWS) ========== */

.news-wrapper {
    display: flex;
    flex-direction: column;
    gap: 56px;
    margin-top: 56px;
}

.news-filter-title {
    font-size: 16px;
    font-weight: 600;
    color: #000;
    margin-bottom: 16px;
}

.news-filter-items {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.news-filter-item:hover {
    background: #E8E8E8;
    color: #000;
}

.news-filter-item.active {
    background: #13A51F;
    color: white;
    border-color: #13A51F;
}

/* Список новостей */
.news-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* Сетка новостей 3 колонки */
.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

@media (max-width: 767px) {
    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-wrapper {
        margin-top: 24px;
        gap: 24px;
    }

}

/* ========== КАРТОЧКА НОВОСТИ ========== */

.news-card {
    background: white;
    border-radius: var(--border-radius);
    overflow: hidden;
    /*box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);*/
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.news-card-image-link {
    display: block;
    width: 100%;
    height: 100%;
}

.news-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.news-card:hover .news-card-img {
    transform: scale(1.05);
}

.news-card-content {
    display: flex;
    flex-direction: column;
    padding: 0;
    flex-grow: 1;
}

.news-card-date {
    font-size: 12px;
    color: #999;
    font-weight: 500;
}

.news-card-title {
    font-size: 18px;
    font-weight: 600;
    color: #000;
    margin: 0 0 24px 0;
    line-height: 1.4;
    flex-grow: 1;
}

.news-card-title-link {
    color: #000;
    text-decoration: none;
    transition: color 0.3s ease;
}

.news-card-title-link:hover {
    color: var(--color-accent);
}

.news-card-preview {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-card-field,
.news-card-property {
    font-size: 12px;
    color: #999;
    display: block;
}

.news-card-link {
    display: inline-block;
    margin-top: 12px;
    padding: 10px 16px;
    background: #13A51F;
    color: white;
    text-decoration: none;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.3s ease;
    align-self: flex-start;
}

.news-card-link:hover {
    background: #0F7E17;
}

/* Пагинация */
.news-pager-top,
.news-pager-bottom {
    display: flex;
    justify-content: center;
    gap: 12px;
    width: 100%;
}

.news-pager-top {
    margin-bottom: 32px;
}

.news-pager-bottom {
    margin-top: 40px;
}

/* Стили пагинации Bitrix */
.bx-pagination {
    margin: 0;
    width: 100%;
}

.bx-pagination .bx-pagination-container {
    text-align: center;
    position: relative;
    width: 100%;
}

.bx-pagination .bx-pagination-container ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
}

.bx-pagination .bx-pagination-container ul li {
    display: inline-block;
    margin: 0;
}

.bx-pagination .bx-pagination-container ul li span {
    display: block;
    padding: 16px 22px;
    background: #ffffff;
    color: #77787D;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    min-width: 54px;
    max-width: 54px;
    text-align: center;
    transition: all 0.3s ease;
}

.bx-pagination .bx-pagination-container ul li a {
    text-decoration: none;
    display: block;
    color: #77787D;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.bx-pagination .bx-pagination-container ul li a span {
    display: block;
    padding: 16px 22px;
    background: #ffffff;
    color: #77787D;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    min-width: 54px;
    max-width: 54px;
    text-align: center;
    transition: all 0.3s ease;
}

.bx-pagination .bx-pagination-container ul li a:hover span {
    background: #13A51F;
    color: white;
}

.bx-pagination .bx-pagination-container ul li.bx-active span {
    background: #13A51F;
    color: white;
}

.bx-pagination .bx-pagination-container ul li.bx-pag-all a span {
    background: white;
    border: 0;
    color: #77787D;
    padding: 16px 22px;
    min-width: auto;
    line-height: 1;
    border-radius: 50%;
    display: block;
}

.bx-pagination .bx-pagination-container ul li.bx-pag-prev a span,
.bx-pagination .bx-pagination-container ul li.bx-pag-next a span {
    background: white;
    border: 0;
    color: #77787D;
    padding: 17px 22px;
    min-width: auto;
    line-height: 1;
    border-radius: 50%;
    display: block;
}

/* Поворот стрелки Prev на 180 градусов */
.bx-pagination .bx-pagination-container ul li.bx-pag-prev a span svg {
    transform: rotate(180deg);
}

/* Скрыть span когда это не ссылка (для неактивных prev/next) */
.bx-pagination .bx-pagination-container ul li.bx-pag-all>span,
.bx-pagination .bx-pagination-container ul li.bx-pag-prev>span,
.bx-pagination .bx-pagination-container ul li.bx-pag-next>span {
    display: none !important;
}

.bx-pagination .bx-pagination-container ul li.bx-pag-all a:hover span,
.bx-pagination .bx-pagination-container ul li.bx-pag-prev a:hover span,
.bx-pagination .bx-pagination-container ul li.bx-pag-next a:hover span {
    background: #13A51F;
    border-color: #13A51F;
    color: white;
}

/* Белый цвет стрелки при наведении - все селекторы для SVG */
.bx-pagination .bx-pagination-container ul li.bx-pag-prev a:hover span svg,
.bx-pagination .bx-pagination-container ul li.bx-pag-next a:hover span svg {
    stroke: white !important;
    color: white !important;
}

.bx-pagination .bx-pagination-container ul li.bx-pag-prev a:hover span svg path,
.bx-pagination .bx-pagination-container ul li.bx-pag-next a:hover span svg path {
    stroke: white !important;
    fill: none !important;
}

/* Цветовые варианты пагинации */
.bx-pagination.bx-green .bx-pagination-container ul li.bx-active span {
    background: #13A51F;
    color: white;
}

.bx-pagination.bx-yellow .bx-pagination-container ul li.bx-active span {
    background: #f9a91d;
    color: white;
}

.bx-pagination.bx-red .bx-pagination-container ul li.bx-active span {
    background: #e22b2b;
    color: white;
}

.bx-pagination.bx-blue .bx-pagination-container ul li.bx-active span {
    background: #0083d1;
    color: white;
}

.news-wrapper {
    width: 100%;
}

.news-filter-items {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.news-filter-item {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 16px;
    background: #ffffff;
    color: var(--text-primary);
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: 400;
    border: 2px solid transparent;
}

.news-filter-item:hover {
    background: var(--link-primary);
    color: white;
}

.news-filter-item.active {
    background: var(--link-primary);
    color: white;
    border-color: var(--link-primary);
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

/* Контейнер изображения */
.news-card-image-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: white;
    padding: 0;
}

/* Шапка с бейджем и датой */
.news-card-header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    background: white;
}

.news-card-badge {
    display: inline-block;
    padding: 6px 12px;
    background: rgba(255, 124, 0, 0.80);
    color: white;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 400;
    /*text-transform: uppercase;*/
    /*letter-spacing: 0.5px;*/
    display: none;
}

/* Варианты цветов для разных разделов */
.news-card-badge-news {
    background: rgba(255, 124, 0, 0.80);
}

.news-card-badge-event {
    background: rgba(19, 165, 31, 0.80);
}

.news-card-badge-blog {
    background: rgba(0, 119, 255, 0.80);
}

.news-card-badge-default {
    background: rgba(255, 124, 0, 0.80);
}

.news-card-date {
    font-weight: 400;
    white-space: nowrap;
    font-size: 14px;
    line-height: 1;
    color: var(--text-secondary);
}

/* Изображение */
.news-card-image {
    width: 100%;
    overflow: hidden;
    /* height: 300px; */
    border-radius: 16px;
}

.news-card-image-link {
    display: block;
    width: 100%;
    height: auto;
    text-decoration: none;
    overflow: hidden;
    border-radius: 16px;
}

.news-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
    display: block;
}

.news-card-image-link:hover .news-card-img {
    transform: scale(1.05);
}

/* Заглушка для отсутствующего изображения */
.news-card-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f0f0f0 0%, #e8e8e8 100%);
    color: #999;
}

.news-card-placeholder-icon {
    width: 60px;
    height: 60px;
    opacity: 0.5;
}

/* Заглушка с SVG фоном */
.news-card-image-placeholder-bg {
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-card-placeholder-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}


.news-card-title-link {
    color: var(--text-primary);
    text-decoration: none;
    transition: color 0.3s ease;
}

.news-card-description {
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-secondary);
    margin-bottom: 16px;
    flex-grow: 1;
}

/* Пагинация */
.news-pager-top,
.news-pager-bottom {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.news-pager-bottom {
    margin-bottom: 0;
    margin-top: 0;
}

/* ========== ДЕТАЛЬНАЯ СТРАНИЦА НОВОСТИ ========== */

.news-detail {
    display: flex;
    flex-direction: column;
    margin-top: 40px;
}

.news-detail .page-title {
    margin-bottom: 0;
    color: var(--text-primary);
}

/* 2-колоночный макет */
.news-detail-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Левая колонка - текст */
.news-detail-left {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Правая колонка - изображение */
.news-detail-right {
    display: flex;
    flex-direction: column;
}

/* Шапка с разделом и датой */
.news-detail-header {
    display: flex;
    align-items: center;
    padding-bottom: 0;
    gap: 20px;
}

.news-detail-section {
    display: inline-block;
    padding: 6px 12px;
    background: rgba(19, 165, 31, 0.80);
    color: white;
    border-radius: 16px;
}

.news-detail-date {
    color: var(--text-secondary);
}

/* Текст описания */
.news-detail-text {
    color: var(--text-primary);
}

.news-detail-text p {
    margin-bottom: 16px;
}

.news-detail-text p:last-child {
    margin-bottom: 0;
}

.news-detail-text ul {
    padding-left: 20px;
    margin-bottom: 16px;
}

.news-detail-text img {
    max-width: 100%;
    height: auto;
    margin: 24px 0;
    border-radius: 12px;
}

/* Дополнительные свойства */
.news-detail-properties {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid #e8e8e8;
}

.news-detail-field,
.news-detail-prop {
    font-size: 14px;
    color: var(--text-primary);
}

.news-detail-prop strong {
    font-weight: 600;
}

/* Кнопка возврата */
.news-detail-back {
    margin-top: 0;
}

.btn-back {
    display: inline-block;
    padding: 12px 24px;
    background: var(--link-primary);
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-back:hover {
    background: #0f8817;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(19, 165, 31, 0.3);
}

/* Изображение */
.news-detail-image {
    width: 100%;
    height: 600px;
    overflow: hidden;
    border-radius: 16px;
    background: #f0f0f0;
}

.detail-picture {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 16px;
    object-fit: cover;
}

/* Разделение в соцсетях */
.news-detail-share {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #e8e8e8;
}

/* ========== АДАПТИВ ДЛЯ ПЛАНШЕТА ========== */

@media (max-width: 1024px) {
    .news-detail-content {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .news-detail .page-title {
        font-size: 32px;
        margin-bottom: 32px;
    }

    .news-detail-header {
        padding-bottom: 12px;
    }

    .news-detail-text {
        font-size: 15px;
    }
}

/* ========== АДАПТИВ ДЛЯ МОБИЛЬНЫХ ========== */

@media (max-width: 767px) {
    .news-detail {
        padding: 20px;
    }

    .news-card-header {
        padding: 0;
    }

    .news-card-content {
        padding: 0;
        gap: 16px;
    }

    .news-card-title {
        font-size: 16px;
        margin: 0;
    }

    .bx-pagination .bx-pagination-container ul li span,
    .bx-pagination .bx-pagination-container ul li a span {
        padding: 11px 16px;
        min-width: 44px;
        max-width: 44px;
    }

    .bx-pagination .bx-pagination-container ul li.bx-pag-prev a span,
    .bx-pagination .bx-pagination-container ul li.bx-pag-next a span {
        padding: 12px 16px;
        min-width: auto;
        line-height: 1;
    }

    .news-filter-item {
        padding: 6px 12px;
        font-size: 14px;
    }

    .news-filter-items {
        gap: 8px;
    }

    .news-grid {
        grid-template-columns: 1fr;
        margin: 0;
    }

    .news-list {
        gap: 24px;
    }

    .news-detail .page-title {
        font-size: 22px;
        margin-bottom: 0;
        line-height: 1.3;
    }

    .news-detail-content {
        grid-template-columns: minmax(200px, 1fr);
        gap: 16px;
    }

    .news-detail-header {
        gap: 12px;
        padding-bottom: 0;
        justify-content: space-between;
    }

    .news-detail-back {
        margin-top: 0;
    }

    .news-detail-left {
        gap: 16px;
    }

    .news-detail-text {
        font-size: 14px;
        line-height: 1.5;
    }

    .btn-back {
        padding: 10px 20px;
        font-size: 13px;
    }

    .news-detail-image {
        border-radius: 12px;
        height: 200px;
    }

    .detail-picture {
        border-radius: 12px;
    }

    .news-card-image {
        height: 160px;
        border-radius: 16px;
    }

    .news-detail-text ul {

        margin-left: 0;
    }
}

/* ========== ГАЛЕРЕЯ ========== */

.news-detail-gallery {
    margin-top: 32px;
}

.gallery-slider {
    position: relative;
}

.gallery-main {
    position: relative;
    width: 100%;
    background: #f5f5f5;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    height: 400px;
}

.gallery-main-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 16px;
    pointer-events: none;
}

.gallery-prev,
.gallery-next {
    position: relative;
    pointer-events: auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    color: #333;
    font-size: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-prev:hover,
.gallery-next:hover {
    background: white;
    transform: scale(1.1);
}

.gallery-thumbnails {
    display: flex;
    gap: 12px;
    margin-top: 16px;
    overflow-x: auto;
    padding-bottom: 8px;
}

.gallery-thumbnails::-webkit-scrollbar {
    height: 6px;
}

.gallery-thumbnails::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 10px;
}

.gallery-thumbnails::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 10px;
}

.gallery-thumbnails::-webkit-scrollbar-thumb:hover {
    background: #999;
}

.gallery-thumb {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 3px solid transparent;
    transition: all 0.3s ease;
    opacity: 0.6;
}

.gallery-thumb:hover,
.gallery-thumb.active {
    opacity: 1;
    border-color: var(--link-primary);
}

.gallery-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Lightbox */
.gallery-lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    z-index: 10000;
    animation: fadeIn 0.3s ease;
}

.gallery-lightbox.active {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.gallery-lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 40px;
    cursor: pointer;
    transition: color 0.3s ease;
}

.gallery-lightbox-close:hover {
    color: #ccc;
}

.gallery-lightbox-content {
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
}

.gallery-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
}

.gallery-lightbox-prev,
.gallery-lightbox-next {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    font-size: 32px;
    cursor: pointer;
    padding: 12px 18px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.gallery-lightbox-prev:hover,
.gallery-lightbox-next:hover {
    background: rgba(255, 255, 255, 0.4);
}

.gallery-lightbox-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 14px;
    background: rgba(0, 0, 0, 0.5);
    padding: 8px 16px;
    border-radius: 4px;
}

/* ========== АДАПТИВ ГАЛЕРЕИ ========== */

@media (max-width: 1024px) {
    .gallery-main {
        height: 350px;
    }
}

@media (max-width: 767px) {
    .gallery-main {
        height: 250px;
    }

    .gallery-prev,
    .gallery-next {
        width: 36px;
        height: 36px;
        font-size: 18px;
    }

    .gallery-thumbnails {
        gap: 8px;
    }

    .gallery-thumb {
        width: 60px;
        height: 60px;
    }

    .gallery-lightbox-content {
        max-width: 95vw;
        max-height: 80vh;
    }

    .gallery-lightbox-nav {
        padding: 0 10px;
    }

    .gallery-lightbox-prev,
    .gallery-lightbox-next {
        font-size: 24px;
        padding: 8px 12px;
    }
}

/* ========== HERO BLOCK ========== */

.hero-block {
    margin-top: 56px;
    animation: fadeInUp 0.7s ease-out;
}

.hero-block-main {
    margin-top: 0;
    border-radius: 80px 80px 0 0;
    padding-bottom: 160px;
    padding-top: 56px;
    margin-bottom: 0;
    animation: fadeInUp 0.8s ease-out;
}

.hero-block-mission {
    margin-bottom: 186px !important;
}

.hero-content {
    display: grid;
    grid-template-columns: 1fr minmax(300px, 480px);
    gap: 60px;
    align-items: start;
    padding: 0 48px;
}

.hero-block .hero-content {
    padding: 0;
}

.hero-block.hero-block-main .hero-content {
    padding: 0 48px;
}

.hero-block-main .hero-content {
    align-items: center;
}

.hero-block-mission .hero-image {
    text-align: right;
}

.hero-block-mission .hero-img {
    max-width: 500px;
    display: inline;
}

/* Левая колонка */
.hero-left {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.hero-title {
    color: var(--text-primary);
    margin: 0;
    hyphens: auto;
}

.hero-description {
    line-height: 1.6;
    color: var(--text-primary);
}

.hero-description p {
    margin: 0 0 16px 0;
    color: #000;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
}

.hero-description p:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .hero-block-main {
        padding-bottom: 50px;
        border-radius: 32px 32px 0 0;
        padding-top: 32px;
        margin-top: 0 !important;
    }

    .hero-block .hero-content {
        padding: 32px 24px;
        margin-bottom: 0;
    }

    .hero-block .container {
        padding: 0;
    }

    .hero-block {
     margin-bottom: 0!important;
    margin-top: 24px;
    }

    .hero-block.hero-block-main .hero-content {
        padding: 0 24px;
    }

    .hero-left .h2 {
        font-size: 24px;
    }

    .news-detail-backlink {
    margin-top: 28px;
}

.courses.level2 .site-main, .news.level2 .site-main {
    padding-top: 28px;
}

.breadcrumbs {
    padding: 14px 0 0;
}
}

/* Блок фактов */
.facts-block {
    display: grid;
    gap: 48px;
    flex-wrap: wrap;
    margin-top: 24px;
    grid-template-columns: 1fr 1fr 1fr;
}

.fact-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

.fact-number {
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 120.833%;
}

.fact-number span {
    width: 100%;
    display: inline-block;
    font-size: 50px;
    font-weight: 600;
    line-height: 1;
}

.fact-counter {
    font-size: 50px;
    font-weight: 600;
    line-height: 1;
}

.fact-item-orange .fact-number {
    color: #FF7C00;
}

.fact-item-green .fact-number {
    color: #13a51f;
}

.fact-text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.208;
}

.fact-item-orange .fact-text {
    color: #FF7C00;
}

.fact-item-green .fact-text {
    color: #13a51f;
}

@media (max-width: 767px) {
    .facts-block {
        gap: 16px;
        margin-bottom: 60px;
    }

    .fact-number span {
        font-size: 36px;
    }

    .fact-number {
        font-size: 14px;
    }
}

/* Кнопки */
.hero-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.btn,
button {
    display: inline-block;
    padding: 12px 32px;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    text-align: center;
    white-space: nowrap;
    font-family: "Inter", sans-serif;
}

.btn-secondary {
    background: var(--link-primary);
    color: white;
    border-color: var(--link-primary);
}

.btn-secondary:hover {
    background: #33883A;
    border-color: #33883A;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(19, 165, 31, 0.3);
}

.btn-primary {
    background: var(--color-accent);
    color: white;
    border-color: var(--color-accent);
}

.btn-primary:hover {
    background: #F50;
    border-color: #F50;
    transform: translateY(-2px);
    color: white;
}

.btn-primary:focus {
    color: white;
}

.btn-outline-secondary {
    background: transparent;
    color: var(--link-primary);
    border-color: var(--link-primary);
}

.btn-outline-secondary:hover {
    background: transparent;
    color: #33883A;
    transform: translateY(-2px);
    border-color: #33883A;
}

.btn-outline-primary {
    background: white;
    color: var(--color-accent);
    border: 2px solid var(--color-accent);
}

.btn-outline-primary:hover {
    background: white;
    color: #FF5500;
    transform: translateY(-2px);
    border-color: #FF5500;
}

/* Правая колонка */
.hero-right {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.order-block .hero-right {
    background: #F5F5F5;
    padding: 24px;
    border-radius: 32px;
}

.hero-image {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
}

.hero-block-main .hero-image {
    margin: 30px;
}

.hero-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
}

.hero-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    color: #ccc;
}

.placeholder-content {
    width: 100px;
    height: 100px;
    opacity: 0.5;
}

/* Счётчики со статистикой */
.hero-stats {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    z-index: 10;
    padding-right: 20px;
    left: 0;
    align-items: flex-start;
}

.stat-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    position: relative;
    min-width: 160px;
}

.stat-card:first-child {
    margin-top: 200px;
}

.stat-card:last-child {
    right: 0;
    position: absolute;
    bottom: 80px;
}

.stat-number {
    display: flex;
    align-items: baseline;
    gap: 2px;
    font-size: 50px;
    font-weight: 600;
}

.stat-unit {
    font-size: 30px;
    font-weight: 400;
}

.stat-card-orange .stat-number {
    color: #FF7C00;
    line-height: 1;
}

.stat-card-green .stat-number {
    color: #13A51F;
    line-height: 1;
}

.stat-label {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
}

.stat-card-orange .stat-label {
    color: #FF7C00;
}

.stat-card-green .stat-label {
    color: #13A51F;
}

/* Анимация счётчика */
@keyframes counter {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.stat-card {
    animation: counter 0.6s ease-out forwards;
}

.stat-card:last-child {
    animation-delay: 0.2s;
    animation: counter 0.6s ease-out forwards;
    opacity: 0;
}

@media (max-width: 1200px) {
    .hero-stats {
        margin-top: 30px;
        padding-right: 0;
        flex-direction: row;
        gap: 20px;
        justify-content: center;
    }

    .stat-card:first-child,
    .stat-card:last-child {
        margin: 0;
    }
}

@media (max-width: 768px) {
    .hero-stats {
        flex-direction: column;
        gap: 16px;
    }

    .order-block .hero-right {
        background: transparent;
        padding: 0;
    }

    .hero-block-main .hero-image {
        margin: 10px 30px 0;
    }

    .hero-block-main .hero-image .hero-img {
        padding: 0 24px;
    }

    .hero-block-main.hero-block-mission .hero-image .hero-img {
        padding: 0;
    }

    .stat-card {
        min-width: 140px;
        padding: 12px;
    }

    .stat-card:last-child {
    bottom: 20px;
}

    .stat-number {
        font-size: 22px;
    }

    .stat-label {
        font-size: 16px;
    }
}

/* ========== МОДАЛЬНОЕ ОКНО КОНСУЛЬТАЦИИ ========== */

.consultation-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
}

.consultation-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.modal-content {
    position: relative;
    background: white;
    border-radius: 16px;
    padding: 40px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    z-index: 2;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    animation: slideUp 0.3s ease;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    font-size: 32px;
    color: #999;
    cursor: pointer;
    padding: 8px;
    transition: color 0.3s ease;
}

.modal-close:hover {
    color: #333;
}

.modal-title {
    font-size: 28px;
    font-weight: 600;
    margin: 0 0 24px 0;
    color: var(--text-primary);
}

/* Стили для формы Bitrix внутри модального окна */
.modal-content form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.modal-content .b24-form-control {
    border-radius: 12px !important;
    border: 1px solid #ddd !important;
}

/* ========== АДАПТИВ ========== */

@media (max-width: 1024px) {
    .hero-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hero-buttons {
        gap: 12px;
    }

    .btn {
        padding: 10px 24px;
        font-size: 14px;
    }
}

@media (max-width: 767px) {

    .hero-content {
        gap: 0 !important;
    }

    .hero-description {
        font-size: 14px;
    }

    .hero-buttons {
        gap: 12px;
        flex-direction: column;
    }

    .btn {
        width: 100%;
        padding: 12px 20px;
    }

    .modal-content {
        padding: 24px;
        width: 95%;
    }

    .modal-title {
        font-size: 20px;
    }
}

/* ========== БЛОК "НАШИ ЦЕЛИ" ========== */

.goals-block {
    margin-top: 0;
    margin-bottom: 0;
    display: inline-block;
    padding-top: 56px;
    padding-bottom: 0;
}

.goals-title {
    margin: 0 0 56px 0;
}

.goals-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}

.goal-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 30px 24px 24px;
    transition: all 0.3s ease;
    border-radius: var(--border-radius);
    background: #FFF;
    position: relative;
}


.goal-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    position: absolute;
    top: -15px;
    left: 60px;
}

.goal-icon svg {
    width: 24px;
    height: 24px;
}

.goal-icon-img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.goal-text {
    font-size: 18px;
    line-height: 1.5;
    color: var(--text-primary);
    margin: 0;
    flex: 1;
}

/* ========== АДАПТИВ БЛОКА ЦЕЛЕЙ ========== */

@media (max-width: 1024px) {
    .goals-title {
        margin-bottom: 40px;
    }

    .goals-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .goal-item {
        padding: 20px;
    }
}

@media (max-width: 767px) {
    .goals-block {
        margin-top: 28px;
        padding: 0;
        margin-bottom: 16px;
    }

    .goals-title {
        margin-bottom: 28px;
    }

    .goals-grid {
        gap: 16px;
    }

    .goal-item {
        padding: 16px;
        gap: 16px;
        border-radius: 16px;
    }

    .goal-text {
        font-size: 14px;
    }

    .goal-icon {
        width: 24px;
        height: 30px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: white;
        position: relative;
        top: 0;
        left: 0;
    }

    .news-detail .goals-grid {
        display: grid;
        gap: 16px !important;
    }
}

/* ========== БЛОК "ФОРМАТЫ ОБУЧЕНИЯ" ========== */

.formats-block {
    margin-top: 112px;
    padding: 0;
}

.formats-title {
    margin: 0 0 56px 0;
}

.formats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 20px;
}

.format-item {
    background: white;
    border-radius: 16px;
    padding: 28px;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.3s ease;
}

.format-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: #ddd;
}

.format-item-featured {
    background: linear-gradient(135deg, #13A51F 0%, #0f8817 100%);
    color: white;
    border: none;
    grid-row: 1 / span 2;
    grid-column: 1;
    position: relative;
}

.format-item-featured:hover {
    box-shadow: 0 8px 24px rgba(19, 165, 31, 0.3);
    transform: translateY(-4px);
}

/* Второй элемент - занимает 2 ряда, вторую колонку */
.format-item:nth-child(2) {
    grid-column: 2;
    grid-row: 1 / span 2;
}

/* Третий элемент - верхняя часть третьей колонки */
.format-item:nth-child(3) {
    grid-column: 3;
    grid-row: 1;
}

/* Четвёртый элемент - нижняя часть третьей колонки */
.format-item:nth-child(4) {
    grid-column: 3;
    grid-row: 2;
}

.format-header {
    margin-bottom: 16px;
}

.format-name {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    color: inherit;
}

.format-item-featured .format-name {
    color: white;
}

.format-description {
    font-size: 18px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
    flex: 1;
}

.format-arrow {
    display: inline-flex;
    align-self: flex-end;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
    text-decoration: none;
    background: #46b74f;
    color: white;
}

.format-arrow:hover {
    transform: scale(1.1);
}

.format-item-featured .format-arrow {
    background: rgba(255, 255, 255, 0.2);
}

.format-arrow svg {
    width: 24px;
    height: 24px;
    stroke: white;
}

/* ========== АДАПТИВ БЛОКА ФОРМАТОВ ========== */

@media (max-width: 1200px) {
    .formats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1024px) {
    .formats-title {
        font-size: 32px;
        margin-bottom: 40px;
    }

    .formats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .format-item {
        padding: 24px;
        min-height: 180px;
    }
}

/* ========== БЛОК "СТАТИСТИКА" ========== */

.stats {
    margin-top: 20px;
    margin-bottom: 56px;
    padding: 0;
    display: inline-block;
    width: 100%;
}

.stats__container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 19px;
    flex-wrap: wrap;
}

.stats__card {
    background: white;
    border-radius: 32px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.stats__number {
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 120.833%;
    color: var(--link-primary);
}

.stats__number span {
    width: 100%;
    display: inline-block;
    font-size: 50px;
    font-weight: 600;
    line-height: 1;
}

.stat-counter {
    line-height: 1;
}

.stats__text {
    font-size: 18px;
    font-weight: 400;
    color: var(--text-primary);
    line-height: 1.3;
}

/* ========== БЛОК "ФОТОГАЛЕРЕЯ" ========== */

.gallery-block {
    margin-top: 56px;
    margin-bottom: 56px;
    padding: 0 48px;
}

.courses .gallery-block {
    padding: 0;
    margin-bottom: 112px;
}

.courses .gallery-block .container {
    padding: 0;
}

.gallery-title {
    margin: 0;
}

/* Заголовок галереи с управлением */
.gallery-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 56px;
}

.gallery-header .gallery-title {
    flex: 1;
}

.gallery-controls {
    display: flex;
    gap: 16px;
}

.gallery-slider-wrapper {
    position: relative;
    overflow: hidden;
    margin-bottom: 32px;
}

.gallery-slider {
    display: flex;
    gap: 32px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 0;
    margin: 0;
    list-style: none;
    /* Скрыть скроллбар */
    -ms-overflow-style: none;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
}

.gallery-slider:active {
    cursor: grabbing;
}

.gallery-slider::-webkit-scrollbar {
    display: none;
}

/* Видимый скроллбар в мобильной версии */
@media (max-width: 767px) {
    .gallery-slider {
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #999 #e0e0e0;
        padding-bottom: 16px;
    }

    .gallery-slider::-webkit-scrollbar {
        display: block;
        height: 6px;
        -webkit-appearance: none;
    }

    .gallery-slider::-webkit-scrollbar-track {
        background: #e0e0e0;
        border-radius: 3px;
    }

    .gallery-slider::-webkit-scrollbar-thumb {
        background: #999;
        border-radius: 3px;
        min-width: 40px;
    }
}

.gallery-slide {
    flex: 0 0 280px;
    height: 400px;
    border-radius: 42px;
    overflow: hidden;
    scroll-snap-align: start;
}

.gallery-block .gallery-slide {
    flex: 0 0 480px;
}

.gallery-slide-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

.gallery-controls {
    display: flex;
    gap: 16px;
    justify-content: center;
    align-items: center;
}

.gallery-btn {
    width: 50px;
    height: 50px;
    background: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-primary);
    transition: all 0.3s ease;
    padding: 0;
}

.gallery-btn:hover {
    background: var(--link-primary);
    color: white;
    box-shadow: 0 4px 12px rgba(19, 165, 31, 0.2);
}

.gallery-btn:active {
    transform: scale(0.95);
}

.gallery-btn svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 1200px) {
    .gallery-slide {
        flex: 0 0 480px;
        height: 320px;
    }
}

@media (max-width: 767px) {
    .stats {
        margin-top: 16px;
        padding: 0;
        margin-bottom: 16px;
    }

    .gallery-btn {
        width: 48px;
        height: 48px;
    }
}

/* ========== БЛОК "НАША КОМАНДА" ========== */

.team-block {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 56px;
    padding-bottom: 0;
    display: flow-root;
}

.team-title {
    margin-bottom: 56px;
}

.courses.level2 .team-title {
    margin-bottom: 0;
}

.team-section {
    margin-bottom: 56px;
}

.team-section:last-child {
    margin-bottom: 0;
}

.team-section-title {
    color: var(--text-primary);
    margin: 0 0 40px 0;
}

/* Заголовок секции с управлением */
.team-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 56px;
}

.team-section-header .team-section-title {
    margin: 0;
    flex: 1;
}

.team-section-controls {
    display: flex;
    gap: 16px;
}

/* Сетка для руководства */
.team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
    justify-items: center;
    max-width: 1000px;
    margin: 0 auto;
}

.team-card-large {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    text-align: center;
    width: 100%;
    max-width: 500px;
}

.team-card-large .team-photo {
    width: 384px;
    height: 384px;
    margin-bottom: 16px;
}

/* Слайдер для других отделов */
.team-slider-wrapper {
    position: relative;
}

.team-slider {
    display: flex;
    gap: 62px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 0 0 30px 0;
    margin: 0;
    list-style: none;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.team-slider:last-child {
    padding-bottom: 0;
}

.team-slider:active {
    cursor: grabbing;
}

.team-slider::-webkit-scrollbar {
    display: none;
}

/* Видимый скроллбар в мобильной версии */
@media (max-width: 767px) {
    .team-slider {
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #999 #e0e0e0;
        padding-bottom: 0;
    }

    .team-slider::-webkit-scrollbar {
        display: block;
        height: 6px;
        -webkit-appearance: none;
    }

    .team-slider::-webkit-scrollbar-track {
        background: #e0e0e0;
        border-radius: 3px;
    }

    .team-slider::-webkit-scrollbar-thumb {
        background: #999;
        border-radius: 3px;
        min-width: 40px;
    }
}

.team-slide {
    flex: 0 0 280px;
    scroll-snap-align: start;
}

.team-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    text-align: center;
}



.team-photo {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    overflow: hidden;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    user-select: none;
    transition: transform 0.3s ease;
}

.team-photo:active {
    cursor: grabbing;
}

.team-photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

.team-photo-placeholder {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: block;
    pointer-events: none;
}

.team-grid .team-card {
    gap: 16px;
}

.team-grid .team-card .team-photo {
    width: 300px;
    height: 300px;
    margin-bottom: 16px;
}

.team-name {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--text-primary);
    margin: 0;
}

.team-card-large .team-name {
    font-size: 24px;
}

.team-position {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--text-primary);
    margin: 0;
}

.team-contacts {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.team-contact {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    color: #585858;
    margin: 0;
}

.team-contact a {
    color: #007acc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.team-contact a:hover {
    color: #005a9e;
    text-decoration: underline;
}

.team-cabinet {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    color: #8a8a8a;
    margin: 0;
    margin-top: 8px;

}

.team-controls {
    display: flex;
    gap: 16px;
    justify-content: center;
    align-items: center;
}

.team-btn {
    width: 50px;
    height: 50px;
    background: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-primary);
    transition: all 0.3s ease;
    padding: 0;
}

.team-btn:hover {
    background: var(--link-primary);
    color: white;
    box-shadow: 0 4px 12px rgba(19, 165, 31, 0.2);
}

.team-btn:active {
    transform: scale(0.95);
}

.team-btn svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 1024px) {
    .team-grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        gap: 40px;
    }

    .team-grid .team-card-large .team-photo {
        width: 350px;
        height: 350px;
    }
}

@media (max-width: 767px) {

    .team-block {
        margin-top: 0;
        padding: 0;
        margin-bottom: 0;
    }

    .team-slider-wrapper {
    margin-bottom: 16px;
}

    .team-btn {
        width: 48px;
        height: 48px;
    }

    .formats-block {
        margin-top: 16px;
        padding: 0;
        margin-bottom: 0;
    }

    .formats-title {
        font-size: 24px;
        margin-bottom: 32px;
    }

    .formats-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .format-item:nth-child(2) {
        grid-column: initial;
        grid-row: initial;
    }

    .format-item:nth-child(3) {
        grid-column: initial;
        grid-row: initial;
    }

    .format-item:nth-child(4) {
        grid-column: initial;
        grid-row: initial;
    }

    .format-item {
        padding: 20px;
        min-height: auto;
        gap: 16px;
    }

    .format-name {
        font-size: 16px;
    }

    .format-description {
        font-size: 13px;
    }

    .format-arrow {
        width: 40px;
        height: 40px;
    }

    /* Stats component */
    .stats__container {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .stats__card {
        padding: 20px;
        border-radius: 16px;
        flex-direction: row;
        align-items: center;
    }

    .stats__number {
        font-size: 16px;
    }

    .stat-counter,
    .stats__number span {
        font-size: 28px;
    }

    .stats__text {
        font-size: 16px;
    }

    .stats__number {
        font-size: 32px;
    }

    .stats__text {
        font-size: 14px;
    }

    /* Gallery component */
    .gallery-title {
        font-size: 24px;
    }

    .gallery-header {
        margin-bottom: 32px;
    }

    .gallery-slide {
        flex: 0 0 100%;
        height: 240px;
    }

    .gallery-slider-wrapper {
        margin-bottom: 24px;
    }

    .gallery-slider {
        gap: 12px;
    }

    .gallery-slide {
        flex: 0 0 100%;
        height: 280px;
    }

    .gallery-block {
        padding: 0 24px;
        margin-top: 16px;
        margin-bottom: 16px;
    }

    .gallery-block .container {
        padding: 0;
    }

    .gallery-block .gallery-slide {
        flex: 0 0 calc(100vw - 48px - 12px);
        margin-right: 12px;
    }

    .gallery-controls {
        gap: 12px;
    }

    /* Team component */
    .team-title {
        margin-bottom: 32px;
    }

    .team-section {
        margin-bottom: 32px;
        margin-top: 0;
    }

    .team-section-title {
        margin-bottom: 24px;
    }

    .team-section-header {
        margin-bottom: 24px;
    }

    .team-section-controls {
        gap: 12px;
    }

    /* Mobile: Show controls for team-grid management section only on mobile */
    .team-section-controls-mobile {
        display: none;
    }

    /* Mobile: Convert team-grid to horizontal scroll */
    .team-grid {
        display: flex !important;
        grid-template-columns: initial !important;
        gap: 24px;
        overflow-x: auto;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        padding: 0 0 30px 0;
        margin: 0 0 0 0;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .team-grid::-webkit-scrollbar {
        display: none;
    }

    /* Scrollbar for team-grid on mobile */
    .team-grid {
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #999 #e0e0e0;
        padding-bottom: 16px;
    }

    .team-grid::-webkit-scrollbar {
        display: block;
        height: 6px;
        -webkit-appearance: none;
    }

    .team-grid::-webkit-scrollbar-track {
        background: #e0e0e0;
        border-radius: 3px;
    }

    .team-grid::-webkit-scrollbar-thumb {
        background: #999;
        border-radius: 3px;
        min-width: 40px;
    }

    .team-card-large {
        flex: 0 0 calc(100vw / 1.8 - 13px);
        min-width: 0;
        scroll-snap-align: start;
        max-width: none;
        /* Mobile: Make it like team-card - vertical layout */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 10px !important;
    }

    .team-grid .team-card-large .team-photo {
        width: 140px;
        height: 140px;
        margin-bottom: 0;
        border-radius: 50%;
    }

    .team-card-large .team-name {
        font-size: 16px !important;
        text-align: center !important;
        margin: 0 !important;
        order: auto;
        flex-basis: auto;
    }

    .team-card-large .team-position {
        font-size: 13px !important;
        text-align: center !important;
        margin: 0 !important;
        order: auto;
        flex-basis: auto;
    }

    .team-card-large .team-photo {
        order: auto;
    }

    .team-card-large .team-contacts {
        display: flex;
        flex-direction: column;
        gap: 0;
        font-size: 12px;
    }

    .team-card-large .team-cabinet {
        display: block;
        font-size: 12px;
        margin: 4px 0 0 0;
    }

    /* Mobile: Show control buttons for management section */
    .team-section-controls-mobile {
        display: flex !important;
    }

    .team-slide {
        flex: 0 0 280px;
    }

    .team-photo {
        width: 140px;
        height: 140px;
    }

    .team-name {
        font-size: 16px;
    }

    .team-position {
        font-size: 14px;
    }

    .team-contact {
        font-size: 14px;
    }

    .team-slider {
        gap: 24px;
        margin-bottom: 0;
        padding: 20px 0 30px 0;
    }

    .team-slider:active {
        cursor: auto;
    }

    .team-slide {
        flex: 0 0 calc(100vw / 1.8 - 13px);
        min-width: 0;
    }

    .team-controls {
        gap: 12px;
    }
}

/* ========== БЛОК "НАМ ДОВЕРЯЮТ" ========== */

.certificates-block {
    padding: 0;
    margin-top: 112px;
    margin-bottom: 56px;
}

.certificates-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 56px;
}

.certificates-title {
    margin: 0;
}

.certificates-controls {
    display: flex;
    gap: 16px;
}

.certificate-btn {
    width: 50px;
    height: 50px;
    background: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-primary);
    transition: all 0.3s ease;
    padding: 0;
}

.certificate-btn:hover {
    background: var(--link-primary);
    color: white;
}

.certificates-slider-wrapper {
    position: relative;
    padding: 0 48px;
}

.certificates-slider {
    display: flex;
    gap: 32px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 0;
    margin: 0;
    list-style: none;
    -ms-overflow-style: none;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
}

.certificates-slider:active {
    cursor: grabbing;
}

.certificates-slider::-webkit-scrollbar {
    display: none;
}

/* Видимый скроллбар в мобильной версии */
@media (max-width: 767px) {
    .certificates-slider {
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #999 #e0e0e0;
        padding-bottom: 16px;
    }

    .certificates-slider::-webkit-scrollbar {
        display: block;
        height: 6px;
        -webkit-appearance: none;
    }

    .certificates-slider::-webkit-scrollbar-track {
        background: #e0e0e0;
        border-radius: 3px;
    }

    .certificates-slider::-webkit-scrollbar-thumb {
        background: #999;
        border-radius: 3px;
        min-width: 40px;
    }
}

.certificate-slide {
    flex: 0 0 400px;
    scroll-snap-align: start;
}

.certificate-card {
    background: white;
    border-radius: 32px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    text-align: center;
    height: 100%;
}

.certificate-image-wrapper {
    overflow: hidden;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.certificate-image-wrapper:hover {
    transform: translateY(-4px);
}

.certificate-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    cursor: pointer;
}

.certificate-name {
    font-size: 18px;
    color: var(--text-primary);
    margin: 0;
    line-height: 1.3;
    width: 100%;
    font-weight: 400;
    cursor: pointer;
    transition: color 0.3s ease;
}

.certificate-name:hover {
    color: var(--primary-color);
}

/* Lightbox */
.certificate-lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
}

.certificate-lightbox.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    cursor: pointer;
}

.lightbox-content {
    position: relative;
    z-index: 1001;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.lightbox-close {
    position: absolute;
    top: -40px;
    right: -10px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    font-size: 36px;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
    padding: 0;
}

.lightbox-close:hover {
    opacity: 0.7;
}

.lightbox-image {
    max-width: 100%;
    max-height: 70vh;
    border-radius: 12px;
    object-fit: contain;
}

.lightbox-title {
    color: white;
    font-size: 20px;
    margin: 0;
    text-align: center;
    max-width: 500px;
}

@media (max-width: 1024px) {
    .certificates-block {
        margin-top: 16px;
        padding: 0;
        margin-bottom: 16px;
    }

    .certificates-slider-wrapper {
        position: relative;
        padding: 0 24px;
    }

    .certificates-header {
        margin-bottom: 32px;
    }


    .certificate-slide {
        flex: 0 0 320px;
    }

    .certificate-image-wrapper {
        width: 280px;
        height: 390px;
    }

    .certificate-name {
        font-size: 20px;
    }
}

@media (max-width: 767px) {

    .certificates-slider-wrapper {
        position: relative;
    }


    .certificates-block {
        margin-top: 16px;
        padding: 0;
        margin-bottom: 0;
    }

    .certificate-btn {
        width: 48px;
        height: 48px;
    }

    .certificates-header {
        gap: 24px;
        align-items: center;
    }

    .certificates-title {
        margin-bottom: 0;
    }

    .certificates-controls {
        align-self: flex-end;
    }

    .certificate-slide {
        flex: 0 0 280px;
    }

    .certificate-card {
        padding: 16px;
        gap: 12px;
    }

    .certificate-image-wrapper {
        width: 240px;
        height: 330px;
    }

    .certificate-name {
        font-size: 16px;
    }

    .lightbox-close {
        top: 16px;
        right: 16px;
    }
}

/* ========== БЛОК "ПРИСОЕДИНЯТЕСЬ К НАМ" ========== */
.join-us-block {
    margin-top: 56px;
}

.join-us-title {
    margin: 0 0 26px 0;
}

.join-us-content {
    display: flex;
    gap: 80px;
    align-items: flex-start;
    margin-bottom: 56px;
}

.join-us-text {
    flex: 0 0 40%;
}

.join-us-subtitle {
    font-size: 32px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 24px 0;
}

.join-us-description {
    font-size: 16px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

.join-us-form {
    background: #F5F5F5;
    padding: 24px;
    border-radius: 32px;
}

/* Стили для Bitrix24 формы */
.join-us-form .b24-form-wrapper {
    margin: 0;
}

.b24-form-field.b24-form-field-file.b24-form-control-file {
    background: transparent !important;
    border: 0 !important;
    padding: 0 0 10px !important;
}

/* Responsive */

@media (min-width: 1200px) {
    .join-us-title {
        white-space: nowrap;
    }

    .join-us-form {
        margin-top: -20px;
    }
}

@media (max-width: 1024px) {
    .join-us-block {
        padding: 0;
        margin-top: 56px;
        margin-bottom: 28px;
    }

    .join-us-content {
        gap: 40px;
    }

    .join-us-text {
        flex: 0 0 40%;
    }

    .join-us-form {
        flex: 0 0 60%;
    }
}

@media (max-width: 767px) {

    .join-us-wrapper {
        padding: 0;
    }

    .join-us-title {
        margin-bottom: 12px;
    }

    .join-us-content {
        flex-direction: column;
        gap: 32px;
        padding: 24px;
        margin-bottom: 0;
    }

    .join-us-text {
        flex: 0 0 auto;
    }

    .join-us-form {
        flex: 0 0 auto;
        padding: 0;
        background: transparent;
        margin-top: -20px;
    }

    .join-us-subtitle {
        font-size: 22px;
    }

    .join-us-description {
        font-size: 14px;
    }

    .join-us-header {
        margin-bottom: 0;
    }
}

/* ========== НАПРАВЛЕНИЯ ОБУЧЕНИЯ - ТАБЫ И СЕТКА ========== */
.directions-section {
    padding: 56px 0 0;
    position: relative;
    z-index: 2;
    background: #F7F7F9;
    border-radius: 80px 80px 0 0;
    margin-top: -170px;
    margin-bottom: 56px;
}

.directions-header {
    margin-bottom: 56px;
    padding: 0 48px;
}

.directions-title {
    margin: 0;
    text-align: left;
}

.directions-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 56px;
    padding: 0 48px;
}

.directions-tabs .btn {
    padding: 11px 32px;
}

.directions-tab {
    padding: 16px 32px;
    height: 52px;
    background: white;
    border: none;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 400;
    color: #000;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;

}

.directions-tab-active {
    background: #13a51f;
    color: white;
}

.directions-content {
    width: 100%;
    animation: fadeInUp 0.6s ease-out;
    padding: 0 48px;
}

.directions-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(200px, 1fr));
    gap: 20px;
}

.directions-grid>* {
    animation: fadeInUp 0.6s ease-out;
    animation-fill-mode: both;
}

.directions-grid.hidden {
    display: none !important;
}

.directions-action {
    display: flex;
    justify-content: center;
    margin: 56px 0 0 0;
}

.directions-action .btn {
    min-width: 200px;
}

/* Responsive */
@media (max-width: 1024px) {
    .directions-section {
        padding: 40px 24px;
    }

    .directions-header {
        margin-bottom: 32px;
    }

    .directions-header .container {
        padding: 0;
    }

    .directions-tabs {
        gap: 16px;
        margin-bottom: 40px;
    }

    .directions-tab {
        font-size: 14px;
        padding: 12px;
        height: 48px;
    }

    .directions-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .directions-action {
        margin: 40px 0 0 0;
    }
}

@media (max-width: 768px) {
    .directions-section {
        padding: 32px 24px 2px;
        border-radius: 32px 32px 0 0;
        margin-top: -18px;
        margin-bottom: 16px;
    }

    .directions-header {
        padding: 0;
    }

    .directions-section .container {
        padding: 0;
    }

    .directions-tabs {
        gap: 12px;
        margin-bottom: 16px;
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
        padding: 0;
    }

    .directions-tabs::-webkit-scrollbar {
        display: none;
    }

    .directions-tab {
        height: 44px;
        flex-shrink: 0;
    }

    .directions-tabs .btn {
        flex-shrink: 0;
        white-space: nowrap;
        padding: 8px 24px;
        width: auto;
    }

    .directions-content {
        width: 100%;
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        padding: 10px 0 30px;
    }

    .directions-content::-webkit-scrollbar {
        display: none;
    }

    .directions-grid {
        display: flex !important;
        gap: 20px;
        min-width: min-content;
        padding: 0;
    }

    .directions-grid.hidden {
        display: none !important;
    }

    .directions-grid .directions-card {
        flex: 0 0 280px;
        width: 280px;
        border: 1px solid #f0f0f0;
    }

    .directions-action {
        margin: 32px 0 0 0;
    }

    .directions-action .btn {
        min-width: 100%;
    }
}

/* ========== БЛИЖАЙШИЕ КУРСЫ - СЛАЙДЕР ========== */
.coming-courses-section {
    margin-top: 56px;
    margin-bottom: 6px;
    padding: 0;
}

.coming-courses-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 26px;
    padding: 0;
}

.coming-courses-title {
    margin: 0;
    text-align: left;
}

.coming-courses-controls {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-shrink: 0;
}

.coming-courses-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: white;
    color: #000;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
    flex-shrink: 0;
}

.coming-courses-btn:hover {
    background: #46b74f;
    color: white;
    box-shadow: 0 4px 12px rgba(70, 183, 79, 0.2);
}

.coming-courses-btn:active {
    transform: scale(0.95);
}

.coming-courses-btn svg {
    width: 24px;
    height: 24px;
}

.coming-courses-wrapper {
    position: relative;
    overflow: hidden;
    padding: 20px 0;
}

.coming-courses-wrapper::before,
.coming-courses-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 60px;
    pointer-events: none;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.coming-courses-wrapper.has-scroll-left::before {
    opacity: 1;
}

.coming-courses-wrapper.has-scroll-right::after {
    opacity: 1;
}

.coming-courses-wrapper::before {
    left: 0;
    background: linear-gradient(to left, rgba(247, 247, 249, 0), rgba(247, 247, 249, 1));
}

.coming-courses-wrapper::after {
    right: 0;
    background: linear-gradient(to right, rgba(247, 247, 249, 0), rgba(247, 247, 249, 1));
}


.coming-courses-slider {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 20px 48px 30px 0;
    margin: 0;
    list-style: none;
    /* Скрыть скроллбар */
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.coming-courses-slider::-webkit-scrollbar {
    display: none;
}

/* Видимый скроллбар в мобильной версии */
@media (max-width: 767px) {
    .coming-courses-slider {
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #999 #e0e0e0;
        padding-bottom: 16px;
    }

    .coming-courses-slider::-webkit-scrollbar {
        display: block;
        height: 6px;
        -webkit-appearance: none;
    }

    .coming-courses-slider::-webkit-scrollbar-track {
        background: #e0e0e0;
        border-radius: 3px;
    }

    .coming-courses-slider::-webkit-scrollbar-thumb {
        background: #999;
        border-radius: 3px;
        min-width: 40px;
    }
}

.coming-course-card {
    background: white;
    border-radius: 32px;
    padding: 20px;
    min-width: 360px;
    width: 360px;
    height: auto;
    min-height: 240px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.3s ease;
    cursor: pointer;
    box-sizing: border-box;
    flex: 0 0 280px;
    scroll-snap-align: start;
}

.coming-course-card-green {
    background: #46b74f;
    color: white;
}

.coming-course-card-white {
    background: white;
    color: #000;
    border: 1px solid #f0f0f0;
}

.coming-course-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

.coming-course-top {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.coming-course-date {
    font-size: 16px;
    font-weight: 500;
    opacity: 0.8;
    line-height: normal;
}

.coming-course-card-green .coming-course-date {
    color: rgba(255, 255, 255, 0.8);
}

.coming-course-card-white .coming-course-date {
    color: #585858;
}

.coming-course-name {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.156;
    margin: 0;
}

.coming-course-link {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.coming-course-link:hover {
    color: inherit;
    opacity: 0.8;
}

.coming-course-card-green .coming-course-name {
    color: white;
}

.coming-course-card-white .coming-course-name {
    color: #000;
}

.coming-course-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
}

.coming-course-price {
    font-size: 24px;
    font-weight: 600;
    line-height: normal;
}

.coming-course-card-green .coming-course-price {
    color: white;
}

.coming-course-card-white .coming-course-price {
    color: #13a51f;
}

.coming-course-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
    text-decoration: none;
}

.coming-course-card-green .coming-course-btn {
    color: white;
}

.coming-course-card-green .coming-course-btn:hover {
    transform: scale(1.1);
}

.coming-course-card-white .coming-course-btn {
    background: #46b74f;
    color: white;
}

.coming-course-card-white .coming-course-btn:hover {
    background: #3da23e;
    transform: scale(1.1);
}

.coming-course-btn svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    fill: none;
}

/* Responsive */
@media (max-width: 1024px) {
    .coming-courses-section {
        margin-top: 60px;
        padding: 40px 0;
    }

    .coming-courses-header {
        padding: 0;
        margin-bottom: 40px;
    }

    .coming-courses-slider {
        padding: 20px 24px 30px;
    }

    .coming-course-card {
        min-width: 280px;
        width: 280px;
        flex: 0 0 280px;
    }
}

@media (max-width: 768px) {

    .coming-courses-wrapper::before,
    .coming-courses-wrapper::after {
        display: none;
    }

    .coming-courses-wrapper {
        padding: 0;
        margin-bottom: 32px;
    }

    .coming-courses-header .container {
        padding: 0;
    }

    .coming-courses-section {
        padding: 0;
        margin: 0;
    }

    .coming-courses-header {
        padding: 0;
        margin-bottom: 16px;
        gap: 24px;
    }

    .coming-courses-btn {
        width: 48px;
        height: 48px;
    }

    .coming-courses-controls {

        gap: 8px;


    }

    .coming-courses-slider {
        padding: 16px 16px 24px;
        gap: 16px;
    }

    .coming-course-card {
        min-width: 280px;
        width: 280px;
        flex: 0 0 280px;
        padding: 16px;
        min-height: 220px;
    }

    .coming-course-date {
        font-size: 14px;
    }

    .coming-course-name {
        font-size: 18px;
    }

    .coming-course-bottom {
        padding-top: 32px;
    }

    .coming-course-price {
        font-size: 20px;
    }

    .coming-course-btn {
        width: 48px;
        height: 48px;
    }

    .coming-course-btn svg {
        width: 20px;
        height: 20px;
    }
}

/* Блок "Как проходит обучение" */
.steps-header {
    margin-bottom: 56px;
}

.steps-title {
    margin: 0;
    text-align: left;
}

.steps-block {
    background: #F7F7F9;
    padding-top: 56px;
    margin-top: -280px;
    margin-bottom: 56px;
    position: relative;
    z-index: 2;
    border-radius: 80px 80px 0 0;
}

.steps-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.step-item {
    background: white;
    border-radius: 32px;
    padding: 40px;
    display: flex;
    gap: 90px;
    align-items: flex-start;
}

.step-left {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 823px;
}

.step-number {
    font-size: 40px;
    font-weight: 400;
    color: #77787d;
    line-height: 1.2;
}

.step-title {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.3;
    margin: 0;
    hyphens: auto;
}

.step-description {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    margin: 0;
}

.step-right {
    flex: 0 0 auto;
    width: 379px;
    height: 269px;
    margin-left: auto;
}

.step-image {
    width: 100%;
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
}

.step-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.step-image-placeholder {
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c0c0c0;
}

.step-image-placeholder svg {
    width: 80px;
    height: 80px;
}

/* Адаптив для планшета */
@media (max-width: 1024px) {
    .step-item {
        gap: 40px;
        flex-wrap: wrap;
    }

    .step-left {
        width: 100%;
    }

    .step-right {
        width: calc(100% - 40px);
    }
}

@media (max-width: 767px) {

    .steps-block {
        padding: 32px 24px;
        margin-top: -76px;
        background: #F7F7F9;
        border-radius: 32px 32px 0 0;
        margin-bottom: 32px;
    }

    .steps-block .container {
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .steps-header {
        padding: 0;
        margin: 0;
    }

    .steps-content {
        display: flex;
        flex-direction: row;
        gap: 16px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        padding: 0 16px;
        padding-bottom: 16px;
        -webkit-overflow-scrolling: touch;
        align-items: flex-start;
    }

    /* Скрыть скролбар но оставить прокрутку */
    .steps-content::-webkit-scrollbar {
        height: 4px;
    }

    .steps-content::-webkit-scrollbar-track {
        background: #e0e0e0;
        border-radius: 2px;
    }

    .steps-content::-webkit-scrollbar-thumb {
        background: #999;
        border-radius: 2px;
    }

    .step-item {
        background: white;
        border-radius: 32px;
        padding: 20px;
        display: flex;
        flex-direction: column;
        gap: 24px;
        align-items: stretch;
        flex-shrink: 0;
        width: 280px;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        border: 1px solid #f0f0f0;
    }

    .step-left {
        display: flex;
        flex-direction: column;
        gap: 16px;
        width: 100%;
    }

    .step-number {
        font-size: 28px;
        font-weight: 400;
        color: #77787d;
        line-height: 1.2;
        margin: 0;
    }

    .step-title {
        font-size: 20px;
        font-weight: 500;
        color: #000;
        line-height: 1.3;
        margin: 0;
    }

    .step-description {
        font-size: 14px;
        font-weight: 400;
        color: #000;
        line-height: 1.4;
        margin: 0;
    }

    .step-right {
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        position: relative;
    }

    .step-image {
        width: 100%;
        height: auto;
        border-radius: 16px;
        overflow: hidden;
        position: relative;
    }

    .step-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .step-image-placeholder {
        background: #f0f0f0;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #c0c0c0;
        width: 100%;
        height: 100%;
        border-radius: 16px;
    }

    .step-image-placeholder svg {
        width: 80px;
        height: 80px;
    }
}

/* ========== БЛОК "ПОСЛЕДНИЕ НОВОСТИ" ========== */

.latest-news-block {
    background: #F7F7F9;
    padding: 0;
    margin-top: 56px;
    margin-bottom: 82px;
}

.latest-news-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 26px;
}

.latest-news-title {
    margin: 0;
}

.latest-news-controls {
    display: flex;
    gap: 16px;
    align-items: center;
}

.news-slider-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
    align-self: center;
    padding: 0;
}

.news-slider-btn svg {
    width: 24px;
    height: 24px;
    color: #191817;
}

.news-slider-btn:hover {
    background: #13a51f;
}

.news-slider-btn:hover svg {
    color: white;
}

.news-slider-wrapper {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-padding-left: 48px;
    /* Убираем скролл-бар */
    scrollbar-width: none;
    padding: 20px 48px 30px 0px;
}

.news-slider-wrapper::-webkit-scrollbar {
    display: none;
}

/* Видимый скроллбар в мобильной версии */
@media (max-width: 767px) {
    .news-slider-wrapper {
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #999 #e0e0e0;
        padding-bottom: 16px !important;
    }

    .news-slider-wrapper::-webkit-scrollbar {
        display: block;
        height: 6px;
        -webkit-appearance: none;
    }

    .news-slider-wrapper::-webkit-scrollbar-track {
        background: #e0e0e0;
        border-radius: 3px;
    }

    .news-slider-wrapper::-webkit-scrollbar-thumb {
        background: #999;
        border-radius: 3px;
        min-width: 40px;
    }
}

.news-card-item {
    flex: 0 0 calc(33.333% - 22px);
}

.news-card {
    background: white;
    border-radius: 32px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    height: 100%;
}

.news-card-header {
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: space-between;
}

.news-date {
    font-size: 18px;
    color: #77787d;
    text-align: right;
    white-space: nowrap;
}

/* ========== СЛАЙДЕР НОВОСТЕЙ - СПЕЦИФИЧНЫЕ ПЕРЕОПРЕДЕЛЕНИЯ ========== */

.news-card-item {
    flex: 0 0 calc(33.333% - 22px);
}

/* Адаптив для планшета */
@media (max-width: 1024px) {
    .latest-news-header {
        padding: 0 24px;
        margin-bottom: 28px;
    }

    .news-slider-wrapper {
        padding: 0 24px;
        scroll-padding-left: 24px;
    }

    .news-card-item {
        flex: 0 0 calc(50% - 16px);
        min-width: 320px;
    }

    .latest-news-block .news-card-badge {
        font-size: 14px;
        height: auto;
        padding: 6px 16px;
    }
}

/* ===== FAQ И ПРОГРАММА АККОРДЕОНА ===== */

/* Блок "Часто задаваемые вопросы" */
.faq-section {
    margin: 0;
    padding-top: 0;
    padding-bottom: 56px;
    display: flow-root;
}

.faq-header {
    margin-bottom: 48px;
}

.faq-title {
    margin: 0;
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Скрыть faq-answer по умолчанию когда используется с program-answer */
.faq-answer.program-answer {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;
}

.faq-answer.program-answer[hidden] {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
}

/* Показать при active */
.faq-item.program-item.active .faq-answer.program-answer:not([hidden]) {
    max-height: 2000px;
    padding-top: 0;
    padding-bottom: 32px;
    opacity: 1;
    transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;
}

.faq-item.program-item {
    border-radius: 32px;
    overflow: hidden;
    background: white;
    transition: all 0.3s ease;
}

.faq-item.program-item:hover {
    border-color: #d0d0d0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.faq-question.program-question {
    width: 100%;
    padding: 24px 32px;
    border: none;
    background: white;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 20px;
    font-weight: 400;
    color: #1a1a1a;
    transition: all 0.3s ease;
    white-space: normal;
}

.faq-question.program-question span {
    text-align: left;
}

.faq-chevron {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
    border-radius: 50%;
}

.faq-chevron:hover {
    background-color: var(--link-primary);
}

.faq-chevron:hover svg rect {
    fill: white;
}

.faq-chevron svg {
    width: 100%;
    height: 100%;
    display: inline;
}

.faq-plus.program-plus {
    display: inline;
}

.faq-plus.program-plus rect {
    stroke-width: 1px;
    rx: 1;
}

.faq-minus.program-minus {
    display: none !important;
}

.faq-minus.program-minus rect {
    stroke-width: 1px;
    rx: 1;
}

.faq-item.program-item.active .faq-plus.program-plus {
    display: none !important;
}

.faq-item.program-item.active .faq-minus.program-minus {
    display: inline !important;
    transform: rotate(45deg);
}

.faq-answer.program-answer {
    padding: 0 32px 24px 32px;
    margin: 0;
    line-height: 1.6;
    color: #555;
    background: white;
}

/* Адаптив для планшета */
@media (max-width: 1024px) {
    .faq-section {
        margin-top: 60px;
        margin-bottom: 60px;
    }

    .faq-question.program-question {
        padding: 20px 24px;
        font-size: 16px;
    }

    .faq-answer.program-answer {
        padding: 0 24px 20px 24px;
    }
}

/* Адаптив для мобильки */
@media (max-width: 768px) {

    .faq-header {
        margin-bottom: 0;
    }

    .faq-section {
        margin-top: 0;
        margin-bottom: 28px;
        padding: 0;
    }

    .faq-section .container {
        padding: 0;
    }

    .faq-title {
        margin-bottom: 24px;
    }

    .faq-question.program-question {
        padding: 16px 20px;
        font-size: 16px;
    }

    .faq-accordion {
        gap: 12px;
    }

    .faq-answer.program-answer {
        padding: 0 20px 16px 20px;
        font-size: 14px;
    }
}

/* Адаптив для мобильки */
@media (max-width: 768px) {
    .latest-news-block {
        padding: 0;
        margin-top: 0;
        margin-bottom: 32px;
    }

    .latest-news-block .container {
        padding: 0;
    }

    .latest-news-header {
        padding: 0;
        gap: 24px;
    }

    .latest-news-controls {
        width: 100%;
        justify-content: flex-end;
        gap: 8px;
    }

    .news-slider-btn {
        width: 48px;
        height: 48px;
        padding: 0;
    }

    .news-slider-wrapper {
        padding: 0;
    }

    .news-card-item {
        flex: 0 0 280px;
        min-width: 280px;

    }

    .news-card {
        border: 1px solid #f0f0f0;
        gap: 16px;
    }
}

#smart-title-search {
    max-width: 600px;
    margin: 0 auto;
}

.title-search-result {
    z-index: 2500 !important;
}

/* ========== ГАЛЕРЕЯ НОВОСТЕЙ ========== */
.news-detail-gallery {
    margin-top: 0;
    margin-bottom: 0;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    aspect-ratio: 1;
    background: #f5f5f5;
}

.gallery-item-link {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.gallery-item-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.gallery-item-link:hover .gallery-item-img {
    transform: scale(1.05);
}

/* Адаптив для планшета */
@media (max-width: 1024px) {
    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }
}

/* Адаптив для мобильки */
@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .gallery-title {
        margin-bottom: 0;
    }
}

@media (max-width: 480px) {
    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

/* ========== LIGHTBOX ДЛЯ ГАЛЕРЕИ ========== */
.gallery-lightbox-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gallery-lightbox-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
}

.gallery-lightbox-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    cursor: pointer;
}

.gallery-lightbox-container {
    position: relative;
    z-index: 10000;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gallery-lightbox-img {
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
    border-radius: 8px;
    animation: lightboxZoom 0.3s ease;
}

@keyframes lightboxZoom {
    from {
        opacity: 0;
        transform: scale(0.8);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.gallery-lightbox-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
    padding: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
    transition: transform 0.2s ease;
}

.gallery-lightbox-close:hover {
    transform: scale(1.2);
}

.gallery-lightbox-nav {
    display: flex;
    gap: 20px;
    margin-top: 20px;
    justify-content: center;
}

.gallery-lightbox-prev,
.gallery-lightbox-next {
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex-shrink: 0;
}

.gallery-lightbox-prev svg,
.gallery-lightbox-next svg {
    width: 24px;
    height: 24px;
}

.gallery-lightbox-prev:hover,
.gallery-lightbox-next:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
    transform: scale(1.1);
}

.gallery-lightbox-prev:active,
.gallery-lightbox-next:active {
    transform: scale(0.95);
}

.gallery-lightbox-counter {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
    margin-top: 15px;
    font-weight: 500;
}

/* Адаптив для мобильки */
@media (max-width: 768px) {
    .gallery-lightbox-img {
        max-height: 70vh;
    }

    .gallery-lightbox-close {
        font-size: 32px;
        width: 40px;
        height: 40px;
        top: 10px;
        right: 10px;
    }

    .gallery-lightbox-nav {
        gap: 12px;
    }

    .gallery-lightbox-prev,
    .gallery-lightbox-next {
        width: 40px;
        height: 40px;
    }

    .gallery-lightbox-prev svg,
    .gallery-lightbox-next svg {
        width: 20px;
        height: 20px;
    }

    .gallery-lightbox-counter {
        font-size: 12px;
    }
}

.order-block {
    margin-top: 0;
    margin-bottom: 0;
    display: flow-root;
    padding-top: 56px;
    padding-bottom: 0;
}

.feedback-section.white-box {
    /* margin-top: 0; */
}

.index-page.feedback-section.white-box {
    margin-top: 56px;
}

@media (max-width: 768px) {
    .index-page.feedback-section.white-box {
    margin-top: 0;
}
}

/* ========== DOCUMENT PREVIEW ========== */
.document-preview-container {
    margin-top: 24px;
}

.document-preview-link {
    display: inline-block;
    cursor: pointer;
    text-decoration: none;
}

.document-preview {
    position: relative;

    height: 260px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.document-preview:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.document-preview-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.document-preview-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.document-preview-link:hover .document-preview-overlay {
    opacity: 1;
}

.document-preview-icon {
    width: 48px;
    height: 48px;
    color: white;
}

.document-preview-text {
    color: white;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
}

.document-preview-name {
    margin-top: 12px;
    font-size: 14px;
    color: #333;
    font-weight: 500;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ========== DOCUMENT LIGHTBOX ========== */
.document-lightbox-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.document-lightbox-modal.active {
    opacity: 1;
    pointer-events: auto;
}

.document-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    cursor: pointer;
}

.document-lightbox-content {
    position: relative;
    z-index: 10001;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    max-width: 90vw;
    max-height: 90vh;
    animation: documentLightboxZoom 0.3s ease-out;
}

@keyframes documentLightboxZoom {
    from {
        transform: scale(0.8);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.document-lightbox-close {
    position: absolute;
    top: -40px;
    right: -10px;
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
    z-index: 10002;
}

.document-lightbox-close:hover {
    transform: scale(1.1);
}

.document-lightbox-img {
    max-width: 100%;
    max-height: 80vh;
    border-radius: 8px;
    object-fit: contain;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.document-lightbox-title {
    color: white;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    margin-top: 8px;
}

@media (max-width: 1300px) {
    .contactUs__formContainer {
        gap: 40px;
    }

    .hero-content {
        gap: 40px !important;
    }

    .join-us-content {
        gap: 40px;
    }

    .contactUs__formContainer {
        gap: 40px !important;
    }

    h1,
    .h1 {
        font-size: 44px;
    }

    h2,
    .h2 {
        font-size: 44px;
    }

    .certificate-slide {
        flex: 0 0 300px;
    }

    .contactUs__content {
        column-gap: 30px;
        row-gap: 30px;
    }
}


/* Адаптив для мобильки */
@media (max-width: 768px) {
    .document-lightbox-close {
        top: 10px;
        right: 10px;
        color: white;
    }

    .document-lightbox-img {
        max-height: 70vh;
    }

    .document-preview {
        width: 100%;
        height: 120px;
    }

    .site-main {
        padding-bottom: 24px;
    }

    h1 {
        font-size: 28px;
    }

    h2,
    .h2 {
        font-size: 24px;
    }

    .order-block {
        margin-top: 16px;
        margin-bottom: 0;
        display: flow-root;
    }

    /* Единые отступы между всеми блоками на странице программы - 56px */
.white-box + .white-box,
.white-box + .reviews-section,
.white-box + .popular-programs-section,
.white-box + .gallery-block,
.white-box + .programs-grid,
.white-box + .faq-section,
.white-box + .feedback-section,
.white-box + .goals-block,
.white-box + .why-block,
.white-box + .program-block,
.white-box + .team-block,
.white-box + .interview-block,
.white-box + .documents-block,
.white-box + .order-block,
.reviews-section + .white-box,
.reviews-section + .gallery-block,
.reviews-section + .faq-section,
.reviews-section + .feedback-section,
.reviews-section + .documents-block,
.reviews-section + .order-block,
.popular-programs-section + .white-box,
.popular-programs-section + .faq-section,
.popular-programs-section + .feedback-section,
.gallery-block + .white-box,
.gallery-block + .faq-section,
.gallery-block + .feedback-section,
.gallery-block + .documents-block,
.gallery-block + .order-block,
.programs-filter + .programs-grid,
.programs-grid + .white-box,
.programs-grid + .popular-programs-section,
.programs-grid + .faq-section,
.programs-grid + .feedback-section,
.faq-section + .white-box,
.faq-section + .feedback-section,
.feedback-section + .white-box,
.feedback-section + .faq-section,
.goals-block + .why-block,
.goals-block + .program-block,
.goals-block + .team-block,
.why-block + .program-block,
.why-block + .team-block,
.why-block + .interview-block,
.program-block + .team-block,
.program-block + .interview-block,
.program-block + .reviews-section,
.team-block + .interview-block,
.team-block + .reviews-section,
.interview-block + .reviews-section,
.interview-block + .gallery-block,
.documents-block + .order-block,
.documents-block + .faq-section,
.documents-block + .feedback-section,
.order-block + .faq-section,
.order-block + .feedback-section {
    margin-top: 28px;
}

/* Секции без белого фона - единые отступы 56px сверху и снизу */
.reviews-section,
.popular-programs-section,
.gallery-block,
.programs-grid,
.faq-section,
.feedback-section,
.goals-block,
.why-block,
.program-block,
.team-block,
.interview-block,
.documents-block {
    padding-top: 28px;
    padding-bottom: 28px;
}

.order-block {
    padding-top: 28px;
    padding-bottom: 0;
}
}

.news-detail-backlink {
    margin-top: 56px;
}

@media (max-width: 768px) {
    .news-detail-backlink {
        margin-top: 28px;
    }
}

/* ===== Pagination ===== */
.custom-pager,
.custom-pager-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin: 32px auto;
    padding: 0;
}

.news-pager-bottom {
    display: flex;
    justify-content: center;
    margin: 32px auto;
}

.news-pager-bottom .custom-pager {
    margin: 0;
}

.pager-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.pager-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    padding: 0;
    border-radius: 50%;
    background: #fff;
    color: #333;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    border: none;
    flex-shrink: 0;
}

a.pager-btn:hover:not(.pager-disabled) {
    background: #dde8dd;
    color: var(--link-primary);
}

.pager-btn.pager-active {
    background: var(--link-primary);
    color: #fff;
    font-weight: 700;
    pointer-events: none;
}

.pager-btn.pager-disabled {
    opacity: 0.4;
    cursor: default;
    pointer-events: none;
}

.pager-btn.pager-ellipsis {
    background: transparent;
    cursor: default;
    pointer-events: none;
    width: auto;
    padding: 0 4px;
    font-size: 18px;
    letter-spacing: 1px;
}

.pager-info {
    color: #888;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 480px) {
    .pager-btn {
        width: 38px;
        height: 38px;
        font-size: 14px;
    }
}
/* End */


/* Start:/local/templates/belgu_do/components/bitrix/system.pagenavigation/round/style.min.css?17696054762530*/
.bx-pagination{margin:10px 0}.bx-pagination .bx-pagination-container{text-align:center;position:relative}.bx-pagination .bx-pagination-container ul{padding:0;margin:0;list-style:none;display:inline-block}.bx-pagination .bx-pagination-container ul li{display:inline-block;margin:0 2px 15px 2px}.bx-pagination .bx-pagination-container ul li span{-webkit-transition:color .3s ease,background-color .3s ease,border-color .3s ease;-moz-transition:color .3s ease,background-color .3s ease,border-color .3s ease;-ms-transition:color .3s ease,background-color .3s ease,border-color .3s ease;-o-transition:color .3s ease,background-color .3s ease,border-color .3s ease;transition:color .3s ease,background-color .3s ease,border-color .3s ease;background:#eff0f1;padding:0 8px;display:block;height:32px;min-width:32px;line-height:32px;color:#444;font-size:14px;border-radius:16px;vertical-align:middle;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bx-pagination .bx-pagination-container ul li a{text-decoration:none;display:block;border-radius:16px;height:32px;min-width:32px;line-height:32px;color:#444;vertical-align:middle}.bx-pagination .bx-pagination-container ul li a:hover span{background:#dadada}.bx-pagination .bx-pagination-container ul li.bx-active span{background:#0083d1;color:#fff}.bx-pagination .bx-pagination-container ul li.bx-pag-all a span,.bx-pagination .bx-pagination-container ul li.bx-pag-prev a span,.bx-pagination .bx-pagination-container ul li.bx-pag-next a span{background:#fff;border:2px solid #eff0f1;line-height:28px;padding:0 18px;color:#444}.bx-pagination .bx-pagination-container ul li.bx-pag-all span,.bx-pagination .bx-pagination-container ul li.bx-pag-prev span,.bx-pagination .bx-pagination-container ul li.bx-pag-next span{color:#aab1b4;background:#fff;border:2px solid #eff0f1;line-height:28px;padding:0 18px}.bx-pagination .bx-pagination-container ul li.bx-pag-all a:hover span,.bx-pagination .bx-pagination-container ul li.bx-pag-prev a:hover span,.bx-pagination .bx-pagination-container ul li.bx-pag-next a:hover span{background:#fff;border-color:#dadada;color:#000}.bx-pagination.bx-green .bx-pagination-container ul li.bx-active span{background:#3bc915;color:#fff}.bx-pagination.bx-yellow .bx-pagination-container ul li.bx-active span{background:#f9a91d;color:#fff}.bx-pagination.bx-red .bx-pagination-container ul li.bx-active span{background:#e22b2b;color:#fff}.bx-pagination.bx-blue .bx-pagination-container ul li.bx-active span{background:#0083d1;color:#fff}
/* End */


/* Start:/local/templates/belgu_do/components/bitrix/news/programs/styles.css?177634677338271*/
/* ========== CATALOG FILTER ========== */

/* Анимация появления */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mobile filter button - Desktop version HIDDEN */
@media (min-width: 768px) {
    .programs-filter-btn {
        display: none !important;
    }
}

/* Mobile filter button - Base styles */
.programs-filter-btn {
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 12px;
    height: 52px;
    border: 2px solid #FF7C00;
    border-radius: 16px;
    background: white;
    font-size: 16px;
    font-weight: 500;
    color: #FF7C00;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-bottom: 20px;
    width: 100%;
}

.programs-filter-btn:hover {
    background: var(--color-accent);
    color: white;
}

.programs-filter-btn svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
}

.programs-filter-tabs {
    margin-bottom: 56px;
    padding: 0;
}

/* Блок с выбранными тегами фильтров */
.filter-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 30px;
    padding: 0;
}

.filter-tag {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 16px;
    height: 48px;
    border: 1px solid #585858;
    border-radius: 16px;
    background: white;
    font-size: 16px;
    font-weight: 400;
    color: #585858;
}

.filter-tag:hover {
    border: 1px solid var(--link-primary);
    color: var(--link-primary);
}

.filter-tag:hover svg {
    stroke: var(--link-primary) !important;
}

.filter-tag:hover svg rect,
.filter-tag:hover svg path {
    stroke: var(--link-primary) !important;
}

.filter-tag-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.filter-tag-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: opacity 0.3s ease;
    flex-shrink: 0;
}

.filter-tag-close:hover {
    opacity: 0.7;
}

.filter-tag-close svg {
    display: block;
    width: 20px;
    height: 20px;
}

.filter-tabs-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;

}

.filter-tab {
    position: relative;
}

.filter-tab-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: white;
    border: none;
    border-radius: 16px;
    padding: 16px;
    height: 52px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    color: black;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.filter-tab-label:hover {
    background: #f5f5f5;
}


.filter-tab-label.active .filter-tab-icon {
    transform: rotate(180deg);
}

.filter-tab-icon {
    width: 24px;
    height: 24px;
    color: black;
    transition: transform 0.3s ease;
}

/* Dropdown menu for filter items */
.filter-dropdown-menu {
    position: absolute;
    display: none;
    width: 300px;
    min-width: 240px;
    top: 100%;
    left: 0;
    padding: 16px 0;
    margin: 8px 0 0 0;
    border: none;
    border-radius: 16px;
    background: white;
    z-index: 10;
    box-shadow: 0 4px 12.3px rgba(0, 0, 0, 0.15);
    list-style: none;
}

.filter-dropdown-menu.open {
    display: block;
}

.filter-dropdown-menu li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 24px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.filter-dropdown-menu li:hover {
    background: #f5f5f5;
}

.filter-dropdown-menu li input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s ease;
    background: white;
    margin: 0;
}

.filter-dropdown-menu li input[type="checkbox"]:checked {
    background: #13a51f;
    border-color: #13a51f;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M6.3 14.6L1.7 10l-1.4 1.4L6.3 17.4l12-12L16.9 2.6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
}

.filter-dropdown-menu li label {
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    color: black;
    margin: 0;
    flex: 1;
}

/* Filter reset button */
.filter-reset-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 32px;
    height: 52px;
    width: auto;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    margin: 0;
    background: white;
    color: var(--color-accent);
    border: 2px solid var(--color-accent);
}

.filter-reset-btn:hover {
    background: white;
    color: #FF5500;
    transform: translateY(-2px);
    border-color: #FF5500;
}

/* Responsive */
@media (max-width: 1200px) {
    .filter-tabs-container {
        padding: 0;
        gap: 16px;
    }
}

@media (max-width: 767px) {
    .filter-tag {
        padding: 8px 16px;
        height: 44px;
        font-size: 14px;
    }

    .filter-tags-container {
        margin-bottom: 20px;
    }


    /* Show filter button on mobile */
    .programs-filter-btn {
        display: flex !important;
    }

    /* Hide filter tabs by default and show as modal */
    .programs-filter-tabs {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: white;
        z-index: 1000;
        overflow-y: auto;
        padding: 20px;
        margin-bottom: 0;
    }

    /* Show when active */
    .programs-filter-tabs.active {
        display: block;
    }

    /* Close button for filters modal */
    .programs-filter-close {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
        background: none;
        border: none;
        cursor: pointer;
        font-size: 28px;
        color: #191817;
        padding: 0;
        z-index: 1001;
    }

    .filter-tabs-container {
        padding: 0;
        gap: 12px;
        flex-direction: column;
        margin-top: 40px;
    }

    .filter-tab-label {
        padding: 12px;
        font-size: 14px;
        height: auto;
    }

    .filter-reset-btn {
        width: 100%;
    }
}

/* ========== ПРОГРАММЫ - КАРТОЧКИ В СЕТКЕ ========== */
.programs-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(200px, 1fr));
    gap: 20px;
    padding: 0;
}

.program-card {
    background: white;
    border-radius: 32px;
    padding: 20px;
    height: 319px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    cursor: pointer;
    box-sizing: border-box;
    border: 2px solid white;
    animation: fadeInUp 0.6s ease-out both;
}

.program-card:nth-child(1) {
    animation-delay: 0.1s;
}

.program-card:nth-child(2) {
    animation-delay: 0.2s;
}

.program-card:nth-child(3) {
    animation-delay: 0.3s;
}

.program-card:nth-child(4) {
    animation-delay: 0.4s;
}

.program-card:nth-child(5) {
    animation-delay: 0.5s;
}

.program-card:nth-child(6) {
    animation-delay: 0.6s;
}

.program-card:nth-child(7) {
    animation-delay: 0.7s;
}

.program-card:nth-child(8) {
    animation-delay: 0.8s;
}

.program-card:nth-child(n+9) {
    animation-delay: 0.9s;
}

.program-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
    border: 2px solid #13A51F;
    background-image: url(/local/templates/belgu_do/assets/card-hover-bg.svg);
    background-repeat: no-repeat;
    background-size: cover;
}

.program-card-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.program-header {
    flex-shrink: 0;
    overflow: hidden;
}

.program-category {
    font-size: 14px;
    font-weight: 400;
    color: #585858;
    margin: 0;
    line-height: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

.program-category span {
    display: inline;
    white-space: nowrap;
}

.program-separator {
    font-weight: 700;
    margin: 0 4px;
}

.program-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 279px;
    overflow: hidden;
}

.program-title {
    font-size: 20px;
    font-weight: 500;
    color: #000;
    margin: 0;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.program-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.program-title a:hover {
    color: #13a51f;
}

.program-date {
    font-size: 14px;
    font-weight: 500;
    color: #585858;
    margin: 0;
}

.program-footer {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 30px;
}

.program-price {
    font-size: 24px;
    font-weight: 600;
    color: #13a51f;
    margin: 0;
}

.program-price-corp {
    font-size: 13px;
    font-weight: 400;
    color: #888;
    margin: 3px 0 0;
}

/* Responsive */
@media (max-width: 1024px) {
    .programs-grid {
        gap: 16px;
    }

    .program-card {
        width: calc((100% - 16px) / 2);
    }
}

@media (max-width: 767px) {
    .programs-grid {
        gap: 12px;
        grid-template-columns: repeat(1, 1fr);
        margin-bottom: 16px;
    }

    .program-card {
        width: 100%;
        height: auto;
        border: 1px solid #f0f0f0;
    }
}

/* ========== ПОПУЛЯРНЫЕ ПРОГРАММЫ - СЛАЙДЕР ========== */
.popular-programs-section {
    margin-top: 112px;
    margin-bottom: 56px;
    padding: 0;
}

.popular-programs-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;

}

.popular-programs-title {
    margin: 0;
    line-height: normal;
}

.popular-programs-controls {
    display: flex;
    gap: 16px;
    align-items: center;
}

.popular-programs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: white;
    color: #000;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
    padding: 0;
}

.popular-programs-btn:hover {
    background: #13a51f;
    color: white;
    box-shadow: 0 4px 12px rgba(19, 165, 31, 0.2);
}

.popular-programs-btn:active {
    transform: scale(0.95);
}

.popular-programs-btn svg {
    width: 28px;
    height: 28px;
}

.popular-programs-slider-wrapper {
    position: relative;
    overflow: hidden;
    padding: 20px 0;
}

.popular-programs-slider {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 20px 0 30px;
    margin: 0;
    list-style: none;
    /* Скрыть скроллбар */
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.popular-programs-slider::-webkit-scrollbar {
    display: none;
}

/* Видимый скроллбар в мобильной версии */
@media (max-width: 767px) {
    .popular-programs-slider {
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #999 #e0e0e0;
        padding-bottom: 16px;
    }

    .popular-programs-slider::-webkit-scrollbar {
        display: block;
        height: 6px;
        -webkit-appearance: none;
    }

    .popular-programs-slider::-webkit-scrollbar-track {
        background: #e0e0e0;
        border-radius: 3px;
    }

    .popular-programs-slider::-webkit-scrollbar-thumb {
        background: #999;
        border-radius: 3px;
        min-width: 40px;
    }
}

.popular-program-card {
    background: white;
    border-radius: 32px;
    padding: 20px;
    width: 320px;
    height: 319px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    cursor: pointer;
    box-sizing: border-box;
    flex: 0 0 320px;
    scroll-snap-align: start;
}

.popular-program-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

/* Зеленая карточка */
.popular-program-card-green {
    background: #46b74f;
    color: white;
}

.popular-program-card-green .popular-program-category {
    color: rgba(255, 255, 255, 0.8);
}

.popular-program-card-green .popular-program-separator {
    color: rgba(255, 255, 255, 0.8);
}

.popular-program-card-green .popular-program-title {
    color: white;
}

.popular-program-card-green .popular-program-title a {
    color: white;
}

.popular-program-card-green .popular-program-title a:hover {
    color: rgba(255, 255, 255, 0.85);
}

.popular-program-card-green .popular-program-date {
    color: rgba(255, 255, 255, 0.8);
}

.popular-program-card-green .popular-program-price {
    color: white;
}

/* Белая карточка */
.popular-program-card-white {
    background: white;
    color: #000;
    border: 1px solid #f0f0f0;
}

.popular-program-card-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 46px;
    overflow: hidden;
}

.popular-program-header {
    flex-shrink: 0;
}

.popular-program-category {
    font-size: 14px;
    font-weight: 400;
    color: #585858;
    margin: 0;
    line-height: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

.popular-program-category span {
    display: inline;
    white-space: nowrap;
}

.popular-program-separator {
    font-weight: 700;
    margin: 0 4px;
}

.popular-program-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 279px;
    overflow: hidden;
}

.popular-program-title {
    font-size: 20px;
    font-weight: 500;
    color: #000;
    margin: 0;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.popular-program-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.popular-program-title a:hover {
    color: #13a51f;
}

.popular-program-date {
    font-size: 14px;
    font-weight: 400;
    color: #585858;
    margin: 0;
}

.popular-program-footer {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 30px;
}

.popular-program-price {
    font-size: 24px;
    font-weight: 600;
    color: #13a51f;
    margin: 0;
}

.popular-program-price-corp {
    font-size: 13px;
    font-weight: 400;
    color: #888;
    margin: 3px 0 0;
}

/* Responsive */

@media (max-width: 768px) {
    .popular-programs-section {
        margin-top: 16px;
        padding: 32px 0;
        margin-bottom: 0;
    }

    .popular-programs-btn {
        padding: 0;
    }

    .popular-programs-header {
        /* flex-direction: column; */
        gap: 20px;
        /* margin-bottom: 32px; */
        /* padding: 0 16px; */
        margin: 0 0 24px;
        align-items: flex-start;
    }

    .popular-programs-controls {
        align-self: flex-end;
        gap: 12px;
    }


    .popular-programs-slider-wrapper {
        padding: 0;
    }

    .popular-program-card {
        width: 280px;
        flex: 0 0 280px;
        border: 1px solid #f0f0f0;
    }

    .popular-programs-slider {
        gap: 16px;
    }

    .popular-program-title {
        font-size: 20px;
    }

    .popular-program-price {
        font-size: 24px;
    }
}


.feedback-section {
    margin: 0;
    padding-top: 56px;
    padding-bottom: 56px;
}

.feedback-section-catalog {
    margin: 0;
    padding-top: 56px;
    padding-bottom: 56px;
}

.feedback-section .b24-form-wrapper {
    max-width: initial !important;
}

.feedback-section .b24-form-content form>div:first-child {
    display: grid !important;
    gap: 20px !important;
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
}

.b24-form-header-title {
    line-height: 1.1 !important;
    font-weight: 600 !important;
}

.consultation-modal .b24-form-header-title {
    font-size: 30px !important;
    line-height: 1.1 !important;
}

.consultation-modal .b24-form-header-description {
    display: none !important;
}


@media (max-width: 768px) {
    .feedback-section .b24-form-content form>div:first-child {
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: 1fr !important;
    }

    .b24-form-header-title {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }

    .feedback-section {
        margin: 0;
        padding: 32px 24px;
    }

    .feedback-section.white-box {
        margin-top: 0;
        margin-bottom: 28px;
    }

    .feedback-section .container {
        padding: 0;
    }
}

/* ========== HERO BLOCK FOR PROGRAM DETAIL ========== */
.hero-block {
    margin-bottom: 56px;
}

.hero-left {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.hero-category {
    display: inline-block;
    padding: 12px 16px;
    border-radius: 16px;
    background: #F5F5F5;
    width: fit-content;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.hero-badge-sale {
    display: inline-block;
    padding: 12px 16px;
    border-radius: 16px;
    background: #13A51F;
    width: fit-content;
    color: white;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.hero-title {
    line-height: 1.1;
    margin: 0;
}

.hero-description {
    line-height: 1.5;
    color: #585858;
    margin: 0;
}

.hero-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.hero-right {
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-image {
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.hero-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}


.program-property {
    padding: 16px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 16px;
    line-height: 1.6;
}

.program-property strong {
    color: #191817;
    font-weight: 600;
}

@media (max-width: 1024px) {
    .hero-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hero-right {
        order: -1;
    }
}

@media (max-width: 768px) {
    .hero-right {
        order: 1;
        flex-direction: column;
    }

    .hero-left {
        order: 2;
    }

    .order-block .hero-left {
        order: 1;
    }

    .order-block .hero-right {
        order: 2;
    }

    .hero-description {
        font-size: 14px;
    }

    .hero-buttons {
        flex-direction: column;
        margin-top: 0;
    }

    .hero-image {
        max-width: 100%;
        margin-top: 0;
        margin-bottom: 0;
    }

    .news-detail {
        margin-top: 16px;
        padding: 0;
        margin-bottom: 28px;
    }

    .news-detail.white-box {
        padding: 24px;
        margin-top: 24px;
        margin-bottom: 0;
    }

    .hero-category {
        padding: 8px 16px;
        border-radius: 8px;
        font-size: 14px;
    }

    .hero-badge-sale {
        padding: 8px 16px;
        border-radius: 8px;
        font-size: 14px;
    }
}

/* ========== PROGRAM INFO BLOCK ========== */
.program-info-block {
    padding: 40px;
    margin-top: -46px!important;
}

.program-info-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.program-info-item {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.program-info-label {
    color: #585858;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.program-info-value {
    color: #000;
    font-size: 18px;
    font-style: normal;
    line-height: 1.5;
}

.program-info-whois {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 40px;
    border-top: 1px solid #e0e0e0;
    margin-top: 40px;
}

.program-info-tags {
    display: flex;
    flex-wrap: wrap;
    column-gap: 36px;
    row-gap: 16px;
}

.program-info-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-style: normal;
    line-height: 1.5;
    color: #191817;
}

.tag-icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    background: #13A51F;
    color: white;
    border-radius: 4px;
}

@media (max-width: 1024px) {
    .program-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .program-info-block {
        padding: 40px;
    }
}

@media (max-width: 768px) {
    .program-info-tag {
        display: inline-flex;
        align-items: center;
        gap: 16px;
        font-size: 16px;
    }

    .program-info-tag svg {
        display: none;
    }

    .program-info-whois {
        padding-top: 0;
        border-top: 0;
        margin-top: 24px;
    }

    .program-info-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 24px;
    }

    .program-info-item {
        gap: 6px;
    }

    .program-info-block {
        padding: 32px 24px;
        margin-top: 28px!important;
        margin-bottom: 28px;
    }

    .program-info-label {
        font-size: 12px;
    }

    .program-info-value {
        font-size: 16px;
    }
}

/* ========== GOALS BLOCK - АДАПТИВНЫЕ КОЛОНКИ ========== */
/* Применяем только внутри компонента programs */
.news-detail .goals-grid {
    display: grid;
    gap: 32px;
}

/* 2 колонки для 2-4 элементов */
.news-detail .goals-grid-2col {
    grid-template-columns: repeat(2, 1fr);
}

/* 3 колонки для 5+ элементов */
.news-detail .goals-grid-3col {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1024px) {
    .news-detail .goals-grid-2col {
        grid-template-columns: repeat(2, 1fr);
    }

    .news-detail .goals-grid-3col {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {

    .news-detail .goals-grid-2col,
    .news-detail .goals-grid-3col {
        grid-template-columns: 1fr;
    }
}

/* ========== WHY BLOCK - "ПОЧЕМУ ВЫБИРАЮТ НАС?" ========== */
.why-block {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 56px;
    padding-bottom: 0;
}

.why-title {
    margin: 0 0 56px 0;
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    grid-auto-rows: auto;
}

.why-item {
    background: white;
    border-radius: 32px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: all 0.3s ease;
}

.why-item:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
}

.why-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.why-item-primary {
    background: #13A51F;
    border-color: #13A51F;
    color: white;
}

.why-item-primary:hover {
    background: #0f8416;
    border-color: #0f8416;
}

.why-text {
    font-size: 18px;
    line-height: 1.5;
    color: inherit;
    margin: 0;
}

.why-item-primary .why-text {
    color: white;
}

.why-item .format-arrow {
    margin-top: auto;
    margin-left: auto;
    align-self: flex-end;
}

.why-item-primary .format-arrow {
    background: rgba(255, 255, 255, 0.2);
}

.why-item-primary .format-arrow:hover {
    background: rgba(255, 255, 255, 0.3);
}

.why-arrow {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    margin-top: auto;
}

.why-arrow svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
}

@media (max-width: 1024px) {
    .why-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .why-title {
        margin-bottom: 40px;
    }
}

@media (max-width: 768px) {
    .why-block {
        margin-top: 28px;
        margin-bottom: 56px;
        padding: 0;
    }

    .why-title {
        margin-bottom: 28px;
    }

    .why-grid {
        display: flex;
        flex-direction: row;
        gap: 16px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        padding-bottom: 12px;
        scroll-snap-type: x mandatory;
    }

    .why-grid::-webkit-scrollbar {
        height: 4px;
    }

    .why-grid::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 10px;
    }

    .why-grid::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 10px;
    }

    .why-grid::-webkit-scrollbar-thumb:hover {
        background: #555;
    }

    .why-item {
        flex: 0 0 280px;
        min-width: 280px;
        padding: 24px;
        scroll-snap-align: start;
        border: 1px solid #f0f0f0;
    }

    .why-item:first-child {
        grid-column: unset;
        grid-row: unset;
    }

    .why-text {
        font-size: 14px;
    }
}

/* Блок "Программа курса" */
.program-block {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 56px;
    padding-bottom: 0;
}

.program-header {
    margin: 0 0 32px 0;
}

.program-accordion {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.program-item {
    border-radius: 32px;
    overflow: hidden;
    background: white;
    transition: all 0.3s ease;
}

.program-item:hover {
    border-color: #d0d0d0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.program-section-title {
    padding: 0;
    background: transparent;
    margin-top: 40px;
    margin-bottom: 20px;
}

.program-section-title .h3 {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.2;
    color: #191817;
    margin: 0;
}

.program-question {
    width: 100%;
    padding: 24px 32px;
    border: none;
    background: white;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 20px;
    font-weight: 400;
    color: #1a1a1a;
    transition: all 0.3s ease;
    font-family: "Inter", sans-serif;
    white-space: normal;
}


.program-question span {
    text-align: left;
}

.program-chevron {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.program-chevron svg {
    width: 100%;
    height: 100%;
    display: inline;
}

.program-plus {
    display: inline;
}

.program-minus {
    display: none !important;
}

.program-item.active .program-plus {
    display: none !important;
}

.program-item.active .program-minus {
    display: inline !important;
    transform: rotate(45deg);
}

/* FAQ accordion variants */
.faq-item.program-item.active .program-plus {
    display: none !important;
}

.faq-item.program-item.active .program-minus {
    display: inline !important;
    transform: rotate(45deg);
}

.program-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: white;
}

.program-item.active .program-answer {
    max-height: 1000px;
}

.faq-item.program-item.active .program-answer {
    max-height: 1000px;
}

.program-answer p {
    padding: 0 32px 24px 32px;
    margin: 0;
    line-height: 1.6;
    color: #555;
}

@media (max-width: 1024px) {
    .program-block {
        margin-top: 60px;
        margin-bottom: 60px;
        padding: 0 24px;
    }

    .program-header {
        margin-bottom: 40px;
    }

    .program-question {
        padding: 20px 24px;
        font-size: 16px;
    }

    .program-answer p {
        padding: 0 24px 20px 24px;
        font-size: 15px;
    }

    .program-section-title {
    padding: 0;
    background: transparent;
    margin-top: 10px;
    margin-bottom: 10px;
}

.program-section-title .h3 {
    font-size: 18px;

}
}

@media (max-width: 768px) {
    .program-block {
        margin-top: 32px;
        margin-bottom: 32px;
        padding: 0;
    }

    .program-header {
        margin-bottom: 32px;
    }

    .program-question {
        padding: 16px 20px;
        font-size: 15px;
    }

    .program-chevron {
        width: 20px;
        height: 20px;
    }

    .program-answer p {
        padding: 0 20px 16px 20px;
        font-size: 14px;
    }

    .team-section-header {
        margin-bottom: 24px;
    }

    .team-title {
        margin-bottom: 0;
    }
}

/* ========== ДОКУМЕНТЫ ДЛЯ ПОСТУПЛЕНИЯ ========== */
.documents-block {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 56px;
    padding-bottom: 56px;
    display: flow-root;
}

.documents-title {
    margin: 0 0 56px 0;
}

.documents-tabs-header {
    display: flex;
}

.documents-tab-btn {
    flex: 1;
    padding: 20px;
    border: none;
    border-radius: 32px 32px 0 0;
    font-size: 20px;
    font-weight: 500;
    color: #585858;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    background: transparent;
    text-align: center;
}


.documents-tab-btn-active {
    color: #000;
    background: white;
}

.documents-tab-content {
    display: none;
    padding: 20px;
    background: white;
    border-radius: 0 0 32px 32px;
}

.documents-tab-content-active {
    display: block;
}

.documents-list {
    list-style: disc;
    padding-left: 30px;
    margin: 0;
}

.documents-list-item {
    margin-bottom: 16px;
}

.documents-list-item:last-child {
    margin-bottom: 0;
}

.documents-text {
    margin: 0;
}

.contactUs__form.white-box {
    margin-bottom: 56px;
    margin-top: 112px;
}

/* Responsive */
@media (max-width: 1024px) {
    .documents-block {
        margin-top: 60px;
        margin-bottom: 60px;
        padding: 0 24px;
    }

    .documents-title {
        margin-bottom: 28px;
    }

    .documents-tab-btn {
        font-size: 18px;
        padding: 16px;
    }

    .documents-list-item {
        font-size: 16px;
        margin-bottom: 12px;
        line-height: 28px;
    }

    .documents-text {
        font-size: 16px;
        line-height: 28px;
    }
}

@media (max-width: 768px) {
    .documents-block {
        margin-top: 56px!important;
        margin-bottom: 32px;
        padding: 0;
    }

    .documents-title {
        margin-bottom: 32px;
    }

    .documents-tabs {
        display: flex;
        flex-direction: row;
        gap: 16px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        padding-bottom: 12px;
        scroll-snap-type: x mandatory;
    }

    .documents-tabs::-webkit-scrollbar {
        height: 4px;
    }

    .documents-tabs::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 10px;
    }

    .documents-tabs::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 10px;
    }

    .documents-tabs::-webkit-scrollbar-thumb:hover {
        background: #555;
    }

    .documents-tabs-header {
        display: none;
    }

    .documents-tab-content {
        display: none !important;
        background: white;
        border-radius: 32px;
        padding: 20px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        flex: 0 0 320px;
        min-width: 320px;
        scroll-snap-align: start;
    }

    .documents-tab-content-active {
        display: block !important;
    }

    .documents-tab-content[data-tab="admission"] {
        display: block !important;
    }

    .documents-tab-content[data-tab="completion"] {
        display: block !important;
    }

    .documents-tab-content h3 {
        font-size: 22px;
        font-weight: 500;
        margin: 0 0 24px 0;
        line-height: 1.156;
    }

    .documents-list {
        padding-left: 21px;
        margin: 0;
    }

    .documents-list-item {
        font-size: 14px;
        margin-bottom: 0;
        line-height: 1.3;
        color: #333;
    }

    .documents-text {
        font-size: 14px;
        line-height: 1.3;
        color: #333;
        margin: 0;
    }
}

/* Десктоп версия */
@media (min-width: 768px) {
    .documents-tab-title {
        display: none;
    }
}


/* ========== ИНТЕРВЬЮ С ПРЕПОДАВАТЕЛЯМИ ========== */

.interview-block {
    margin: 0;
    padding-top: 56px;
    padding-bottom: 0;
}

.interview-title {
    margin: 0 0 56px 0;
}

.interview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 30px;
}

.interview-item {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.interview-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.interview-video {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    /* 16:9 aspect ratio */
    background: #000;
}

.interview-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Responsive */
@media (max-width: 768px) {
    .interview-block {
        margin: 0;
        padding: 0;
    }

    .interview-title {
        font-size: 32px;
        margin-bottom: 28px;
    }

    .interview-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media (max-width: 480px) {
    .interview-title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .interview-item {
        border-radius: 12px;
    }
}


/* ========== ЗАПИСЬ ========== */

.order-title {
    margin: 0;
}

.order-price {
    font-size: 40px;
    font-weight: 600;

}

.order-price-corp {
    font-size: 16px;
    font-weight: 400;
    color: #888;
    margin: 4px 0 0;
}

.order-nalog {
    font-size: 16px;
    line-height: 1.5;
}

.order-nalog p {
    margin: 0 0 16px 0;
}

.order-nalog p:last-child {
    margin-bottom: 0;
}

.order-nalog a {
    color: var(--link-primary, #13A51F);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.order-nalog a:hover {
    opacity: 0.8;
    text-decoration: underline;
}

.tags-list {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 767px) {

    /* Mobile filter button - показываем на мобильной */
    .programs-filter-btn {
        display: flex !important;
        position: relative !important;
        margin-bottom: 20px !important;
        width: 100% !important;
        height: 52px !important;
        padding: 10px 12px !important;
        border: 2px solid #FF7C00 !important;
        border-radius: 16px !important;
        background: white !important;
        color: #FF7C00 !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        gap: 10px !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        z-index: 100 !important;
    }



    /* Кнопка закрытия фильтров */
    .programs-filter-close {
        position: fixed !important;
        top: 12px !important;
        right: 12px !important;
        z-index: 1001 !important;
        width: 40px !important;
        height: 40px !important;
        background: none !important;
        border: none !important;
        font-size: 32px !important;
        cursor: pointer !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #000 !important;
    }

    /* Контейнер с фильтрами */
    .filter-tabs-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-top: 0 !important;
    }

    /* Фильтры на мобильной */
    .filter-tab {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 1024px) {
    .order-price {
        font-size: 24px;
        margin: 0 0 32px 0;
    }

    .order-nalog {
        font-size: 15px;
        margin: 0 0 32px 0;
    }
}

@media (max-width: 768px) {
    .order-price {
        font-size: 20px;
        margin: 0;
    }

    .order-nalog {
        font-size: 14px;
        margin: 0 0 24px 0;
    }

    .order-title {
        font-weight: 600;
        margin: 0;
        line-height: 1.1;
    }

    .tags-list {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
    }
}

/* ========== EMPTY STATE (когда нет программ по фильтру) ========== */
.programs-empty-result {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 40px;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    margin: 20px 0 40px;
}

.programs-empty-result .programs-empty-icon {
    flex-shrink: 0;
}

.programs-empty-result .programs-empty-icon svg {
    width: 64px;
    height: 64px;
    stroke: #bbb;
    stroke-width: 1.5;
}

.programs-empty-result .programs-empty-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.programs-empty-result .programs-empty-title {
    font-size: 22px;
    font-weight: 600;
    color: #333;
    margin: 0;
    line-height: 1.3;
}

.programs-empty-result .programs-empty-text {
    font-size: 16px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .programs-empty-result {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 32px 20px;
        gap: 16px;
    }

    .programs-empty-result .programs-empty-icon svg {
        width: 48px;
        height: 48px;
    }

    .programs-empty-result .programs-empty-title {
        font-size: 18px;
    }

    .programs-empty-result .programs-empty-text {
        font-size: 14px;
    }
}
/* End */


/* Start:/local/templates/belgu_do/components/bitrix/news.list/reviews/style.css?177634673432034*/
/* Reviews Section Styles */

.reviews-page {
    margin: 60px 0;
}

/* Mobile filter button wrapper */
.reviews-filter-wrapper {
    position: relative;
    width: 100%;
}

/* Filter tags above button (mobile) */
.reviews-filter-wrapper>.filter-tags-container {
    display: none;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
    padding: 0;
}

@media (max-width: 767px) {
    .reviews-filter-wrapper>.filter-tags-container {
        display: flex;
    }

    .reviews-filter-wrapper>.filter-tags-container:empty,
    .reviews-filter-wrapper>.filter-tags-container[style*="display: none"] {
        display: none !important;
        margin-bottom: 0;
    }
}

/* Mobile filter button - Desktop version HIDDEN */
@media (min-width: 768px) {
    .reviews-filter-btn {
        display: none !important;
    }
}

/* Mobile filter button - Base styles */
.reviews-filter-btn {
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 12px;
    height: 52px;
    border: 2px solid #FF7C00;
    border-radius: 16px;
    background: white;
    font-size: 16px;
    font-weight: 500;
    color: #FF7C00;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-bottom: 20px;
    width: 100%;
    display: flex;
    position: relative;
}

.reviews-filter-btn:hover {
    border: 2px solid #F50;
    color: #F50;
}

.reviews-filter-btn svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
}

/* Reviews Filters - новый стиль */
.reviews-filter-tabs {
    margin-bottom: 56px;
    padding: 0;
}

/* Блок с выбранными тегами фильтров */
.reviews-filter-tabs .filter-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 30px;
    padding: 0;
}

.reviews-filter-tabs .filter-tag {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 16px;
    height: 52px;
    border: 1px solid #585858;
    border-radius: 16px;
    background: white;
    font-size: 16px;
    font-weight: 400;
    color: #585858;
}

.reviews-filter-tabs .filter-tag:hover {
    border: 1px solid #13a51f;
    color: #13a51f;
}

.reviews-filter-tabs .filter-tag:hover svg {
    stroke: #13a51f !important;
}

.reviews-filter-tabs .filter-tag:hover svg rect,
.reviews-filter-tabs .filter-tag:hover svg path {
    stroke: #13a51f !important;
}

.filter-tag-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.filter-tag-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: opacity 0.3s ease;
    flex-shrink: 0;
}

.filter-tag-close:hover {
    opacity: 0.7;
}

.filter-tag-close svg {
    display: block;
    width: 20px;
    height: 20px;
}

.filter-tabs-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
}

.filter-tab {
    position: relative;
}

.filter-tab-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: white;
    border: none;
    border-radius: 16px;
    padding: 16px;
    height: 52px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    color: black;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.filter-tab-label:hover {
    background: #f5f5f5;
}

.filter-tab-label.active .filter-tab-icon {
    transform: rotate(180deg);
}

.filter-tab-icon {
    width: 24px;
    height: 24px;
    color: black;
    transition: transform 0.3s ease;
}

.filter-dropdown-menu {
    position: absolute;
    display: none;
    width: 300px;
    min-width: 240px;
    top: 100%;
    left: 0;
    padding: 16px 0;
    margin: 8px 0 0 0;
    border: none;
    border-radius: 16px;
    background: white;
    z-index: 10;
    box-shadow: 0 4px 12.3px rgba(0, 0, 0, 0.15);
    list-style: none;
}

.reviews-filter-tabs .filter-tab:nth-of-type(1) .filter-dropdown-menu {
    min-width: 440px;
}

.filter-dropdown-menu.open {
    display: block;
}

.filter-dropdown-menu li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 24px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.filter-dropdown-menu li:hover {
    background: #f5f5f5;
}

.filter-dropdown-menu li input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s ease;
    background: white;
    margin: 0;
}

.filter-dropdown-menu li input[type="checkbox"]:checked {
    background: #13a51f;
    border-color: #13a51f;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M6.3 14.6L1.7 10l-1.4 1.4L6.3 17.4l12-12L16.9 2.6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
}

.filter-dropdown-menu li label {
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    color: black;
    margin: 0;
    flex: 1;
}



/* Reviews Filters Responsive */
@media (max-width: 1200px) {
    .reviews-filter-tabs .filter-tabs-container {
        padding: 0;
        gap: 16px;
    }
}

@media (max-width: 767px) {
    .filter-tags-container {
        flex-wrap: wrap;
    }

    .filter-dropdown-menu li {
        padding: 8px 12px;
    }

    .filter-dropdown-menu li label {
        font-size: 14px;
    }

    /* Mobile dropdown filter form */
    .reviews-filter-tabs {
        position: relative !important;
        width: 100% !important;
        background: white !important;
        border: 0px solid #ddd !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
        z-index: 999 !important;
        display: none !important;
        flex-direction: column !important;
        overflow-y: auto !important;
        max-height: 70vh !important;
        padding: 16px !important;
        margin: 0 0 20px !important;
    }

    .reviews-filter-tabs.active {
        display: flex !important;
    }

    .filter-tabs-container {
        padding: 0;
        gap: 12px;
        flex-direction: column;
        display: flex !important;
    }

    .filter-tab-label {
        padding: 10px 12px;
        height: auto;
        width: 100%;
        display: flex !important;
        justify-content: space-between !important;
        background: transparent !important;
    }

    .reviews-filter-tabs .filter-tab {
        width: 100%;
        position: relative;
    }

    .filter-dropdown-menu {
        position: relative !important;
        display: none !important;
        width: 100% !important;
        min-width: 100% !important;
        top: auto !important;
        left: auto !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding: 10px !important;
        background: #f9f9f9 !important;
        border-radius: 8px !important;
    }

    .filter-dropdown-menu.open {
        display: flex !important;
        flex-direction: column !important;
    }

    .filter-reset-btn {
        width: 100%;
    }

    .filter-tag {
        height: auto;
        padding: 12px;
        padding: 8px 16px;
        font-size: 14px;
    }

    .filter-tag-text {
        white-space: normal;
    }
}

/* Reviews Empty State */
.reviews-empty {
    text-align: center;
    padding: 60px 20px;
    color: #888;
    font-size: 18px;
    grid-column: 1 / -1;
}

/* Reviews Grid */
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/* Review Card */
.review-card {
    background: white;
    border-radius: 32px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    cursor: pointer;
    box-sizing: border-box;
    border: 2px solid white;
    height: 100%;
    gap: 12px;
}

.review-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
    border: 2px solid #ed7d00;
}

.review-card-header {
    display: flex;
    gap: 16px;
    align-items: center;
}

/* Avatar */
.review-avatar {
    width: 43px;
    height: 43px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
}

.review-avatar-text {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

/* Video Badge */
.review-video-badge {
    position: absolute;
    bottom: -3px;
    right: -3px;
    width: 24px;
    height: 24px;
    background: #ff6b35;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    z-index: 1;
}

.review-video-badge svg {
    width: 12px;
    height: 12px;
    margin-left: 1px;
}

.review-author-info {
    flex: 1;
}

.review-author-name {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 0 0;
    line-height: 1.4;
}

.review-author-position {
    font-size: 13px;
    color: #888;
    margin: 0;
}

/* Video Preview */
.review-video-preview {
    position: relative;
    width: 100%;
    height: 333px;
    border-radius: 20px;
    overflow: hidden;
    background: #c6d3e0;
}

.review-video-preview video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    /* Hide native controls and play button */
    -webkit-media-controls: none !important;
    /* iOS Safari fixes */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    background: #fff;
}

/* Hide all native video controls */
.review-video-preview video::-webkit-media-controls {
    display: none !important;
}

.review-video-preview video::-webkit-media-controls-panel {
    display: none !important;
}

.review-video-preview video::-webkit-media-controls-play-button {
    display: none !important;
}

.review-video-preview video::-webkit-media-controls-start-playback-button {
    display: none !important;
}

.review-video-preview video::-webkit-media-controls-enclosure {
    display: none !important;
}

.review-video-preview video::-moz-media-controls {
    display: none !important;
}

.review-video-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    background: #13a51f9e;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 2;
}

.review-card:hover .review-video-play-button {
    transform: translate(-50%, -50%) scale(1.1);
    box-shadow: 0 4px 16px rgba(19, 165, 31, 0.3);
}

.review-video-play-button svg {
    width: 24px;
    height: 24px;
    margin-left: 2px;
}

/* Review Body */
.review-card-body {
    flex: 1;
}

.review-text {
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 16px 0;
    height: 254px;
    overflow-y: auto;
    font-size: 15px;
}

.review-card-video .review-text {
    display: none;
}

.review-program-link,
.review-program {
    font-size: 14px;
    font-weight: 500;
    color: #000;
    text-decoration: none;
    text-align: center;
}

.review-text-full {
    font-size: 15px;
    color: #555;
    line-height: 1.8;
    margin: 0 0 20px 0;
}

/* Review Footer */
.review-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
    flex-wrap: wrap;
}

.review-program {
    border-radius: 16px;
    background: #F5F5F5;
    display: flex;
    padding: 10px 20px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    color: #000;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.4;
}

.review-program-link {
    border-radius: 16px;
    background: #F5F5F5;
    display: flex;
    padding: 10px 20px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    color: #000;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    transition: all 0.3s ease;
}

.review-program-link:hover {
    background: #ff6b35;
    color: #fff;
    box-shadow: 0 4px 12px rgba(255, 107, 53, 0.2);
}

.review-read-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    color: #ff6b35;
    font-size: 13px;
    cursor: pointer;
    padding: 4px 8px;
    margin-left: auto;
    transition: all 0.3s ease;
    text-decoration: none;
}

.review-read-more:hover {
    color: #e55a2b;
    transform: translateX(4px);
}

.review-read-more:hover svg {
    transform: translateX(3px);
}

.review-read-more svg {
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
}

/* Detail Page */
.review-detail {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    margin: 40px 0;
}

.review-back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ff6b35;
    text-decoration: none;
    font-weight: 600;
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

.review-back-link:hover {
    transform: translateX(-4px);
    color: #e55a2b;
}

.review-detail-header {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
    align-items: flex-start;
    padding-bottom: 30px;
    border-bottom: 2px solid #f0f0f0;
}

.review-detail-header .review-avatar {
    width: 80px;
    height: 80px;
    min-width: 80px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.review-detail-header .review-avatar-text {
    font-size: 28px;
}

.review-detail-header .review-author-name {
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.review-detail-header .review-author-position {
    font-size: 16px;
    color: #888;
    margin: 0;
    font-style: italic;
}

.review-detail-body {
    margin-bottom: 30px;
}

.review-detail-body .review-text-full {
    font-size: 16px;
    color: #555;
    line-height: 1.9;
    margin: 0;
    text-align: justify;
    word-break: break-word;
}

.review-detail-body .review-text-full p {
    margin-bottom: 16px;
}

.review-detail-body .review-text-full p:last-child {
    margin-bottom: 0;
}

.review-detail-footer {
    padding-top: 30px;
    border-top: 1px solid #f0f0f0;
}

.review-detail-program {
    font-size: 14px;
    color: #555;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.review-detail-program strong {
    color: #1a1a1a;
    font-weight: 600;
}

.review-detail-program span {
    background-color: #fff3e0;
    color: #ff6b35;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 600;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .reviews-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 24px;
    }

    .review-card {
        padding: 20px;
    }
}

@media (max-width: 768px) {
    .reviews-page {
        margin: 40px 0;
    }

    .reviews-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .review-card {
        padding: 20px;
        height: auto;
    }

    .review-card-header {
        margin-bottom: 16px;
    }

    .review-video-preview {
        margin-bottom: 16px;
        height: 200px;
    }

    .review-video-preview video {
        height: 100%;
        object-fit: cover;
    }

    .review-text {
        height: 200px;
        overflow-y: auto;
    }

    .review-program-badge {
        padding: 0;
    }

    .review-card-footer {
        gap: 8px;
        padding-top: 12px;
    }

    .review-detail {
        padding: 24px;
        margin: 24px 0;
    }

    .review-detail-header {
        gap: 16px;
        margin-bottom: 30px;
        padding-bottom: 24px;
    }

    .review-detail-header .review-avatar {
        width: 60px;
        height: 60px;
        min-width: 60px;
    }

    .review-detail-header .review-avatar-text {
        font-size: 22px;
    }

    .review-detail-header .review-author-name {
        font-size: 24px;
    }

    .review-detail-header .review-author-position {
        font-size: 14px;
    }

    .review-detail-body .review-text-full {
        font-size: 15px;
        line-height: 1.8;
    }
}

@media (max-width: 480px) {
    .review-back-link {
        margin-bottom: 20px;
        font-size: 14px;
    }

    .review-card {
        padding: 24px;
    }

    .review-card-header {
        gap: 12px;
        margin-bottom: 0;
    }

    .review-video-preview {
        margin-bottom: 0;
    }

    .review-avatar {
        width: 45px;
        height: 45px;
        min-width: 45px;
    }

    .review-avatar-text {
        font-size: 16px;
    }

    .review-author-name {
        font-size: 15px;
    }

    .review-author-position {
        font-size: 12px;
    }

    .review-text {
        font-size: 15px;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }

    .review-detail {
        padding: 20px;
        margin: 16px 0;
        border-radius: 8px;
    }

    .review-detail-header {
        flex-direction: column;
        gap: 12px;
        align-items: center;
        text-align: center;
        margin-bottom: 24px;
        padding-bottom: 20px;
    }

    .review-detail-header .review-avatar {
        width: 50px;
        height: 50px;
        min-width: 50px;
    }

    .review-detail-header .review-avatar-text {
        font-size: 20px;
    }

    .review-detail-header .review-author-name {
        font-size: 20px;
        margin: 8px 0 4px 0;
    }

    .review-detail-header .review-author-position {
        font-size: 13px;
    }

    .review-detail-body {
        margin-bottom: 24px;
    }

    .review-detail-body .review-text-full {
        font-size: 14px;
        line-height: 1.7;
        text-align: left;
    }

    .review-detail-footer {
        padding-top: 20px;
    }

    .review-detail-program {
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }
}

/* Modal Styles */
.review-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    overflow: auto;
    animation: fadeIn 0.3s ease;
    -webkit-overflow-scrolling: touch;
}

/* Класс для отключения прокрутки на iOS */
body.modal-open {
    position: fixed;
    width: 100%;
    overflow: hidden;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

html.modal-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
}

.review-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideIn {
    from {
        transform: translateY(-50px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.review-modal-content {
    background-color: #fff;
    margin: auto;
    padding: 30px;
    border-radius: 12px;
    width: 90%;
    max-width: 600px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    position: relative;
    animation: slideIn 0.3s ease;
}

.review-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    font-size: 32px;
    color: #999;
    cursor: pointer;
    padding: 8px;
    transition: color 0.3s ease;
}

.review-modal-close:hover {
    color: #333;
}

.review-modal-header {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    align-items: center;
}

.review-modal-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    font-size: 20px;
}

.review-modal-avatar span {
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
}

.review-modal-author-info {
    flex: 1;
}

.review-modal-author-info h2 {
    margin: 0;
    font-size: 22px;
    color: #1a1a1a;
    font-weight: 600;
}

.review-modal-position {
    margin: 0 0 12px 0;
    font-size: 14px;
    color: #666;
}

.review-modal-program {
    margin: 0;
    font-size: 16px;
    line-height: 1.4;
    margin-top: 4px;
}


/* Video Player */
.review-modal-video {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
    aspect-ratio: 16 / 9;
    max-height: 65vh;
	display: block;
}

.review-modal-video video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

.review-modal-video iframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
}

@media (max-width: 768px) {
    .review-modal-video {
        max-height: 55vh;
    }
}

/* Скрытый контейнер с данными */
#reviewsData {
    display: none !important;
}

/* Адаптивность для модалки */
@media (max-width: 768px) {
    .review-modal-content {
        width: 95%;
        padding: 20px;
    }

    .review-modal-author-info h2 {
        font-size: 18px;
    }

    .review-modal-body {
        font-size: 14px;
    }

    .review-modal-program {

        line-height: 1.3;
    }

}

/* Слайдер отзывов в деталях программы */

.reviews-section {
    margin: 0;
    padding-top: 56px;
    padding-bottom: 26px;
    position: relative;
}

.reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 36px;
}

.reviews-title {
    flex: 1;
}

.reviews-controls {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.reviews-slider-wrapper {
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 0;
}

.reviews-slider {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 0;
    flex: 1;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 20px 48px 30px 0;
}

.reviews-slider::-webkit-scrollbar {
    display: none;
}

.review-slide-item {
    flex: 0 0 calc(25% - 18px);
    min-width: calc(25% - 18px);
    background: white;
    border-radius: 32px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    height: 100%;
    box-shadow: none;
    border: 2px solid white;
    transition: all 0.3s ease;
    cursor: pointer;
    gap: 12px;
}

.review-slide-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
    border: 2px solid #ed7d00;
}

/* Video preview in slider */
/* Note: Main .review-video-preview styles defined above */

.review-slide-item .review-video-preview {
    height: 240px;
}

.review-slide-item .review-video-preview video {
    /* iPhone fixes */
    appearance: none;
    -webkit-appearance: none;
    user-select: none;
    -webkit-user-select: none;
}

.review-video-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    background: #13a51f9e;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 2;
}

.review-slide-item:hover .review-video-play-button {
    transform: translate(-50%, -50%) scale(1.1);
    box-shadow: 0 4px 16px rgba(19, 165, 31, 0.3);
}

.review-video-play-button svg {
    width: 24px;
    height: 24px;
    margin-left: 2px;
}

.review-slide-video .review-slide-content {
    margin-bottom: 0;
}

.review-slide-content {
    display: flex;
    gap: 16px;
    align-items: center;
}

.review-slide-avatar {
    width: 43px;
    height: 43px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-weight: 600;
    color: white;
    font-size: 16px;
    text-transform: uppercase;
}

.review-slide-info {
    flex: 1;
}

.review-slide-name {
    margin: 0 0 0 0;
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.4;
}

.review-slide-position {
    margin: 0;
    font-size: 13px;
    color: #888;
    display: none;
}

.review-slide-text {
    font-style: normal;
    font-weight: 400;
    margin: 0 0 16px 0;
    flex: 1;
}

.reviews-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: white;
    color: #000;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.reviews-btn:hover {
    background: #46b74f;
    color: white;
    box-shadow: 0 4px 12px rgba(70, 183, 79, 0.2);
}

.reviews-btn:active {
    transform: scale(0.95);
}

.reviews-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

.reviews-btn:hover[disabled] {
    background: white;
    color: #000;
    box-shadow: none;
    transform: scale(1);
}

.reviews-btn svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
}

.reviews-section-footer {
    text-align: center;
    margin-top: 30px;
}

.reviews-section-link {
    display: inline-block;
    padding: 16px 40px;
    background: white;
    border: 2px solid #13a51f;
    border-radius: 8px;
    color: #13a51f;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    cursor: pointer;
}

.reviews-section-link:hover {
    background: #13a51f;
    color: white;
}

/* Адаптив для слайдера */
@media (max-width: 1440px) {
    .review-slide-item {
        flex: 0 0 calc(33.333% - 16px);
        min-width: calc(33.333% - 16px);
    }
}

@media (max-width: 1024px) {
    .review-slide-item {
        flex: 0 0 calc(50% - 12px);
        min-width: calc(50% - 12px);
    }
}

@media (max-width: 768px) {
    .reviews-section {
        margin: 16px 0;
        padding: 0;
    }

    .reviews-header {
        flex-direction: row;
        align-items: flex-start;
        gap: 15px;
        margin-bottom: 0;
    }

    .reviews-title {
        margin-bottom: 0;
    }

    .reviews-controls {
        justify-content: flex-start;
    }

    .review-slide-item {
        flex: 0 0 calc(100% - 0px);
        min-width: 100%;
        padding: 20px;
    }

    .reviews-slider {
        gap: 16px;
    }

    .reviews-btn {
        width: 50px;
        height: 50px;
    }

    .reviews-btn svg {
        width: 20px;
        height: 20px;
    }

    .review-slide-avatar {
        width: 40px;
        height: 40px;
        font-size: 13px;
    }

    .review-slide-name {
        font-size: 15px;
    }

    .review-slide-position {
        font-size: 12px;
    }

    .review-slide-text {
        font-size: 14px;
    }
}

/* Форма отзывов */

.contactUs__formContainer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: stretch;
}

.contactUs__formContent {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.contactUs__formImage {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    border-radius: var(--border-radius);
    overflow: hidden;
    background-size: cover;
    background-position: center;
}

.contactUs__formImg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Стили для Bitrix24 формы */
.contactUs__formContent .bx-form-container {
    background: transparent !important;
    border: none !important;
}

.contactUs__formContent .bx-form-wrapper {
    padding: 0 !important;
}

/* Адаптив для планшетов */
@media (max-width: 1200px) {

    .contactUs__formContainer {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .contactUs__formTitle {
        font-size: 28px;
    }

    .contactUs__formImage {
        min-height: 400px;
    }
}

/* Адаптив для мобильных */
@media (max-width: 767px) {

    .contactUs__form {
        margin-top: 16px;
        margin-bottom: 0;
    }

    .contactUs__form.white-box {
margin: 56px 0 28px;
    }

    .contactUs__formContainer {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 24px;
    }

    .contactUs__formTitle {
        font-size: 22px;
    }

    .contactUs__socialLink {
        width: 44px;
        height: 44px;
    }

    .contactUs__socialIcon {
        width: 36px;
        height: 36px;
    }

    .contactUs__formImage {
        min-height: 300px;
        order: 1;
    }

    .contactUs__formContent {
        order: 2;
    }

    .contactUs__content {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 24px;
        margin-bottom: 56px;
    }

    .contactUs__details {
        grid-column: 1 / 2;
    }

    .contactUs__mapContent iframe {
        height: 300px;
    }

    .contactUs__content strong {
        font-size: 20px;
    }

    .contactUs__map {
        margin-top: 16px;
        margin-bottom: 16px;
    }
}

/* Review Modal Styles */
.review-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1000;
    justify-content: center;
    align-items: center;
}

.review-modal.active {
    display: flex;
}

.review-modal-content {
    position: relative;
    background: white;
    border-radius: 32px;
    padding: 40px;
    max-width: 600px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.review-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    font-size: 32px;
    color: #999;
    cursor: pointer;
    padding: 8px;
    transition: color 0.3s ease;
}

.review-modal-close:hover {
    color: #333;
}

.review-modal-header {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    align-items: center;

}



/* Modal animation */
.review-modal {
    animation: fadeIn 0.3s ease-in-out;
}

.review-modal.active .review-modal-content {
    animation: slideUp 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Modal video styles */
.review-modal-video {
    width: 100%;
    margin-bottom: 16px;
    aspect-ratio: 16 / 9;
    max-height: 65vh;
    overflow: hidden;
    background: #000;
}

.review-modal-video video {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 16px;
    background: #000;
    object-fit: contain;
    /* iPhone fixes */
    appearance: none;
    -webkit-appearance: none;
    user-select: none;
    -webkit-user-select: none;
}

.review-modal-video iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

/* Prevent body scroll when modal open */
body.modal-open {
    overflow: hidden;
}

/* Responsive modal */
@media (max-width: 768px) {
    .review-modal-content {
        padding: 24px;
        border-radius: 24px;
        max-width: 95%;
        max-height: 90vh;
    }

    .review-modal-header {
        gap: 16px;
        margin-bottom: 20px;
        padding-bottom: 15px;
    }

    .review-modal-avatar {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    .review-modal-author-info h2 {
        font-size: 20px;
    }

    .review-modal-position {
        font-size: 14px;
    }

    .review-modal-close {
        top: 8px;
        right: 8px;
        font-size: 28px;
        padding: 4px;
    }
}
/* End */


/* Start:/local/templates/belgu_do/components/arturgolubev/search.title/.default/style.css?176960547617265*/
/* div.title-search-result {
	display: block !important;
} */

.bx_smart_searche,
.bx_smart_searche *,
.bx-searchtitle,
.bx-searchtitle * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	font-family: Helvetica, Arial, sans-serif;
	font-size: 14px;
}

.bx-searchtitle {
	margin: 10px 0 0;
}

.bx-searchtitle-history {
	margin-top: 5px;
}

.bx-searchtitle-history a {
	color: #222;
	text-decoration: underline;
}

.bx-searchtitle-history a:hover {
	text-decoration: none;
}

.bx-searchtitle-popup-history {
	padding: 0 8px 8px 8px;
}

.bx-searchtitle-popup-history-title {
	font-size: 16px;
}

.bx-searchtitle-popup-history-item {
	padding: 4px 0;
}

.bx-searchtitle-popup-history-item::before {
	content: "";
	width: 16px;
	height: 16px;
	background: url(/local/templates/belgu_do/components/arturgolubev/search.title/.default/images/search-icon.svg) center center no-repeat;
	background-size: 12px auto;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}

.bx-searchtitle-popup-history a {
	color: #222;
	text-decoration: underline;
	vertical-align: middle;
}

.bx-searchtitle-popup-history a:hover {
	text-decoration: none;
}

.bx-searchtitle .bx-block-title {
	font-family: "Open Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
	color: #343434;
	text-transform: uppercase;
	font-size: 12px;
	margin-bottom: 9px;
	font-weight: 600;
}

.bx-searchtitle .bx-input-group {
	position: relative;
	display: flex;
	border-collapse: separate;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.bx-searchtitle .bx-input-group {}

.bx-searchtitle .bx-input-group .bx-form-control {
	display: table-cell;
	position: relative;
	z-index: 2;
	float: left;
	width: 100%;
	margin-bottom: 0;
	display: block;
	width: 100%;
	height: 34px;
	padding: 6px 12px;
	font-size: 16px;
	line-height: 1.42857143;
	color: #333;
	background-color: #f8fafc;
	border: 1px solid #d5dadc;
	border-right: none;
	border-radius: 1px 0 0 1px;
	outline: none;
	box-shadow: none !important;
	-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.bx-searchtitle .bx-input-group .bx-form-control:focus {
	background-color: #fff;
}

.bx-ios .bx-searchtitle .bx-input-group .bx-form-control {
	/* Fix of input shadow for IOS browsers. */
	background-image: -webkit-linear-gradient(#f8fafc 0%, #f8fafc 100%);
	background-image: linear-gradient(#f8fafc 0%, #f8fafc 100%);
}

.bx-searchtitle .bx-input-group-btn {
	position: relative;
	font-size: 0;
	width: 1%;
	white-space: nowrap;
	vertical-align: middle;
	display: table-cell;
	line-height: normal;
}

.bx-searchtitle .bx-input-group-btn button {
	position: relative;
	border: none;
	background: url(/local/templates/belgu_do/components/arturgolubev/search.title/.default/images/search-icon.png) center center no-repeat #95a1a8;
	display: inline-block;
	margin-bottom: 0;
	cursor: pointer;
	padding: 0;
	border-radius: 0 1px 1px 0;
	color: #fff;
	font-size: 16px;
	line-height: 1.42857143;
	height: 34px;
	width: 40px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

.bx-searchtitle .bx-input-group-btn button:hover {
	background-color: #1484CE;
}


div.title-search-result {
	border: 0 none !important;
	border-top: 0 none;
	display: none;
	overflow: hidden;
	z-index: 999;
	min-width: 200px;
	margin-top: 3px;
	background-color: #FFF;
	/* border-top: 0 none; */
	border-radius: 16px;
	box-shadow: 0px 0px 7px -2px #d6d6d6;

	/* display: block !important; */
}

div.title-search-fader {
	display: none;
	background-image: url('/local/templates/belgu_do/components/arturgolubev/search.title/.default/images/fader.png');
	background-position: right top;
	background-repeat: repeat-y;
	position: absolute;
}

p.title-search-preview {
	font-size: 12px;
}

div.title-search-result td.title-search-price span {
	font-size: 26px;
}

/*========================*/
.bx_smart_searche {
	padding-top: 8px;

	border-top: 0 none;
	border-radius: 0 0 3px 3px;
}

.bx_smart_searche .bx_info_wrap {
	margin-left: 85px;
}

.bx_smart_searche .bx_img_element {
	float: left;
	padding: 5px;
	width: 75px;
	text-align: center;
}

.bx_smart_searche .bx_item_block {
	min-height: 65px;
	position: relative;
}

.bx_smart_searche .bx_image {
	/* width: 45px;
	height: 45px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	border: 1px solid #e8e8e8; */
	display: inline-block;
	max-width: 100%;
}

.bx_smart_searche .bx_image.empty_image {
	background-image: url(/local/templates/belgu_do/components/arturgolubev/search.title/.default/image/noimg.png);
}

.bx_smart_searche .bx_item_element {
	padding: 8px 0;
}

.bx_smart_searche .bx_item_element_all_result {
	text-align: center;
}

.bx_smart_searche .bx_item_element hr {
	margin: 0;
	border: none;
	border-bottom: 1px solid #e5e5e5;
}

.bx_smart_searche .bx_item_element a {
	margin-top: 0;
	display: inline-block;
	text-decoration: none;
	font-weight: bold;
}

.bx_smart_searche .bx_item_element a:hover,
.bx_smart_searche .bx_item_element a:hover b {
	text-decoration: none;
}

.bx_smart_searche .bx_item_preview_text {
	font-size: 13px;
	padding: 5px 10px 5px 0;
}

.bx_smart_searche .bx_price {
	font-weight: bold;
	font-size: 15px;
	margin-top: 5px;
}

.bx_smart_searche .bx_price .old {
	font-weight: normal;
	text-decoration: line-through;
	color: #636363;
	font-size: 12px;
	vertical-align: middle;
}

.bx_smart_searche .bx_item_block.all_result {
	min-height: 0
}

.bx_smart_searche .bx_item_block.others_result {
	min-height: 0;
	line-height: 12px;
	padding: 0;
}

.bx_smart_searche .bx_item_block.all_result .all_result_button {
	display: inline-block;
	font-size: 14px;
	background-color: #1485CE;
	border: 1px solid;
	border-color: #1485CE;
	color: #FFF;
	padding: 0 22px;
	height: 34px;
	text-decoration: none;
	border-radius: 2px;
	margin: 0 0 8px;

	line-height: 34px;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: .5px;
}

.bx_smart_searche .bx_item_block_title {
	font-weight: bold;
	font-size: 16px;
	margin: 4px 8px;
}

.bx_smart_searche .bx_item_block_href {
	display: block;
	text-decoration: none;
	margin-bottom: 5px;
	padding: 8px;
	line-height: 14px;
}

.bx_smart_searche .bx_item_block_href:hover {
	background-color: #feeed2;
}

.bx_smart_searche .bx_item_block_hrline {
	border-bottom: 1px solid #f5a61c;
	margin: 0 8px 5px;
}

.bx_item_block_item_clear {
	display: block;
	clear: both;
}

.bx_smart_searche .bx_item_block_item_info_wrap {
	display: block;
}

.bx_smart_searche .bx_item_block_item_info_wrap.wpic {
	padding-left: 39px;
}

.bx_smart_searche .bx_item_block_item_info {
	display: block;
}

.bx_smart_searche .bx_item_block_href_category_title {
	color: #a2a2a2;
	/* font-weight: bold; */
}

.bx_smart_searche .bx_item_block_href_category_name {
	color: #f5a61c;
	font-weight: bold;
	text-transform: uppercase;
}

.bx_smart_searche .bx_item_block_item_image {
	width: 34px;
	height: 34px;
	float: left;
	margin-right: 5px;
	position: relative;
	color: #333;
}

.bx_smart_searche .bx_item_block_item_image img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	max-width: 100%;
	max-height: 100%;
}

.bx_item_block_item_image svg {}

.bx_smart_searche .bx_item_block_item_name {
	color: #333;
	overflow: hidden;
	height: 34px;
	display: block;
	line-height: 17px;
	display: flex;
}

.bx_smart_searche .bx_item_block_item_name_flex_align {
	margin: auto 0;
}

.bx_smart_searche .bx_item_block_item_simple_name {
	color: #333;
	display: block;
	line-height: 17px;
}

.bx_smart_searche .bx_item_block_item_name b,
.bx_smart_searche .bx_item_block_item_simple_name b {
	color: #f5a61c;
}

.bx_smart_searche .bx_item_block_item_price {
	float: right;
	text-align: right;
	color: #333;
	line-height: 17px;
	padding-left: 5px;
}

.bx_smart_searche .bx_item_block_item_price.bx_item_block_item_price_only_one {
	line-height: 34px;
}

.bx_smart_searche .bx_item_block_item_price .bx_price_new {
	white-space: nowrap;
	font-weight: bold;
	display: block;
}

.bx_smart_searche .bx_item_block_item_price .bx_price_old {
	white-space: nowrap;
	text-decoration: line-through;
}

.bx_smart_searche .bx_item_block_item_text {
	color: #9b9b9b;
	display: block;
	margin-top: 8px;
	font-size: 13px;
	line-height: 15px;
}

.bx_smart_searche .bx_item_block_item_props {
	color: #9b9b9b;
	display: block;
	margin-top: 8px;
	font-size: 13px;
	line-height: 15px;
}

.bx_smart_searche .bx_item_block_item_text.wpic,
.bx_smart_searche .bx_item_block_item_props.wpic {
	/* padding-left: 39px; */
}

.bx_item_block_item_prop_item {
	display: block;
}

.bx_smart_no_result_find {
	padding: 0 8px 8px;
}


/* clear cross */
.bx-searchtitle .bx-searchtitle-clear {
    position: absolute;
    top: 14px;
    right: 10px;
    width: 28px;
    height: 28px;
    z-index: 4;
    display: none;
    font-size: 24px;
    line-height: 28px;
    text-align: center;
    cursor: pointer;
    color: #696969;
}

.bx-searchtitle .bx-searchtitle-clear:after {
	display: inline-block;
	content: "\00d7";
}

/* voice input */
.bx-searchtitle .bx-searchtitle-voice {
	position: absolute;
	top: 3px;
	right: 110%;
	width: 28px;
	height: 28px;
	z-index: 4;
	display: none;
	font-size: 28px;
	line-height: 28px;
	text-align: center;
	cursor: pointer;
	color: #666;
	background: url(/local/templates/belgu_do/components/arturgolubev/search.title/.default/images/voice.svg?v=3) center center no-repeat;
	background-size: 22px auto;
}

.bx-searchtitle .bx-searchtitle-voice.voice-show {
	display: block;
}

.bx-searchtitle .bx-searchtitle-voice.active::after,
.bx-searchtitle .bx-searchtitle-voice.active::before {
	content: '';
	position: absolute;
	border: 3px solid #3D64FF;
	left: -20px;
	opacity: 0;
	right: -20px;
	top: -20px;
	bottom: -20px;
	border-radius: 50%;
	animation: searchpulse 2.5s linear infinite;
}

.bx-searchtitle .bx-searchtitle-voice.active::after {
	animation-delay: 1.25s;
}

@keyframes searchpulse {
	0% {
		transform: scale(0.5);
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	100% {
		transform: scale(1.2);
		opacity: 0;
	}
}



/* preloader base */
.bx-searchtitle .bx-searchtitle-preloader {
	position: absolute;
	top: 14px;
	right: 110%;
	width: 30px;
	height: 30px;
	z-index: 5;
	display: none;
	/* display: block; */
}

.bx-searchtitle .bx-searchtitle-preloader.view {
	background: url(/local/templates/belgu_do/components/arturgolubev/search.title/.default/images/loader_orange.gif) center center no-repeat #ffffff00;
}



/* blue */
.bx_smart_searche.theme-blue .bx_item_block_item_image {
	color: #0083d1;
}

.bx-searchtitle.theme-blue .bx-input-group .bx-form-control {
	border-color: #0083d1;
}

.bx-searchtitle.theme-blue .bx-searchtitle-preloader.view {
	background-image: url(/local/templates/belgu_do/components/arturgolubev/search.title/.default/images/loader_blue.gif);
}

.bx_smart_searche.theme-blue .bx_item_block.all_result .all_result_button {
	background-color: #0083d1;
	border-color: #0083d1;
}

.bx-searchtitle.theme-blue .bx-input-group-btn button {
	background-color: #0083d1;
	border-color: #0083d1;
	color: #FFF;
}



.bx_smart_searche.theme-blue .bx_item_element a b {
	color: #5ca6e4;
}

.bx_smart_searche.theme-blue .bx_item_block_href:hover {
	background-color: #13a51f24;
}

.bx_smart_searche.theme-blue .bx_item_block_href_category_name {
	color: #FF7C00;
}

.bx_smart_searche.theme-blue .bx_item_block_item_name b,
.bx_smart_searche.theme-blue .bx_item_block_item_simple_name b {
	color: #FF7C00;
}

.bx_smart_searche.theme-blue .bx_item_block_hrline {
	border-color: #FF7C00;
}

/* black */
.bx_smart_searche.theme-black .bx_item_block_item_image {
	color: #333;
}

.bx-searchtitle.theme-black .bx-input-group .bx-form-control {
	border-color: #333;
}

.bx-searchtitle.theme-black .bx-searchtitle-preloader.view {
	background-image: url(/local/templates/belgu_do/components/arturgolubev/search.title/.default/images/loader_black.gif);
}

.bx_smart_searche.theme-black .bx_item_block.all_result .all_result_button {
	background-color: #333;
	border-color: #333;
}

.bx-searchtitle.theme-black .bx-input-group-btn button {
	background-color: #333;
	border-color: #333;
	color: #FFF;
}

.bx-searchtitle.theme-black .bx-input-group-btn button:hover,
.bx_smart_searche.theme-black .bx_item_block.all_result .all_result_button:hover {
	background-color: #5c5c5c;
	border-color: #5c5c5c;
	text-decoration: none;
}

.bx_smart_searche.theme-black .bx_item_element a b {
	color: #5c5c5c;
}

.bx_smart_searche.theme-black {
	/* border:1px solid #333; */
	border-top: 0 none;
	border-radius: 0 0 3px 3px;
}

.bx_smart_searche.theme-black .bx_item_block_href:hover {
	background-color: #eaeaea;
}

.bx_smart_searche.theme-black .bx_item_block_href_category_name {
	color: #333;
}

.bx_smart_searche.theme-black .bx_item_block_item_name b,
.bx_smart_searche.theme-black .bx_item_block_item_simple_name b {
	color: #333;
}

.bx_smart_searche.theme-black .bx_item_block_hrline {
	border-color: #333;
}

/* green */
.bx_smart_searche.theme-green .bx_item_block_item_image {
	color: #159ebb;
}

.bx-searchtitle.theme-green .bx-input-group .bx-form-control {
	border-color: #159ebb;
}

.bx-searchtitle.theme-green .bx-searchtitle-preloader.view {
	background-image: url(/local/templates/belgu_do/components/arturgolubev/search.title/.default/images/loader_green.gif);
}

.bx_smart_searche.theme-green .bx_item_block.all_result .all_result_button {
	background-color: #159ebb;
	border-color: #159ebb;
}

.bx-searchtitle.theme-green .bx-input-group-btn button {
	background-color: #159ebb;
	border-color: #159ebb;
	color: #FFF;
}

.bx-searchtitle.theme-green .bx-input-group-btn button:hover,
.bx_smart_searche.theme-green .bx_item_block.all_result .all_result_button:hover {
	background-color: #44b1c9;
	border-color: #44b1c9;
	text-decoration: none;
}

.bx_smart_searche.theme-green .bx_item_element a b {
	color: #44b1c9;
}

.bx_smart_searche.theme-green .bx_item_block_href:hover {
	background-color: #d0ebf1;
}

.bx_smart_searche.theme-green .bx_item_block_href_category_name {
	color: #159ebb;
}

.bx_smart_searche.theme-green .bx_item_block_item_name b,
.bx_smart_searche.theme-green .bx_item_block_item_simple_name b {
	color: #159ebb;
}

.bx_smart_searche.theme-green .bx_item_block_hrline {
	border-color: #159ebb;
}

/* red */
.bx_smart_searche.theme-red .bx_item_block_item_image {
	color: #E22B2B;
}

.bx-searchtitle.theme-red .bx-input-group .bx-form-control {
	border-color: #E22B2B;
}

.bx-searchtitle.theme-red .bx-searchtitle-preloader.view {
	background-image: url(/local/templates/belgu_do/components/arturgolubev/search.title/.default/images/loader_red.gif);
}

.bx_smart_searche.theme-red .bx_item_block.all_result .all_result_button {
	background-color: #E22B2B;
	border-color: #E22B2B;
}

.bx-searchtitle.theme-red .bx-input-group-btn button {
	background-color: #E22B2B;
	border-color: #E22B2B;
	color: #FFF;
}

.bx-searchtitle.theme-red .bx-input-group-btn button:hover,
.bx_smart_searche.theme-red .bx_item_block.all_result .all_result_button:hover {
	background-color: #e95c5c;
	border-color: #e95c5c;
	text-decoration: none;
}

.bx_smart_searche.theme-red .bx_item_element a b {
	color: #e95c5c;
}

.bx_smart_searche.theme-green .bx_item_block_href:hover {
	background-color: #f9d4d4;
}

.bx_smart_searche.theme-red .bx_item_block_href_category_name {
	color: #E22B2B;
}

.bx_smart_searche.theme-red .bx_item_block_item_name b,
.bx_smart_searche.theme-red .bx_item_block_item_simple_name b {
	color: #E22B2B;
}

.bx_smart_searche.theme-red .bx_item_block_hrline {
	border-color: #E22B2B;
}

/* yellow */
.bx_smart_searche.theme-yellow .bx_item_block_item_image {
	color: #F9A91D;
}

.bx-searchtitle.theme-yellow .bx-input-group .bx-form-control {
	border-color: #F9A91D;
}

.bx-searchtitle.theme-yellow .bx-searchtitle-preloader.view {
	background-image: url(/local/templates/belgu_do/components/arturgolubev/search.title/.default/images/loader_yellow.gif);
}

.bx_smart_searche.theme-yellow .bx_item_block.all_result .all_result_button {
	background-color: #F9A91D;
	border-color: #F9A91D;
}

.bx-searchtitle.theme-yellow .bx-input-group-btn button {
	background-color: #F9A91D;
	border-color: #F9A91D;
	color: #FFF;
}

.bx-searchtitle.theme-yellow .bx-input-group-btn button:hover,
.bx_smart_searche.theme-yellow .bx_item_block.all_result .all_result_button:hover {
	background-color: #faba4a;
	border-color: #faba4a;
	text-decoration: none;
}

.bx_smart_searche.theme-yellow .bx_item_element a b {
	color: #faba4a;
}

.bx_smart_searche.theme-yellow .bx_item_block_href_category_name {
	color: #F9A91D;
}

.bx_smart_searche.theme-yellow .bx_item_block_item_name b,
.bx_smart_searche.theme-yellow .bx_item_block_item_simple_name b {
	color: #F9A91D;
}

.bx_smart_searche.theme-yellow .bx_item_block_hrline {
	border-color: #F9A91D;
}

#smart-title-search-input {
    border-radius: 16px;
    border: 2px solid #fff;
    background: #FFF;
    display: flex;
    height: 60px;
    padding: 14px 8px 14px 48px;
    align-items: center;
    gap: 21px;
    flex-shrink: 0;
    aspect-ratio: 256/25;
}

#smart-title-search-input:focus {
	border-color: #FF7C00;
}

.bx-searchtitle .bx-input-group-btn {
    position: absolute;
    font-size: 0;
    white-space: nowrap;
    vertical-align: middle;
    display: flex;
    line-height: normal;
    z-index: 10;
}

.bx-searchtitle.theme-blue .bx-input-group-btn button {
    background-color: transparent;
    border-color: transparent;
    color: var(--color-accent);
    width: 50px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    min-width: 50px;
}

.bx-searchtitle-history {
    margin-top: 5px;
    margin-left: 15px;
    color: #929292;
}
/* End */


/* Start:/local/components/custom/cookie.consent/templates/.default/style.css?1769605476805*/
.cookie-consent {
    position: fixed;
    bottom: 30px;
    left: 30px;
    right: 0;
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    z-index: 9999;
    width: 380px;
    flex-direction: column;
    border-radius: 16px;
}

.cookie-consent__text {
    margin-right: 0;
    font-size: 13px;
    color: #333;
    margin-bottom: 10px;
}

@media (max-width: 999px) {
    .cookie-consent {
        position: fixed;
        bottom: 30px;
        left: 10px;
        right: 10px;
        width: auto;
    }
}

.btn-sm {
    padding: 8px 24px;
    font-size: 14px;
    font-weight: normal;
}
/* End */
/* /local/templates/belgu_do/styles.css?1776347138130080 */
/* /local/templates/belgu_do/components/bitrix/system.pagenavigation/round/style.min.css?17696054762530 */
/* /local/templates/belgu_do/components/bitrix/news/programs/styles.css?177634677338271 */
/* /local/templates/belgu_do/components/bitrix/news.list/reviews/style.css?177634673432034 */
/* /local/templates/belgu_do/components/arturgolubev/search.title/.default/style.css?176960547617265 */
/* /local/components/custom/cookie.consent/templates/.default/style.css?1769605476805 */
