/* =========================
   MOBILE MENU OVERLAY
   ========================= */

/* анимируемая кнопка (2 линии -> X) */
.gf-burger{
  width:28px;
  height:28px;
  position:relative;
  display:inline-block;
}
.gf-burger span{
  position:absolute;
  left:3px;
  right:3px;
  height:2px;
  background:#3F52B3;
  border-radius:999px;
  transform-origin:center;
  transition:transform .22s ease, top .22s ease, opacity .22s ease;
}
.gf-burger span:first-child{ top:10px; }
.gf-burger span:last-child{ top:18px; }

/* состояние "меню открыто" -> крестик */
body.gf-menu-open .gf-burger span:first-child{
  top:14px;
  transform:rotate(45deg);
}
body.gf-menu-open .gf-burger span:last-child{
  top:14px;
  transform:rotate(-45deg);
}

/* сам оверлей */
.gf-mobilemenu{
  position:fixed;
  inset:0;
  background:#FFFFFF;
  z-index:2500;
  display:none;
}

/* показываем только на мобилке, и только когда открыто */
@media (max-width: 1030px){
  body.gf-menu-open .gf-mobilemenu{ display:block; }
}

/* блокируем прокрутку страницы когда меню открыто */
body.gf-menu-open{
  overflow:hidden;
  touch-action:none;
}

/* внутренние отступы как на макете */
.gf-mm-inner{
  padding: 92px 20px 24px; /* 72px шапка + воздух */
  box-sizing:border-box;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

/* ===== FIX: header visible above mobile menu overlay ===== */
@media (max-width: 1030px){

  body.gf-menu-open header.gf-topbar{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3001;
  }

  body.gf-menu-open .gf-mobilemenu{
    top: 72px;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(100svh - 72px);
    height: calc(100vh - 72px);
  }
}

.gf-mm-title{
  font-family:"Noah", sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#3F52B3;
  margin-bottom:24px;
}

.gf-mm-nav{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.gf-mm-link{
  font-family:"Noah", sans-serif;
  font-size:22px;
  font-weight:400;
  color:#0C0F1C;
  text-decoration:none;
}
.gf-mm-link:active{ transform:translateY(1px); }

/* language row */
.gf-mm-lang{
  display:flex;
  gap:22px;
  align-items:center;
  margin-top:52px;
}
.gf-mm-langbtn{
  border:none;
  background:transparent;
  padding:0;
  font-family:"Noah", sans-serif;
  font-size:18px;
  font-weight:400;
  color:#0C0F1C;
  cursor:pointer;
}
.gf-mm-langbtn.active{
  color:#3F52B3;
  text-decoration:underline;
  text-underline-offset:6px;
  text-decoration-thickness:2px;
}

/* follow */
.gf-mm-follow{ margin-top:58px; }
.gf-mm-follow-title{
  font-family:"Noah", sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#3F52B3;
  margin-bottom:18px;
}
.gf-mm-social{
  display:flex;
  gap:18px;
  align-items:center;
}
.gf-mm-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.gf-mm-social img{
  width:22px;
  height:22px;
  display:block;

  /* цвет иконок = #0C0F1C */
  filter:
    brightness(0)
    saturate(100%)
    invert(8%)
    sepia(9%)
    saturate(748%)
    hue-rotate(187deg)
    brightness(92%)
    contrast(97%);
}

/* bottom */
.gf-mm-bottom{
  margin-top:auto;
  padding-top:40px;
  font-family:"Noah", sans-serif;
  font-size:18px;
  color:#0C0F1C;
  display:flex;
  flex-direction:column;
  gap:14px;
}
