/* BizFin Pro: пользовательские правки производительности 2025-11-10 (оптимизировано 2025-12-02) */

/* ============================================================================
   ЛОКАЛЬНЫЕ ШРИФТЫ (критично для производительности)
   ============================================================================ */

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../uploads/elementor/google-fonts/fonts/roboto-0585f5a7.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../uploads/elementor/google-fonts/fonts/roboto-31b09f96.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../uploads/elementor/google-fonts/fonts/roboto-b8c55b0e.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../uploads/elementor/google-fonts/fonts/roboto-6fa0783f.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto Slab';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../uploads/elementor/google-fonts/fonts/robotoslab-09b550e6.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto Slab';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../uploads/elementor/google-fonts/fonts/robotoslab-83dfed57.woff2') format('woff2');
}

:root {
    --bizfin-roboto: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
    --bizfin-robotoslab: 'Roboto Slab', 'Georgia', serif;
}

/* ============================================================================
   ИСПРАВЛЕНИЕ ИЗОБРАЖЕНИЙ НА ГЛАВНОЙ (объединено, дубли удалены)
   ============================================================================ */

/* Общие правила для всех изображений на главной */
.elementor-127 .elementor-widget-image img,
.elementor-127 .elementor-element.elementor-element-094e26e img,
.elementor-127 .elementor-element.elementor-element-cfd5fce img,
.elementor-127 .elementor-element.elementor-element-c709810 img {
    width: 100%;
    max-width: 100%;
    height: auto !important;
    object-fit: cover;
    border-radius: 25px !important; /* Применяем скругление ко всем трем изображениям */
}

/* Специфичные правила для фото генерального директора (094e26e) */
.elementor-127 .elementor-element.elementor-element-094e26e {
    --container-widget-width: clamp(240px, 88vw, 424px);
    --container-widget-width-tablet: clamp(280px, 70vw, 360px);
    --container-widget-width-mobile: 100%;
    --container-widget-flex-grow: 0;
}

.elementor-127 .elementor-element.elementor-element-094e26e img {
    width: clamp(240px, 88vw, 424px);
    margin-left: auto;
    margin-right: auto;
}

/* КРИТИЧНО: Принудительное скругление для фото CEO (максимальная специфичность) */
.elementor-127 .elementor-element.elementor-element-094e26e .elementor-widget-container img,
.elementor-127 .elementor-element.elementor-element-094e26e img.attachment-full {
    border-radius: 25px !important;
    overflow: hidden;
}

@media (max-width: 640px) {
    .elementor-127 .elementor-element.elementor-element-094e26e {
        --container-widget-width: 100%;
    }

    .elementor-127 .elementor-element.elementor-element-094e26e img {
        width: min(100%, 424px);
    }
}

/* ============================================================================
   ЦВЕТА КНОПОК (оптимизировано, убраны лишние !important)
   ============================================================================ */

/* ВСЕ КНОПКИ - ЖЕЛТЫЕ С ЧЕРНЫМ ТЕКСТОМ */
.ast-button,
.button,
.wp-block-button__link,
.wp-element-button,
.elementor .elementor-button:not(.elementor-button--outline),
.elementor .elementor-button-link:not(.elementor-button--outline) {
    background: #FFD700 !important;
    color: #000000 !important;
    border-color: #FFD700 !important;
}

.elementor .elementor-button span,
.elementor .elementor-button .elementor-button-content-wrapper,
.elementor .elementor-button .elementor-button-text {
    color: #000000 !important;
}

/* Hover состояние для кнопок */
.ast-button:hover,
.button:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
.elementor .elementor-button:not(.elementor-button--outline):hover,
.elementor .elementor-button-link:not(.elementor-button--outline):hover {
    background: #FFC107 !important;
    color: #000000 !important;
    border-color: #FFC107 !important;
}

/* Кнопки-обводки - черная обводка с желтым фоном при hover */
.ast-outline-button,
.wp-block-button__link.is-style-outline,
.elementor .elementor-button.elementor-button--outline,
.elementor .elementor-button.elementor-size-sm.elementor-button--skin-outline,
.elementor .elementor-button.elementor-button-outline {
    background: transparent !important;
    color: #000000 !important;
    border-color: #000000 !important;
}

