/* =========================================================================
   ФУНДАМЕНТАЛЬНЫЙ ИНЖЕНЕРНЫЙ СТИЛЬ (ARMSTRONG INTERNATIONAL SA)
   Академический минимализм, швейцарская типографика и тектоника формы
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* --- ГЛОБАЛЬНЫЕ НАСТРОЙКИ --- */
body {
    font-family: 'Inter', -apple-system, sans-serif;
    background-color: #f8fafc !important; /* Цвет чистого архитектурного чертежа */
    color: #212529; /* Исходный глубокий цвет текста */
    -webkit-font-smoothing: antialiased;
}

/* --- ТЕКТОНИКА ЦЕНТРАЛЬНОГО МОНОЛИТА --- */
main .container.bg-white {
    background-color: #ffffff !important;
    border: 1px solid #94a3b8 !important; /* Стальной серый для строгой внешней рамки */
    border-radius: 0px !important; /* Полный отказ от скруглений — только строгие 90° */
    box-shadow: none !important; /* Академический дизайн презирает фальшивый объем */
    padding: 48px !important; /* Масштабное пространство вокруг контента */
    color: #212529 !important;
}

/* Разделительная линия между меню и контентом на десктопе */
@media (min-width: 992px) {
    .border-end-lg {
        border-right: 1px solid #94a3b8 !important; /* Тонкий стальной разделитель */
    }
}

/* --- СТРОГАЯ ИЕРАРХИЯ ШРИФТОВ --- */
h1 {
    font-size: 2rem; /* Около 32px — монументальный заголовок */
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.03em;
    margin-bottom: 1.5rem;
}

h2 {
    font-size: 1.5rem; /* Около 24px */
    font-weight: 600;
    color: #0f172a;
    letter-spacing: -0.02em;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

h3 {
    font-size: 1.25rem; /* Около 20px */
    font-weight: 600;
    color: #1e293b;
    letter-spacing: -0.01em;
}

/* Наборный текст в контейнере (описания, таблицы, каталоги) */
main .container.bg-white p, 
main .container.bg-white td, 
main .container.bg-white li,
main .container.bg-white div {
    font-size: 0.935rem; /* Около 15px — идеальный баланс строгости и читаемости */
    line-height: 1.6 !important; /* Межстрочный интервал, чтобы текст «дышал» */
    color: #212529 !important; 
}

/* --- СУБХЕДЕР (ИНДУСТРИАЛЬНЫЙ МАНИФЕСТ) --- */
#subheader {
    background-color: #0f172a !important; /* Глубокий антрацит */
    border-bottom: 1px solid #1e293b;
}
#subheader span {
    color: #94a3b8 !important; /* Любимый стальной серый цвет */
    font-size: 11px; 
    font-weight: 600;
    letter-spacing: 0.2em !important; /* Швейцарская разрядка */
    text-transform: uppercase;
}

/* --- МИНИМАЛИСТИЧНОЕ БОКОВОЕ МЕНЮ (АККОРДЕОН) --- */
.accordion-item {
    border: none !important;
    border-bottom: 1px solid #e2e8f0 !important; /* Тонкий разделитель */
}

.accordion-button {
    font-size: 13px; 
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #334155 !important;
    border-radius: 0px !important;
    padding: 16px 0px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
    color: #0f172a !important;
    font-weight: 700;
}

/* Ссылки внутри меню */
.list-group-item {
    font-size: 13.5px;
    font-weight: 400;
    color: #475569 !important;
    padding: 10px 0px 10px 12px !important;
    border: none !important;
    border-left: 2px solid transparent !important;
}

.list-group-item:hover {
    background-color: transparent !important;
    color: #0f172a !important;
    border-left: 2px solid #94a3b8 !important; /* Стальной маркер при наведении */
}

