/* ProZagadka header redesign — desktop close to supplied mockup */
.site-header{
  position:sticky;
  top:0;
  z-index:90;
  padding:18px 0 20px;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.site-header .nav-shell{
  width:min(1440px,calc(100% - 64px));
  min-height:92px;
  height:92px;
  padding:0 28px 0 22px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  gap:24px;
  border:1px solid #e6ddff;
  border-radius:32px;
  background:rgba(255,255,255,.96);
  box-shadow:0 6px 24px rgba(118,96,190,.08);
}
.site-header .mygdz-brand{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
  text-decoration:none;
}
.site-header .mygdz-logo-wrap{
  width:72px;
  height:72px;
  flex:0 0 72px;
  display:grid;
  place-items:center;
}
.site-header .mygdz-logo{
  width:72px;
  height:72px;
  display:block;
  object-fit:contain;
}
.site-header .brand-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.site-header .brand-text{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:0;
  margin:0;
  font-size:27px;
  line-height:1;
  letter-spacing:-1.1px;
  white-space:nowrap;
}
.site-header .brand-text b{
  color:#2f2ca2;
  font-weight:900;
}
.site-header .brand-text em{
  color:#2f2ca2;
  font-size:16px;
  font-style:normal;
  font-weight:900;
  letter-spacing:-.2px;
}
.site-header .brand-subtitle{
  display:block;
  width:100%;
  margin:0;
  text-align:center;
  color:#9384bf;
  font-size:14px;
  font-weight:900;
  line-height:1.05;
  text-transform:lowercase;
  letter-spacing:0;
}
.site-header .desktop-nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}
.site-header .desktop-nav-item{
  min-height:54px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid transparent;
  border-radius:18px;
  color:#2f2555;
  font-size:14px;
  font-weight:800;
  line-height:1.15;
  white-space:nowrap;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
}
.site-header .desktop-nav-item img{
  width:28px;
  height:28px;
  flex:0 0 28px;
  object-fit:contain;
}
.site-header .desktop-nav-item:hover,
.site-header .desktop-nav-item:focus-visible{
  color:#5d36e9;
  background:#f7f3ff;
  border-color:#ece2ff;
  box-shadow:0 8px 22px rgba(110,74,220,.10);
  transform:translateY(-1px);
  outline:none;
}
.site-header .nav-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
}
.site-header .nav-login{
  min-width:152px;
  height:56px;
  padding:0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  border-radius:22px;
  background:linear-gradient(180deg,#8f63ff 0%,#6d43f4 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(109,67,244,.24);
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.site-header .nav-login:hover,
.site-header .nav-login:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(109,67,244,.28);
  filter:saturate(1.04);
  outline:none;
}
.site-header .nav-login-icon,
.site-header .nav-login.nav-account img{
  width:26px;
  height:26px;
  flex:0 0 26px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.site-header .nav-login strong,
.site-header .nav-login.nav-account strong{
  color:#fff;
  font-size:14px;
  font-weight:900;
}
.site-header .nav-login.nav-account{
  min-width:168px;
  max-width:220px;
  background:linear-gradient(180deg,#8f63ff 0%,#6d43f4 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(109,67,244,.24);
}
.site-header .nav-login.nav-account strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-header .menu-btn{
  display:none;
  width:48px;
  height:48px;
  flex:0 0 48px;
  padding:10px;
  border:1px solid #eadfff;
  border-radius:16px;
  background:#faf7ff;
  cursor:pointer;
}
.site-header .menu-btn span{
  width:24px;
  height:2px;
  margin:4.5px auto;
  display:block;
  border-radius:99px;
  background:#6d43f4;
}
.site-header .mobile-nav{display:none}
.site-header .nav-mobile-auth{display:none}

@media(max-width:1260px){
  .site-header .nav-shell{
    width:calc(100% - 32px);
    padding:0 18px 0 16px;
    gap:16px;
  }
  .site-header .desktop-nav{gap:6px}
  .site-header .desktop-nav-item{padding:10px 10px;font-size:13px;gap:8px}
  .site-header .desktop-nav-item img{width:26px;height:26px;flex-basis:26px}
}

@media(max-width:1140px){
  .site-header .desktop-nav{display:none!important}
  .site-header .nav-actions{margin-left:auto}
  .site-header .nav-login{display:none!important}
  .site-header .nav-mobile-auth{
    display:flex!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
    align-items:center;
    justify-content:center;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:linear-gradient(180deg,#8f63ff 0%,#6d43f4 100%)!important;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(109,67,244,.24)!important;
    text-decoration:none;
  }
  .site-header .nav-mobile-auth svg{
    display:block;
    width:23px;
    height:23px;
    fill:none;
    stroke:#fff;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .site-header .menu-btn{display:block!important}
  .site-header .mobile-nav{
    position:absolute;
    top:calc(100% - 2px);
    left:50%;
    right:auto;
    width:min(760px,calc(100% - 24px));
    padding:14px;
    transform:translateX(-50%);
    border:1px solid #e7ddff;
    border-radius:24px;
    background:#fff;
    box-shadow:0 22px 48px rgba(79,53,168,.16);
  }
  .site-header .mobile-nav.open{display:block!important}
  .site-header .mobile-nav-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .site-header .mobile-nav-item{
    min-height:66px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #eee5ff;
    border-radius:16px;
    background:#fbf9ff;
    color:#2f2555;
    font-size:13px;
    font-weight:800;
  }
  .site-header .mobile-nav-item img{
    width:32px;
    height:32px;
    flex:0 0 32px;
    object-fit:contain;
  }
}

@media(max-width:760px){
  .site-header{padding:8px 0 12px}
  .site-header .nav-shell{
    width:calc(100% - 16px);
    min-height:74px;
    height:74px;
    padding:0 10px 0 8px;
    gap:8px;
    border-radius:24px;
  }
  .site-header .mygdz-brand{gap:6px}
  .site-header .mygdz-logo-wrap,
  .site-header .mygdz-logo{width:56px;height:56px}
  .site-header .mygdz-logo-wrap{flex-basis:56px}
  .site-header .brand-copy{gap:1px}
  .site-header .brand-text{font-size:21px;letter-spacing:-.8px}
  .site-header .brand-text em{font-size:12px}
  .site-header .brand-subtitle{font-size:11px}
  .site-header .nav-actions{gap:8px}
  .site-header .nav-mobile-auth{width:42px!important;min-width:42px!important;height:42px!important;flex-basis:42px!important}
  .site-header .menu-btn{width:42px;height:42px;flex-basis:42px;padding:8px;border-radius:14px}
  .site-header .mobile-nav{
    width:calc(100% - 16px);
    padding:10px;
    border-radius:19px;
  }
  .site-header .mobile-nav-grid{grid-template-columns:1fr 1fr;gap:8px}
  .site-header .mobile-nav-item{min-height:60px;padding:8px 9px;font-size:12.5px}
  .site-header .mobile-nav-item img{width:30px;height:30px;flex-basis:30px}
}

@media(max-width:430px){
  .site-header .brand-text{font-size:19px}
  .site-header .brand-text em{font-size:11px}
  .site-header .brand-subtitle{font-size:10px}
  .site-header .mygdz-logo-wrap,
  .site-header .mygdz-logo{width:52px;height:52px}
  .site-header .mygdz-logo-wrap{flex-basis:52px}
}

@media(max-width:360px){
  .site-header .brand-subtitle,
  .site-header .brand-text em{display:none}
  .site-header .brand-text{font-size:18px}
  .site-header .mobile-nav-grid{grid-template-columns:1fr}
}