.ast-outline-button:hover,
.wp-block-button__link.is-style-outline:hover,
.elementor .elementor-button.elementor-button--outline:hover,
.elementor .elementor-button.elementor-size-sm.elementor-button--skin-outline:hover,
.elementor .elementor-button.elementor-button-outline:hover {
    background: #FFD700 !important;
    color: #000000 !important;
    border-color: #FFD700 !important;
}

/* ============================================================================
   ЦВЕТА ССЫЛОК В ШАПКЕ (оптимизировано)
   ============================================================================ */

/* Базовый цвет ссылок в шапке - ЧЕРНЫЙ */
.site-header .ast-builder-layout-element a,
.site-header .main-header-menu .menu-link,
.site-header .ast-builder-menu-1 .menu-link,
.site-header .ast-builder-menu-1 .ast-menu-toggle,
.site-header .site-title a,
.main-header-menu .menu-item > .menu-link,
#astra-footer-menu .menu-item > .menu-link,
.ast-header-break-point .main-header-menu .menu-item > .menu-link,
.ast-header-break-point #astra-mobile-header .menu-item > .menu-link {
    color: #000000 !important;
}

/* Иконка мобильного меню (гамбургер) - ЧЕРНЫЙ */
.ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg,
.ast-mobile-menu-buttons .ast-mobile-svg,
[data-section="section-header-mobile-trigger"] .ast-mobile-svg {
    fill: #000000 !important;
}

/* Hover и активные состояния - ЖЕЛТЫЙ */
.site-header .ast-builder-layout-element a:hover,
.site-header .ast-builder-layout-element a:focus,
.site-header .main-header-menu .menu-item:hover > .menu-link,
.site-header .main-header-menu .menu-item:focus > .menu-link,
.site-header .main-header-menu .menu-item.current-menu-item > .menu-link,
.site-header .main-header-menu .menu-item.current-menu-ancestor > .menu-link,
.site-header .ast-builder-menu-1 .menu-item:hover > .menu-link,
.site-header .ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.main-header-menu .menu-item:hover > .menu-link,
.main-header-menu .menu-item:focus > .menu-link,
.main-header-menu .menu-item.current-menu-item > .menu-link,
.main-header-menu .menu-item.current-menu-ancestor > .menu-link {
    color: #FFD700 !important;
}

/* ============================================================================
   КАСТОМНЫЙ БЛОК ПЕРЕД ФУТЕРОМ (критично, без этого блок не работает)
   ============================================================================ */

.bizfin-before-footer {
    background: #f5f5f5;
    padding: 80px 0 60px;
}

/* Принудительно черный цвет для ВСЕХ ссылок в футере */
.bizfin-before-footer a {
    color: #000000 !important;
}

.bizfin-before-footer a:hover,
.bizfin-before-footer a:focus {
    color: #000000 !important;
}

.bizfin-before-footer__inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px;
}

.bizfin-footer-col__logo {
    max-width: 220px;
    width: 100%;
    height: auto;
    margin-bottom: 16px;
    border-radius: 16px;
}

.bizfin-footer-col__title {
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 700;
    color: #000000;
}

.bizfin-footer-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
    color: #000000;
    font-size: 15px;
    line-height: 1.5;
}

.bizfin-footer-list__item a {
    color: #000000 !important;
    text-decoration: none;
}

.bizfin-footer-list__item a:hover,
.bizfin-footer-list__item a:focus {
    color: #000000 !important;
    text-decoration: underline;
}

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

.bizfin-footer-social__link,
.bizfin-footer-social__link span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    border-radius: 50px;
    padding: 0 20px;
    background: #FFD700;
    color: #000000;
    font-weight: 600;
    text-decoration: none;
}

.bizfin-footer-social__link:hover,
.bizfin-footer-social__link:focus {
    background: #FFC107;
    color: #000000;
}

/* ============================================================================
   АДАПТИВНЫЕ СТИЛИ
   ============================================================================ */

/* Планшеты */
@media (max-width: 1024px) {
    .bizfin-before-footer {
        padding: 64px 0 48px;
    }

    .bizfin-before-footer__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }
}