/* --- КНОПКИ И ПОИСК ЯНДЕКСА --- */
.ya-site-form input[type="search"] {
    border: 1px solid #94a3b8 !important; /* Строгая стальная рамка для поиска */
    border-radius: 0px !important;
    font-size: 13px;
}
.ya-site-form input[type="submit"], .btn-primary, .btn-warning {
    background-color: #0f172a !important;
    border: 1px solid #94a3b8 !important;
    border-radius: 0px !important;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    color: #ffffff !important;
}
.ya-site-form input[type="submit"]:hover, .btn-primary:hover, .btn-warning:hover {
    background-color: #1e293b !important;
    color: #ffffff !important;
}

/* --- ЖЕСТКАЯ ЗАЧИСТКА ОТ СЛУЧАЙНЫХ СИНИХ/ЖЕЛТЫХ ЦВЕТОВ В КОНТЕНТЕ --- */
#content a {
    color: #0f172a !important;
    text-decoration: underline !important;
}
#content a:hover {
    color: #94a3b8 !important; /* Стальной серый при наведении на ссылки в тексте */
}
.text-warning, .text-primary {
    color: #94a3b8 !important; /* Перехватываем Bootstrap классы */
}

/* --- АБСОЛЮТНОЕ ОБНУЛЕНИЕ ЗОЛОТА И СИНЕВЫ В ПОДВАЛЕ (FOOTER) --- */
footer, .footer {
    background-color: #0f172a !important; /* Глубокий благородный темный фон */
}

/* Все ссылки в подвале (включая Главную, Контакты, email) делаем строго СТАЛЬНЫМИ */
footer a, 
footer #footer a, 
footer .nav-link, 
#footer a {
    color: #94a3b8 !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    font-weight: 400 !important;
}

/* При наведении ссылки в подвале плавно становятся БЕЛЫМИ */
footer a:hover, 
footer #footer a:hover, 
#footer a:hover {
    color: #ffffff !important;
    border-bottom: 1px solid #ffffff !important;
}

/* Все иконки в шапке и подвале (телефоны, почта) — строго стальные */
header .bi, header i,
footer .bi, footer i, 
#phones .bi, #phones i {
    color: #94a3b8 !important;
}

/* Номера телефонов и важный текст в подвале — строго белые, без золота */
footer strong, 
footer .fw-bold, 
#phones strong {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* --- СТИЛИЗАЦИЯ КАРТЫ --- */
.map-wrapper {
    width: 100%;
    border: 1px solid #94a3b8 !important; /* Наша фирменная стальная рамка */
    overflow: hidden;
    line-height: 0; /* Убираем лишние пиксели под картой */
}

.map-wrapper iframe {
    display: block;
    width: 100%;
    filter: grayscale(0.2) contrast(1.1); /* Легкий эффект строгости, чтобы карта не «кричала» цветами */
    transition: filter 0.3s;
}

.map-wrapper:hover iframe {
    filter: grayscale(0); /* Карта становится цветной при наведении */
}
/* Контейнер для загрузки */
.map-wrapper {
    position: relative;
    background-color: #f1f5f9; /* Светло-серый фон, пока карта грузится */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Сам спиннер (индикатор) */
.map-loader {
    position: absolute;
    color: #94a3b8; /* Ваш стальной серый цвет */
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.map-loader::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    border: 3px solid #94a3b8;
    border-top: 3px solid transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 10px auto;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Делаем iframe прозрачным, пока он не загрузится */
.map-wrapper iframe {
    position: relative;
    z-index: 2;
    background: transparent;
}
html {
    scroll-behavior: smooth;
}

/* Умный отступ сверху при скролле к якорю. 
   На мобильных (до 991px) смещаем контент пониже, чтобы он не утыкался в верхний край экрана.
   На десктопе отступ можно обнулить, так как там боковое меню и так на виду.
*/
#main-content {
    scroll-margin-top: 90px; /* Подбери под суммарную высоту шапки и субхедера */
}

@media (min-width: 992px) {
    #main-content {
        scroll-margin-top: 20px; 
    }
    .border-end-lg {
        border-right: 1px solid #dee2e6 !important;
    }
}
#menu {
    scroll-margin-top: 380px; /* Чтобы меню не упиралось в самый верх экрана/шапки */
}