/* Общая шапка: шесть пунктов в одну строку от 1001 px. */
header.head-smg { --smg-header-height: 62px; }
header.head-smg > .container > .flex_block { min-height: 62px; gap: 20px; }
header.head-smg .logo { flex: 0 0 100px; width: 100px; height: 50px; }
header.head-smg .menu-smg { flex: 1 1 auto; min-width: 0; }
header.head-smg .head-right { flex: 0 0 auto; display: flex; align-items: center; gap: 16px; width: auto; }
header.head-smg .head-right .btn-modal-region { width: 170px; padding: 10px 0 10px 28px; font-size: 12px; line-height: 16px; }
header.head-smg .head-right .btn { display: inline-block; white-space: nowrap; font-size: 12px; }
header.head-smg .menu-smg .btn-menu { display: none; border: 0; background: transparent; cursor: pointer; padding: 0; }
header.head-smg .menu-animate-mobile { display: block; position: static; padding: 0; width: auto; max-height: none; overflow: visible; background: transparent; }
header.head-smg .menu-animate-mobile > ul:not(.contacts-list) { display: flex; align-items: stretch; justify-content: space-between; margin: 0; padding: 0; }
header.head-smg .menu-animate-mobile > ul:not(.contacts-list) > li { display: flex; align-items: center; flex: 1 0 auto; position: relative; }
header.head-smg .menu-animate-mobile > ul > li > .has-item { display: block; flex: 1 1 auto; padding: 21px 8px; font: 500 14px/20px 'Manrope', Arial, sans-serif; white-space: nowrap; text-align: center; color: #1f4a81; border: 0; background: transparent; text-decoration: none; cursor: pointer; }
header.head-smg .menu-smg .btn-mob { display: block; position: relative; flex: 0 0 24px; width: 24px; height: 32px; top: auto; right: auto; bottom: auto; margin-left: -6px; border: 0; border-radius: 4px; background: transparent; cursor: pointer; }
header.head-smg .menu-smg .btn-mob::before { display: none; }
header.head-smg .menu-smg .btn-mob::after,
header.head-smg .smg-submenu-title::after { content: ''; display: inline-block; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
header.head-smg .menu-smg .btn-mob::after { color: #1f4a81; }
header.head-smg .smg-submenu-title::after { margin-left: 8px; }
header.head-smg .menu-animate-mobile > ul > li > ul { display: none !important; top: calc(100% + 10px); border-radius: 4px; box-shadow: 0 12px 28px rgba(31,74,129,.14); }
header.head-smg .menu-animate-mobile > ul > li > ul::before { content: ''; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
header.head-smg .menu-animate-mobile > ul > li > .big-sub-menu { position: fixed; top: calc(var(--smg-header-height) + 10px); left: 0; right: 0; width: 100%; padding: 24px max(30px, calc((100vw - 1720px) / 2)); max-height: calc(100dvh - var(--smg-header-height) - 30px); overflow-y: auto; overflow-x: clip; }
/* Невидимый мост удерживает наведение в видимом зазоре над каталогом. */
header.head-smg .menu-animate-mobile > ul > li:has(> .big-sub-menu)::after { content: ''; position: absolute; top: 100%; left: 0; right: 0; height: 10px; }
header.head-smg .menu-animate-mobile > ul > li > .sub-menu { left: 0; right: auto; width: 280px; padding: 20px; }
header.head-smg .menu-animate-mobile > ul > li:nth-last-child(-n+2) > .sub-menu { left: auto; right: 0; }
header.head-smg .menu-animate-mobile > ul > li:hover > ul,
header.head-smg .menu-animate-mobile > ul > li:focus-within > ul,
header.head-smg .menu-animate-mobile > ul > li.submenu-open > ul { display: block !important; }
header.head-smg .menu-animate-mobile > ul > li.submenu-dismissed > ul { display: none !important; }
header.head-smg .menu-animate-mobile .contacts-list { display: none; }
header.head-smg :is(a, button):focus-visible { outline: 3px solid #c38316; outline-offset: 2px; }
@media (max-width: 1350px) {
    header.head-smg > .container > .flex_block { gap: 16px; }
    header.head-smg .logo { width: 80px; flex-basis: 80px; }
    header.head-smg .head-right .btn { display: none; }
    header.head-smg .head-right .btn-modal-region { width: 150px; }
    header.head-smg .menu-animate-mobile > ul > li > .has-item { padding-left: 6px; padding-right: 6px; }
}
@media (min-width: 1001px) {
    header.head-smg .menu-animate-mobile { display: block !important; }
}
@media (max-width: 1000px) {
    header.head-smg { --smg-header-height: 56px; }
    header.head-smg > .container > .flex_block { min-height: 56px; gap: 12px; }
    header.head-smg .logo { flex-basis: 80px; width: 80px; height: 50px; }
    header.head-smg .head-right { flex: 1 1 auto; min-width: 0; padding-right: 50px; }
    header.head-smg .head-right .btn-modal-region { width: auto; max-width: 100%; font-size: 12px; padding-right: 0; overflow-wrap: anywhere; }
    header.head-smg .menu-smg { flex: 0 0 0; }
    header.head-smg .menu-smg .btn-menu { display: block; right: 30px; top: 50%; margin-top: -22px; }
    header.head-smg .menu-smg .btn-menu .icon-menu { margin-right: 0; }
    header.head-smg .menu-animate-mobile { display: none; position: absolute; top: 100%; left: 0; width: 100%; padding: 20px 30px 32px; background: #1f4a81; max-height: calc(100vh - var(--smg-header-height)); max-height: calc(100dvh - var(--smg-header-height)); overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; }
    header.head-smg.menu-open .menu-animate-mobile { display: block; }
    header.head-smg .menu-animate-mobile > ul:not(.contacts-list) { display: block; }
    header.head-smg .menu-animate-mobile > ul:not(.contacts-list) > li { display: flex; flex-wrap: wrap; }
    header.head-smg .menu-animate-mobile > ul > li > .has-item { flex: 1 1 auto; text-align: left; padding: 12px 0; color: #fff; font-size: 16px; line-height: 24px; }
    header.head-smg .menu-smg .btn-mob { flex-basis: 44px; width: 44px; height: 44px; margin: 0; border: 1px solid rgba(255,255,255,.3); }
    header.head-smg .menu-smg .btn-mob::after { color: #fff; }
    header.head-smg .smg-submenu-title { width: 100%; }
    header.head-smg .smg-submenu-title::after { float: right; margin: 7px 17px 0 0; }
    header.head-smg .menu-animate-mobile > ul > li > ul { position: static !important; display: none !important; flex: 0 0 100%; width: 100% !important; margin: 0 0 10px; padding: 0 0 16px !important; max-height: none; overflow: visible; border-radius: 0; box-shadow: none; background: transparent; border-bottom: 1px solid rgba(255,255,255,.25); }
    header.head-smg .menu-animate-mobile > ul > li:hover > ul,
    header.head-smg .menu-animate-mobile > ul > li:focus-within > ul { display: none !important; }
    header.head-smg .menu-animate-mobile > ul > li.submenu-open > ul { display: block !important; }
    header.head-smg .menu-animate-mobile > ul > li > ul::before,
    header.head-smg .menu-animate-mobile > ul > li:has(> .big-sub-menu)::after { display: none; }
    header.head-smg .menu-animate-mobile .big-sub-menu > li { display: block; width: 100%; margin: 0; }
    header.head-smg .menu-animate-mobile .contacts-list { display: block; }
    header.head-smg .menu-animate-mobile .contacts-list a { overflow-wrap: anywhere; }
    .intro, .page-contacts { margin-top: 56px; }
}
@media (min-width: 1001px) and (max-width: 1200px) { .intro, .page-contacts { margin-top: 62px; } }
@media (max-width: 700px) {
    header.head-smg .menu-smg .btn-menu { right: 20px; }
    header.head-smg .menu-animate-mobile { padding-left: 20px; padding-right: 20px; }
}
/* Старые правила до 1280 px задают !important: отменяем их только для полной навигации. */
@media (min-width: 1001px) {
    header.head-smg .menu-animate-mobile > ul > li > ul { position: absolute !important; background: #e9f3ff !important; padding: 20px !important; width: 280px !important; margin: 0; border: 0; }
    header.head-smg .menu-animate-mobile > ul > li > .big-sub-menu { position: fixed !important; width: 100% !important; padding: 24px max(30px, calc((100vw - 1720px) / 2)) !important; }
    header.head-smg .menu-animate-mobile > ul > li:hover > .big-sub-menu,
    header.head-smg .menu-animate-mobile > ul > li:focus-within > .big-sub-menu,
    header.head-smg .menu-animate-mobile > ul > li.submenu-open > .big-sub-menu { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
    header.head-smg .menu-animate-mobile > ul > li.submenu-dismissed > .big-sub-menu { display: none !important; }
    header.head-smg .menu-animate-mobile .big-sub-menu > li { display: block; width: auto; margin: 0; }
    header.head-smg .menu-animate-mobile > ul > li > ul li a { color: #1f4a81 !important; font-size: 14px !important; padding: 5px 0; }
    header.head-smg .menu-animate-mobile > ul > li > ul .title-menu { padding: 5px 0 !important; margin: 0 0 10px; border-top: 0; opacity: 1; color: #1f4a81 !important; font-size: 14px !important; }
}