/* Мобильные устройства */
@media (max-width: 640px) {
    .bizfin-before-footer__inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .bizfin-footer-col__logo {
        max-width: 180px;
    }

    /* Fix горизонтальной прокрутки на мобильных (критично!) */
    .bf-bleed {
        left: 0 !important;
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ============================================================================
   УЛУЧШЕНИЕ ЧИТАЕМОСТИ СТАТЕЙ
   ============================================================================ */

@media (min-width: 1024px) {
    .single-post .site-content > .ast-container {
        max-width: min(1280px, calc(100% - 80px));
        padding-left: 0;
        padding-right: 0;
    }

    .single-post .entry-content > :not(.alignfull):not(.alignwide) {
        max-width: min(1200px, calc(100% - 80px));
        margin-left: auto;
        margin-right: auto;
    }
}

/* ============================================================================
   КНОПКА SCROLL TO TOP (ЖЕЛТАЯ) - ПЕРЕБИВАЕМ INLINE СТИЛИ
   ============================================================================ */

#ast-scroll-top,
#ast-scroll-top:hover,
#ast-scroll-top:focus,
#ast-scroll-top:active {
    background: linear-gradient(135deg, #FFC107 0%, #FFD700 100%) !important; /* Желтый градиент */
    background-color: #FFD700 !important;
    background-image: linear-gradient(135deg, #FFC107 0%, #FFD700 100%) !important;
    border-color: #FFD700 !important;
    box-shadow: 0 14px 32px rgba(255, 215, 0, 0.35) !important; /* Желтая тень */
}

#ast-scroll-top svg path,
#ast-scroll-top .ast-icon svg path {
    fill: #000000 !important; /* Черная иконка стрелки */
}

#ast-scroll-top:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 36px rgba(255, 215, 0, 0.45) !important;
}

/* ============================================================================
   ИСПРАВЛЕНИЕ МОБИЛЬНОГО МЕНЮ (критично!)
   ============================================================================ */

/* Скрываем мобильное меню по умолчанию на всех экранах */
.hfe-nav-menu nav,
nav.hfe-nav-menu__layout-horizontal,
nav.hfe-nav-menu__layout-vertical,
nav.hfe-nav-menu__layout-expandible,
.hfe-nav-menu__layout-expandible nav,
.elementor-widget-hfe-nav-menu nav {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    background: #ffffff;
    z-index: 99999;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 10px 0;
}

/* Показываем меню, когда оно активно */
.hfe-nav-menu nav.menu-is-active,
nav.hfe-nav-menu__layout-horizontal.menu-is-active,
nav.hfe-nav-menu__layout-vertical.menu-is-active,
nav.hfe-nav-menu__layout-expandible.menu-is-active,
.hfe-nav-menu__layout-expandible nav.menu-is-active,
.elementor-widget-hfe-nav-menu nav.menu-is-active {
    display: block !important;
}

/* Убеждаемся, что пункты меню отображаются вертикально */
.menu-is-active .hfe-nav-menu > li,
.menu-is-active ul.hfe-nav-menu > li,
nav.menu-is-active > ul > li {
    display: block !important;
    width: 100% !important;
    float: none !important;
}

/* Стили для пунктов меню */
.menu-is-active .hfe-nav-menu > li > a,
.menu-is-active ul.hfe-nav-menu > li > a,
nav.menu-is-active > ul > li > a {
    padding: 15px 20px !important;
    display: block !important;
    border-bottom: 1px solid #f0f0f0;
    color: #000000 !important;
    text-decoration: none !important;
}

.menu-is-active .hfe-nav-menu > li > a:hover,
.menu-is-active ul.hfe-nav-menu > li > a:hover,
nav.menu-is-active > ul > li > a:hover {
    background: #f5f5f5 !important;
    color: #FFD700 !important;
}

/* Кнопка toggle всегда видна */
.hfe-nav-menu__toggle,
.elementor-widget-hfe-nav-menu .hfe-nav-menu__toggle {
    display: flex !important;
    cursor: pointer !important;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

/* На desktop показываем меню горизонтально, если нужно */
@media (min-width: 1025px) {
    /* Можно добавить правила для desktop, если требуется */
}
