/* ===========================
   По умолчанию (ПК)
=========================== */

.mobile-header,
.mobile-menu,
.overlay{
    display:none;
}

/* ==========================================
   MOBILE HEADER
========================================== */

.mobile-header{

    display:none;

    background:#fff;

    border-bottom:1px solid #e5e7eb;

    box-shadow:0 6px 18px rgba(15,23,42,.05);

}

@media(max-width:991px){

.desktop-header{

    display:none;

}

.mobile-header{

    display:block;

}

.mobile-header .container{

    width:94%;

    margin:auto;

}

.mobile-header-top{

    display:grid;

    grid-template-columns:52px 1fr auto;

    align-items:center;

    gap:18px;

    padding:18px 18px 14px;

}

/* ===========================
   BURGER
=========================== */

.burger{

    width:46px;

    height:46px;

    border:none;

    border-radius:14px;

    background:#2563eb;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

}

.burger i{

    font-size:24px;

}

/* ===========================
   LOGO
=========================== */

.mobile-brand{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

}

.mobile-brand img{

    width:28px;

    height:28px;

}

.mobile-brand div{

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.mobile-brand h2{

    margin:0;

    font-size:20px;

    font-weight:900;

    line-height:1;

}

.mobile-brand span{

    margin-top:4px;

    font-size:12px;

    color:#64748b;

}

/* ===========================
   ICONS
=========================== */

.mobile-icons{

    display:flex;

    gap:8px;

}

.mobile-icons a{

    width:42px;

    height:42px;

    border-radius:12px;

    background:#f8fafc;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    color:#334155;

}

.mobile-icons i{

    font-size:20px;

}

}
/* ==========================================
   MOBILE SEARCH
========================================== */

@media(max-width:991px){

.mobile-search{
    padding:18px 20px 20px;
}

.mobile-search-box{

    display:flex;

    align-items:center;

    width:100%;

    height:52px;

    background:#fff;

    border:2px solid #dbeafe;

    border-radius:16px;

    overflow:hidden;

}

.mobile-search-box i{

    width:46px;

    text-align:center;

    color:#2563eb;

    font-size:18px;

}

.mobile-search-box input{

    flex:1;

    border:none;

    outline:none;

    font-size:15px;

    background:transparent;

    padding-right:10px;

}

.mobile-search-box input::placeholder{

    color:#94a3b8;

}

}
/* ==========================================
   MOBILE MENU
========================================== */

.mobile-menu{

    position:fixed;

    top:0;

    left:-320px;

    width:290px;

    height:100vh;

    background:#fff;

    z-index:9999;

    transition:.35s ease;

    box-shadow:10px 0 30px rgba(0,0,0,.15);

    overflow-y:auto;

}

.mobile-menu.active{

    left:0;

}

.overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.35);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:9998;

}

.overlay.active{

    opacity:1;

    visibility:visible;

}
.mobile-menu-top{

    display:flex;

    align-items:center;

    gap:14px;

    padding:22px;

    border-bottom:1px solid #eef2f7;

}

.mobile-menu-top img{

    width:46px;

    height:46px;

}

.mobile-menu-top h3{

    font-size:24px;

    font-weight:800;

    color:#111827;

}

.mobile-menu-top span{

    display:block;

    margin-top:4px;

    color:#64748b;

    font-size:12px;

}

.close-menu{

    margin-left:auto;

    width:40px;

    height:40px;

    border:none;

    background:#f1f5f9;

    border-radius:12px;

    cursor:pointer;

    font-size:18px;

}
.mobile-nav{

    display:flex;

    flex-direction:column;

    padding:18px;

}

.mobile-nav a{

    display:flex;

    align-items:center;

    gap:14px;

    text-decoration:none;

    color:#334155;

    font-size:16px;

    font-weight:600;

    padding:15px 16px;

    border-radius:14px;

    transition:.25s;

}

.mobile-nav a i{

    color:#2563eb;

    font-size:20px;

}

.mobile-nav a:hover{

    background:#2563eb;

    color:#fff;

}

.mobile-nav a:hover i{

    color:#fff;

}

/* ===========================
   Телефон
=========================== */

@media (max-width:991px){

    .desktop-header{
        display:none;
    }

    .mobile-header{
        display:block;
    }

    .mobile-menu{
        display:block;
    }

    .overlay{
        display:block;
    }

}
.mobile-search-box button{

    width:110px;

    height:100%;

    border:none;

    background:#2563eb;

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.mobile-search-box button:hover{

    background:#1d4ed8;

}
@media(max-width:991px){

.home-grid{

    grid-template-columns:repeat(2,1fr);

}

.home-info h1{

    font-size:34px;

}

.home-info p{

    font-size:16px;

}

}

@media(max-width:600px){

.home-grid{

    grid-template-columns:1fr;

}

}
.desktop-menu{

    transition: transform .35s ease;

}

.desktop-menu.hide{

    transform: translateY(-100%);

}
.mobile-icons a{

    position:relative;

}

.mobile-icons .badge{

    position:absolute;

    top:-6px;

    right:-8px;

    min-width:18px;

    height:18px;

    padding:0 5px;

    border-radius:50px;

    background:#ff3b30;

    color:#fff;

    font-size:11px;

    font-weight:700;

    display:flex;

    justify-content:center;

    align-items:center;

    line-height:1;

    box-shadow:0 4px 12px rgba(0,0,0,.18);

}