/* 
 * Bootstrap Overrides - загружается последним
 * Перезаписывает конфликтующие стили
 */

/* Восстановление правильных классов Bootstrap */
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container, .container-sm {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container, .container-md, .container-sm {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container, .container-lg, .container-md, .container-sm {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1170px;
    }
}

/* Замена .auto-container на Bootstrap-совместимый */
.auto-container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .auto-container {
        width: 540px;
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .auto-container {
        width: 720px;
        max-width: 100%;
    }
}

@media (min-width: 992px) {
    .auto-container {
        width: 960px;
        max-width: 100%;
    }
}

@media (min-width: 1200px) {
    .auto-container {
        width: 1170px;
        max-width: 100%;
    }
}

/* Исправления для выпадающего меню */
@media (min-width: 992px) {
    /* Стили для десктопной версии меню */
    .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s, visibility 0.2s;
        margin-top: 0;
    }
    
    .dropdown-menu.show {
        opacity: 1;
        visibility: visible;
    }
    
    /* Стили для выпадающего меню первого уровня */
    .navbar-nav .dropdown .dropdown-menu {
        min-width: 200px;
        background-color: #fff;
        border: none;
        border-radius: 4px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        padding: 10px 0;
    }
    
    /* Стили для подменю (вложенное меню) */
    .navbar-nav .dropend .dropdown-menu {
        left: 100%;
        top: 0;
        margin-left: 0;
    }
    
    /* Цвет и стиль элементов выпадающего меню */
    .dropdown-item {
        color: #333 !important;
        padding: 8px 20px !important;
        transition: all 0.2s;
    }
    
    .dropdown-item:hover {
        background-color: #f5f5f5;
        color: #1C67AE !important;
    }
    
    /* Стиль для индикатора выпадающего меню */
    .dropdown-toggle::after {
        margin-left: 0.5em;
        vertical-align: middle;
    }
    
    .dropend .dropdown-toggle::after {
        transform: rotate(-90deg);
    }
}

/* Стили для мобильной версии меню */
@media (max-width: 991.98px) {
    .dropdown-menu {
        background-color: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
    }
    
    .dropdown-item {
        color: rgba(255, 255, 255, 0.85) !important;
        padding: 8px 20px 8px 40px !important;
    }
    
    .dropdown-item:hover {
        background-color: rgba(255, 255, 255, 0.1) !important;
    }
    
    .dropend .dropdown-menu {
        padding-left: 20px !important;
    }
    
    .dropdown-toggle::after {
        float: right;
        margin-top: 8px;
    }
}

/* Принудительное переопределение стилей */
img, table, svg, iframe, video, embed {
    max-width: 100% !important;
    height: auto;
}

div[style*="width:1200px"], div[style*="width: 1200px"] {
    width: 100% !important;
    max-width: 1170px !important;
    box-sizing: border-box !important;
}

[style*="overflow: hidden"], [style*="overflow:hidden"] {
    overflow: visible !important;
    overflow-x: hidden !important;
}

/* Фикс для элементов верстки */
.works__container-wrapper h3, 
.why__content-title,
.face__content-title,
.service-title {
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
} 