/* ===========================================
   HEADER
=========================================== */

.site-header{
    background:#fff;
    border-bottom:1px solid #e7e7e7;
    position:sticky;
    top:0;
    z-index:900;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
}


.site-header *{
    box-sizing:border-box;
}


/* ===========================================
   Верхняя строка
=========================================== */

.header-top{
    padding:18px 0 14px;
}


.header-top .wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}


/* ===========================================
   Логотип
=========================================== */

.logo img{
    display:block;
    width:180px;
    height:auto;
    transition:.3s;
}

.header-top,
.main-menu,
.phone a{

    transition:.3s;

}


/* ===========================================
   Центральная часть
=========================================== */

.header-info{
    display:flex;
    align-items:center;
    gap:28px;
    flex:1;
}


/* ===========================================
   Телефоны
=========================================== */

.phones{
    min-width:235px;
}


.phone{
    display:none;
}


.phone.active{
    display:block;
}


.phone a{
    display:block;
    text-decoration:none;
    color:#222;
    font-size:25px;
    font-weight:700;
}


.phone span{
    display:block;
    margin-top:3px;
    font-size:13px;
    color:#777;
}


/* ===========================================
   Переключатель региона
=========================================== */

.region-switch{
    display:flex;
    align-items:center;
    gap:8px;
}


.region-switch button{
    border:0;
    background:none;
    cursor:pointer;
    color:#666;
    font-size:15px;
    transition:.2s;
    padding:0;
}


.region-switch button:hover{
    color:#d00000;
}


.region-switch button.active{
    color:#d00000;
    font-weight:bold;
}


.region-switch span{
    color:#999;
}


/* ===========================================
   Правая часть
=========================================== */

.header-tools{
    display:flex;
    align-items:center;
    gap:24px;
}


/* ===========================================
   Соцсети
=========================================== */

.social{
    display:flex;
    gap:10px;
}


.social a{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#f4f4f4;
    display:flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    transition:.2s;
    color:#666;
    font-size:16px;
}


.social a:hover{
    background:#d00000;
    color:#fff;
    transform:translateY(-2px);
}


/* Временно используем буквы вместо иконок */

.social .vk::before{
    content:"VK";
    font-size:11px;
    font-weight:bold;
}


.social .telegram::before{
    content:"✈";
}


.social .dzen::before{
    content:"Д";
}


.social .mail::before{
    content:"✉";
}


/* ===========================================
   Поиск
=========================================== */

.search{
    display:flex;
    align-items:center;
}


.search input[type=search]{
    width:220px;
    height:38px;
    padding:0 14px;
    border:1px solid #ddd;
    border-right:none;
    border-radius:20px 0 0 20px;
    outline:none;
    font-size:14px;
}


.search input[type=search]:focus{
    border-color:#d00000;
}


.search button{
    width:44px;
    height:38px;
    border:1px solid #ddd;
    border-left:none;
    border-radius:0 20px 20px 0;
    background:#fff;
    cursor:pointer;
    transition:.2s;
}


.search button:hover{
    background:#d00000;
    color:#fff;
}


/* ===========================================
   Меню
=========================================== */

.header-menu{
    border-top:1px solid #efefef;
}


.main-menu{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:28px;
    padding:15px 0;
}


.main-menu a{
    text-decoration:none;
    color:#222;
    font-size:15px;
    transition:.2s;
    white-space:nowrap;
}


.main-menu a:hover{
    color:#d00000;
}


/* Убираем выделение Издательства */

.main-menu .publisher{
    font-weight:normal;
}


/* ===========================================
   Хлебные крошки
=========================================== */

.breadcrumbs{
    background:#fafafa;
    border-bottom:1px solid #ececec;
    font-size:14px;
}


.breadcrumbs .wrap{
    padding:14px 20px;
}


.breadcrumbs a{
    color:#777;
    text-decoration:none;
}


.breadcrumbs a:hover{
    color:#d00000;
}


.breadcrumbs span{
    color:#222;
}


/* ===========================================
   Адаптивность
=========================================== */


@media (max-width:1000px){

    .header-top .wrap{
        flex-direction:column;
        align-items:flex-start;
    }


    .header-info{
        width:100%;
        justify-content:space-between;
    }


    .header-tools{
        width:100%;
        justify-content:space-between;
    }


    .main-menu{
        justify-content:flex-start;
    }

}



@media (max-width:700px){

    .phone a{
        font-size:20px;
    }


    .header-info{
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
    }


    .header-tools{
        flex-direction:column;
        align-items:flex-start;
    }


    .search{
        width:100%;
    }


    .search input[type=search]{
        width:100%;
    }


    .main-menu{
        gap:14px;
        font-size:14px;
    }

}

/* ===========================================
   Компактная шапка при прокрутке
=========================================== */


.site-header.compact .header-top{

    padding:10px 0;

}


.site-header.compact .logo img{

    width:120px;

}


.site-header.compact .phone a{

    font-size:18px;

}


.site-header.compact .phone span{

    display:none;

}


.site-header.compact .header-info{

    gap:15px;

}


.site-header.compact .header-tools{

    gap:15px;

}


.site-header.compact .main-menu{

    padding:8px 0;

}






#modalnoe-okno-bitrix

.calc-modal {
    display:none;

    position:fixed !important;

    left:0;
    top:0;

    width:100vw;
    height:100vh;

    z-index:999999;

    background:rgba(0,0,0,0.45);

    align-items:center;
    justify-content:center;

    padding:20px;

    overflow:hidden;
}


.calc-modal-content {

    position:relative;

    z-index:1000000;

    background:#fff;

    width:650px;

    max-width:95vw;

    max-height:90vh;

    overflow-y:auto;

    padding:35px 45px;

    border-radius:12px;

}


.calc-modal-content h3 {

    font-size:30px;
    margin:0 0 25px;

    font-family:Arial,sans-serif;

}


.calc-close {

    position:absolute;

    right:20px;
    top:10px;

    font-size:32px;

    cursor:pointer;

    color:#777;

}


.calc-close:hover {

    color:#000;

}