/* ====== HEADER (fluid) с общим тумблером языка ====== */
:root{
  --brand:#2e3790; --ink:#142047; --bg:#ffffff; --line:#2e3790;
  --header-h:120px; --left-block:360px; --right-gap:50px;
  --nav-top:70px; --cta-top:65px; --split-top:50px;
  --logo-w:240px; --logo-h:90px;
}

*{ box-sizing:border-box; }
html,body{ margin:0; background:var(--bg); color:var(--ink);
  font:18px/1.35 Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; overflow-x:hidden; }
body.no-scroll{ overflow:hidden; }

.site-header{ position:sticky; top:0; z-index:1000; background:var(--bg);
  box-shadow:0 0 0 1px rgba(20,32,71,.05); }

.header-canvas{ position:relative; width:100%; height:var(--header-h); margin-inline:auto; }

/* ЛОГО */
.logo{ position:absolute; left:calc(var(--left-block)/2); top:50%;
  transform:translate(-50%,-50%); width:var(--logo-w); height:var(--logo-h); display:block; }
.logo-img{ width:100%; height:100%; object-fit:contain; object-position:center; }

/* ЛИНИИ */
.v-wall{ position:absolute; left:var(--left-block); top:0; width:1px; height:100%; background:var(--line); opacity:.8; }
.h-split{ position:absolute; left:var(--left-block); right:0; top:var(--split-top);
  height:1px; background:var(--line); opacity:.35; }

/* КОНТАКТЫ */
.phone,.email{ position:absolute; top:11px; height:28px; line-height:28px; width:220px;
  font-weight:600; color:var(--brand); text-decoration:none; }
.phone{ left:calc(50% - 240px); text-align:right; }
.email{ left:calc(50% + 20px);  text-align:left; }

/* ЯЗЫК (тот самый тумблер) */
.flag-en,.flag-ru{ position:absolute; top:20px; width:20px; height:10px; border:.5px solid #d8def8; }
.flag-en{ right:calc(var(--right-gap) + 130px); }
.flag-ru{ right:calc(var(--right-gap) + 200px); opacity:.5; }

.lang-toggle-abs{ position:absolute; top:16px; right:calc(var(--right-gap) + 158px); width:36px; height:20px; }
.lang-toggle-abs input{ position:absolute; inset:0; margin:0; opacity:0; cursor:pointer; }
.lang-toggle-abs .track{
  position:absolute; inset:0; border-radius:20px; background:#e7ebff; border:1px solid #d8def8;
  box-shadow:0 1px 1px rgba(0,0,0,.04) inset; transition:background .2s, border-color .2s;
}
.lang-toggle-abs .knob{
  position:absolute; top:1.2px; left:1px; width:16px; height:16px; border-radius:50%;
  background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.18); transition:left .2s ease;
}
.lang-toggle-abs input:checked + .track{ background:var(--brand); border-color:var(--brand); }
.lang-toggle-abs input:checked + .track .knob{ left:18px; }

/* тот же тумблер в бургер-меню (переставляется скриптом и получает класс .inline) */
.lang-toggle-abs.inline{ position:static; width:36px; height:20px; }

