/* =========================
   BASE
   ========================= */

/* ====== ПОДКЛЮЧЕНИЕ ШРИФТА NOAH (для мобильного тоже) ====== */
@font-face{
  font-family:"Noah";
  src:
    url("/fonts/Noah-Regular.woff2") format("woff2"),
    url("/fonts/Noah-Regular.woff") format("woff");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Noah";
  src:
    url("/fonts/Noah-Bold.woff2") format("woff2"),
    url("/fonts/Noah-Bold.woff") format("woff");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* =========================
   SHARE MODAL VARS
   ========================= */
:root{
  --fs3-btn-cancel-w: 160px;
  --fs3-btn-copy-w: 300px;
  --fs3-gap-between-buttons: 24px;
  --fs3-share-content-w: calc(
    var(--fs3-btn-cancel-w) + var(--fs3-gap-between-buttons) + var(--fs3-btn-copy-w)
  );
  --fs3-space-to-actions: 44px;
  --fs3-space-bottom: 72px;
}

/* =========================
   GLOBAL RESET
   ========================= */
html, body{
  margin:0;
  padding:0;
}

body.gf-loading-open{
  overflow:hidden;
}

body.gf-loading-boot #fs3-root{
  display:none;
}

.gf-loading-backdrop{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-sizing:border-box;
  background:rgba(12, 15, 28, 0.35);
}

.gf-loading-backdrop-inline{
  position:relative;
  inset:auto;
  min-height:260px;
  width:100%;
  padding:32px 0;
  background:transparent;
  z-index:1;
}

.gf-loading-card{
  min-width:220px;
  max-width:320px;
  width:100%;
  background:transparent;
  border-radius:0;
  padding:0;
  box-shadow:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  text-align:center;
  font-family:"Noah", sans-serif;
  color:#0C0F1C;
}

.gf-loading-spinner{
  width:42px;
  height:42px;
  border-radius:50%;
  border:4px solid rgba(63, 82, 179, 0.2);
  border-top-color:#3F52B3;
  animation:gf-spin 0.9s linear infinite;
}

.gf-loading-text{
  font-size:16px;
  font-weight:400;
  line-height:1.3;
}

@keyframes gf-spin{
  to{
    transform:rotate(360deg);
  }
}

/* =========================
   TOP BAR / HEADER
   ========================= */

.gf-topbar{
  width:100%;
  height:100px;
  background:#EEF1F7;
  padding:0 60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  box-sizing:border-box;
  max-width:100%;
  overflow:visible;
  z-index:1000;
}

/* allow flex children to shrink (fix overflow) */
.gf-topbar-left,
.gf-topbar-center,
.gf-topbar-right{
  min-width:0;
}

/* --- desktop left links --- */
.gf-topbar-left{
  display:flex;
  align-items:center;
  gap:28px;
}

.gf-topbar-left a{
  font-family:"Noah", sans-serif;
  font-size:18px;
  font-weight:400;
  color:#0C0F1C;
  text-decoration:none;
}

.gf-topbar-left a:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}

/* --- mobile burger (hidden on desktop) --- */
.gf-topbar-burger{
  display:none;
  width:40px;
  height:40px;
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
  align-items:center;
  justify-content:center;
}

.gf-topbar-burger img{
  width:28px;
  height:28px;
  display:block;
}

/* --- center logo --- */
.gf-topbar-center{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  flex:0 0 auto;
}

.gf-topbar-logo{
  height:28px;
  width:auto;
  display:block;
}

/* --- right --- */
.gf-topbar-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex:0 1 auto;
  position:relative;
}

.gf-lang-btn{
  border:none;
  background:transparent;
  padding:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:"Noah", sans-serif;
  font-size:16px;
  font-weight:400;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#0C0F1C;
  line-height:1;
}

.gf-lang-caret{
  font-size:14px;
  opacity:.7;
  transform:translateY(1px);
}

.gf-cabinet-link{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.gf-cabinet-link img{
  width:22px;
  height:22px;
  display:block;
  filter:
    drop-shadow(0 0 0 #0C0F1C)
    drop-shadow(0 0 0 #0C0F1C);
}

/* language dropdown */
.gf-lang-menu{
  position:absolute;
  right:46px;
  top:calc(100% + 10px);
  transform:none;
  background:#FFFFFF;
  border-radius:12px;
  box-shadow:0 14px 34px rgba(15,23,42,.18);
  padding:10px;
  gap:6px;
  width:max-content;
  display:none;
  flex-direction:column;
  align-items:stretch;
  z-index:2000;
}

.gf-lang-menu.show{
  display:flex;
}

.gf-lang-menu button{
  border:none;
  white-space:nowrap;
  background:transparent;
  text-align:left;
  padding:8px 14px;
  border-radius:10px;
  cursor:pointer;
  font-family:"Noah", sans-serif;
  font-size:14px;
  font-weight:400;
  color:#0C0F1C;
  width:100%;
}

.gf-lang-menu button:hover{
  background:#F3F4F6;
}

/* =========================
   HEADER — MOBILE
   ========================= */
@media (max-width:768px){
  .gf-topbar{
    height:72px;
    padding:0 20px;
  }

  .gf-topbar-burger{ display:inline-flex; }
  .gf-topbar-left{ display:none; }
  .gf-lang-btn{ display:none; }
  .gf-lang-menu{ display:none !important; }

  .gf-topbar-center{
    position:static;
    left:auto;
    transform:none;
    flex:1 1 auto;
    display:flex;
    justify-content:center;
  }

  .gf-topbar-logo{
    height:24px;
  }

  .gf-topbar-right{
    gap:0;
  }
}