/* СОЦСЕТИ */
.icon{ position:absolute; top:10px; width:30px; height:30px; border:1px solid #d8def8;
  border-radius:50%; display:flex; align-items:center; justify-content:center; background:#fff; }
.icon:hover{ background:#f5f7ff; border-color:#c7cdf5; }
.icon img{ width:20px; height:20px; }
.icon.tg{ right:calc(var(--right-gap) + 340px); }
.icon.ig{ right:calc(var(--right-gap) + 340px); }
.icon.wa{ right:calc(var(--right-gap) + 300px); }

/* МЕНЮ/CTA (десктоп) */
.nav-abs{ position:absolute; top:var(--nav-top); left:var(--left-block);
  right:calc(var(--right-gap) + 220px); display:flex; justify-content:center; gap:40px; align-items:center; }
.nav{ height:30px; line-height:30px; font-weight:700; color:var(--brand); text-decoration:none; }
.nav:hover{ opacity:.85; }
.cta-abs{ position:absolute; right:calc(var(--right-gap) + 170px); top:var(--cta-top);
  width:200px; height:45px; border-radius:27px; background:#0E1C4B; color:#fff; text-decoration:none;
  font-weight:700; display:flex; align-items:center; justify-content:center; white-space:nowrap; transition:.25s; }
.cta-abs:hover{ background:#1e2d6e; }

/* брейкпоинты ноутбуков */
@media (max-width:1366px){
  :root{ --right-gap:26px; --left-block:320px; --logo-w:210px; --logo-h:70px; }
  .nav-abs{ gap:34px; right:calc(var(--right-gap) + 210px); }
  .cta-abs{ right:var(--right-gap); width:165px; height:38px; }
  .icon.tg{ right:calc(var(--right-gap) + 330px); }
  .icon.ig{ right:calc(var(--right-gap) + 292px); }
  .icon.wa{ right:calc(var(--right-gap) + 254px); }
}
@media (max-width:1080px){
  :root{ --header-h:120px; --left-block:280px; --logo-w:190px; --logo-h:62px; --nav-top:70px; --cta-top:67px; }
  .phone,.email{ width:190px; font-size:15px; }
  .phone{ left:calc(50% - 205px); } .email{ left:calc(50% + 15px); }
  .nav-abs{ gap:40px; right:calc(var(--right-gap) + 186px); }
  .cta-abs{ width:180px; height:36px; }
  .icon.tg{ right:calc(var(--right-gap) + 216px); }
  .icon.wa{ right:calc(var(--right-gap) + 182px); }
  .flag-en{ right:calc(var(--right-gap) + 76px); }
  .lang-toggle-abs{ right:calc(var(--right-gap) + 102px); }
  .flag-ru{ right:calc(var(--right-gap) + 145px); }
}
@media (max-width:920px){
  :root{ --header-h:110px; --left-block:220px; --logo-w:175px; --logo-h:56px; --nav-top:48px; --cta-top:48px; }
  .v-wall,.h-split{ display:none !important; }
  .icon{ display:none !important; }
  .nav-abs{ left:12px; right:calc(var(--right-gap) + 170px); gap:22px; }
  .cta-abs{ right:var(--right-gap); width:146px; height:34px; }
}

/* БУРГЕР */
.burger{ position:absolute; top:12px; right:12px; width:40px; height:40px; display:none;
  border:0; background:transparent; padding:0; cursor:pointer; z-index:1101; }
.burger-lines, .burger-lines::before, .burger-lines::after{
  position:absolute; left:8px; right:8px; height:2px; background:#142047; content:"";
  transition:transform .2s ease, opacity .2s ease; top:50%; transform:translateY(-50%);
}
.burger-lines::before{ top:auto; transform:none; translate:0 -8px; }
.burger-lines::after{ top:auto; transform:none; translate:0 8px; }

.mnav{ position:fixed; inset:0; background:rgba(20,32,71,.45); backdrop-filter:blur(2px);
  opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:1100; }
.mnav[hidden]{ display:block; }
.mnav.open{ opacity:1; pointer-events:auto; }
.mnav-panel{ position:absolute; left:0; right:0; top:0; background:#fff;
  border-left:1px solid #e6e9ff; border-right:1px solid #e6e9ff;
  padding:16px 20px 24px; transform:translateY(-8%); transition:transform .25s ease;
  max-height:100dvh; overflow:auto; }
.mnav.open .mnav-panel{ transform:translateY(0); }

.mnav-close{ position:absolute; left:14px; top:12px; width:36px; height:36px;
  border:0; background:transparent; font-size:28px; line-height:1; color:#1e2d6e; cursor:pointer; }
.mnav-logo{ display:block; text-align:center; margin-top:6px; }
.mnav-logo img{ height:44px; width:auto; }

.mnav-list{ margin:16px 0 8px; }
.mnav-item{ display:block; text-align:center; padding:14px 8px; text-decoration:none;
  color:#142047; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  border-top:1px solid #e6e9ff; }
.mnav-item:last-child{ border-bottom:1px solid #e6e9ff; }

.mnav-extra{ display:flex; justify-content:center; gap:16px; margin:14px 0 6px; }
.mnav-soc{ font-weight:600; text-decoration:none; color:#2e3790; }

/* ЯЗЫК В БУРГЕРЕ: флаги + тот же тумблер */
.mnav-lang{ display:flex; align-items:center; justify-content:center; gap:14px; margin:6px 0 14px; }
.mnav-lang .flag{ display:inline-block; width:24px; height:14px; border:.5px solid #d8def8;
  background-size:cover; background-position:center; border-radius:2px; }
.mnav-lang .ru{ background-image:url("assets/flag_ru.png"); }
.mnav-lang .en{ background-image:url("assets/flag_en.png"); }

.mnav-cta{ display:block; margin:10px auto 6px; max-width:320px; text-align:center;
  background:#0E1C4B; color:#fff; text-decoration:none; font-weight:700;
  padding:12px 18px; border-radius:10px; }

/* скрываем бургер в шапке, когда меню открыто */
.menu-open .burger{ display:none !important; }

/* МОБИЛЬНЫЙ ХЕДЕР: логотип по центру, бургер слева снизу */
@media (max-width:680px){
  :root{ --header-h:104px; --left-block:170px; --logo-w:150px; --logo-h:50px; }
  .logo{ left:50% !important; transform:translate(-50%,-50%); }
  .burger{ display:block; top:auto !important; right:auto !important; bottom:10px; left:12px; }

  /* скрываем элементы ТОЛЬКО в шапке, не трогаем меню */
  .header-canvas .nav-abs,
  .header-canvas .cta-abs,
  .header-canvas .phone,
  .header-canvas .email,
  .header-canvas .flag-ru,
  .header-canvas .flag-en,
  .header-canvas .lang-toggle-abs,
  .header-canvas .icon,
  .v-wall, .h-split{ display:none !important; }
}
@media (max-width:360px){ .mnav-cta{ max-width:290px; } }



/* ===== iPad portrait (768–820px): логотип слева, бургер справа ===== */
@media (max-width: 920px) and (min-width: 681px){
  :root{
    --header-h: 84px;         /* пониже хедер */
    --logo-w: 180px;          /* размер логотипа под планшет */
    --logo-h: 56px;
  }

  /* убираем «сложности» из шапки — всё уедет в бургер */
  .header-canvas .nav-abs,
  .header-canvas .cta-abs,
  .header-canvas .phone,
  .header-canvas .email,
  .header-canvas .flag-ru,
  .header-canvas .flag-en,
  .header-canvas .lang-toggle-abs,
  .v-wall, .h-split,
  .icon{ display: none !important; }

  /* логотип фиксируем слева по макету */
  .logo{
    left: 16px !important;
    top: 50%;
    transform: translate(0,-50%) !important;
    width: var(--logo-w);
    height: var(--logo-h);
  }

  /* бургер показываем справа вверху */
  .burger{
    display: block !important;
    top: 18px !important;
    right: 16px !important;
    bottom: auto !important;
    left: auto !important;
  }
}
