/* Мобильное меню разделов сайта. Общий ассет, подключается любой страницей.

   Правка Дмитрия 18.08.2026, по мобильной версии с телефона:
   «Кнопку надо вообще убрать, потому что она полностью закрывает. Вместо неё сделать
   ещё гамбургер, потому что разделов там нет. Нужно сделать так, чтобы человек, когда
   смотрит сайт в мобильной версии, мог перейти на другие разделы сайта».

   Что было на 392 px: кнопка в шапке занимала 260 px из 392 и выдавливала бренд в угол,
   а полоса разделов .secnav уезжала за правый край, и дальние разделы были недостижимы.
   Что стало: в шапке бренд и гамбургер, все десять разделов внутри меню списком,
   призыв к действию первым пунктом меню.

   Границей взято 840 px: ровно на ней .secnav перестаёт обрезаться, это уже
   зафиксировано в самой странице медиазапросом max-width:839px.

   Своих цветов нет, всё из палитры: смена palette.css красит и меню. */

/* ── Гамбургер ─────────────────────────────────────────────────── */
.nav-burger{display:none;align-items:center;justify-content:center;gap:0;
  width:46px;height:46px;flex:none;padding:0;cursor:pointer;
  background:var(--card);color:var(--ink);border:1.5px solid var(--ink);border-radius:14px;
  transition:background .2s var(--ease)}
.nav-burger:hover{background:var(--wash)}
.nav-burger:focus-visible{outline:2px solid var(--ochre);outline-offset:3px}
.nav-burger i{position:relative;display:block;width:19px;height:1.8px;background:currentColor;
  border-radius:2px;transition:transform .24s var(--ease),opacity .18s var(--ease)}
.nav-burger i::before,.nav-burger i::after{content:"";position:absolute;left:0;width:19px;height:1.8px;
  background:currentColor;border-radius:2px;transition:transform .24s var(--ease)}
.nav-burger i::before{top:-6px}
.nav-burger i::after{top:6px}
/* Открытое состояние: три полосы складываются в крест. */
.nav-burger[aria-expanded="true"] i{background:transparent}
.nav-burger[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}
.nav-burger[aria-expanded="true"] i::after{transform:translateY(-6px) rotate(-45deg)}

/* ── Панель меню ───────────────────────────────────────────────── */
/* Выезжает слева, с той же стороны, где стоит гамбургер: панель, приезжающая
   с противоположного края от нажатой кнопки, читается как чужой элемент.
   Правка Дмитрия 18.08.2026 «перемести гамбургер налево». */
.navsheet{position:fixed;inset:0 auto 0 0;width:min(370px,88vw);z-index:70;
  background:var(--paper);border-right:1px solid var(--hair);
  display:flex;flex-direction:column;
  transform:translateX(-100%);transition:transform .26s var(--ease);
  visibility:hidden}
.navsheet.open{transform:none;visibility:visible;box-shadow:30px 0 70px -34px var(--shadow)}
.navsheet-h{flex:none;padding:var(--s4) var(--s4) var(--s3);border-bottom:1px solid var(--hair);
  display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.navsheet-h p{font-size:.74rem;letter-spacing:.11em;text-transform:uppercase;color:var(--stone)}
.navsheet-b{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:var(--s3) var(--s3) var(--s5)}

/* Разделы: карточка в контуре, как в оглавлении чек-листа. */
.navsheet-b a{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:baseline;
  padding:12px 13px;margin-bottom:6px;text-decoration:none;color:var(--text);
  font-size:1.02rem;line-height:1.35;background:var(--card);
  border:1px solid var(--hair);border-radius:var(--r-s);
  transition:border-color .18s var(--ease),color .18s var(--ease)}
.navsheet-b a:last-child{margin-bottom:0}
.navsheet-b a:hover{border-color:var(--ash);color:var(--ink)}
.navsheet-b a i{font-style:normal;font-family:Lora,Georgia,serif;color:var(--stone);font-size:1rem}
/* Раздел, который сейчас на экране. */
.navsheet-b a.here{border-color:var(--ink);color:var(--ink);font-weight:500;
  box-shadow:inset 3px 0 0 var(--ochre)}
.navsheet-b a.here i{color:var(--ochre-deep)}

/* Подвал панели. Правка Дмитрия 18.08.2026: «сделай что-нибудь с кнопкой, она какая-то
   большая». Кнопка в две строки вместе с телефоном и подписью съедала треть высоты
   экрана, и из десяти разделов было видно четыре. Ужат весь подвал, не только кнопка:
   отступы, кегль и межстрочный интервал. Телефон и подпись идут одной строкой каждый. */
.navsheet-f{flex:none;padding:12px var(--s3) var(--s3);border-top:1px solid var(--hair);
  display:grid;gap:2px}
.navsheet-f .btn{width:100%;padding:12px 14px;font-size:.94rem;line-height:1.25;
  border-radius:100px}
.navsheet-f .tel{display:block;text-align:center;font-size:.98rem;color:var(--ink);
  text-decoration:none;padding:8px 4px 2px}
.navsheet-f .tel:hover{color:var(--ochre)}
.navsheet-f small{display:block;text-align:center;color:var(--stone);font-size:.8rem;
  line-height:1.35}

.navscrim{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:69;opacity:0;
  pointer-events:none;transition:opacity .26s var(--ease)}
.navscrim.on{opacity:1;pointer-events:auto}

/* ── Что меняется на узком экране ───────────────────────────────── */
@media(max-width:839px){
  .nav-burger{display:inline-flex}
  /* Гамбургер уходит в левый край шапки, за ним бренд. Порядком, а не перестановкой
     разметки: на десктопе тот же блок .act держит телефон и кнопку справа.
     Селектор с тегом header взят не для красоты: правило .top .wrap с
     justify-content:space-between живёт во внутреннем <style> страницы, ниже по
     источнику, и при равной специфичности побеждает. Без тега бренд улетал в правый край. */
  header.top .wrap{justify-content:flex-start;gap:var(--s3)}
  .top .act{order:-1}
  /* Кнопка в шапке съедала 260 px из 392 и выдавливала бренд. Её место занял гамбургер,
     а сам призыв к действию переехал внутрь меню и остался в один тап. */
  .top .act .btn-p{display:none}
  /* Полоса разделов на узком экране обрезалась за правым краем: теперь разделы в меню,
     а шапка стала ниже на её высоту и перестала есть первый экран. */
  .secnav{display:none}
  /* Плавающий якорь перекрывал текст при прокрутке. На узком экране он больше не нужен:
     призыв к действию лежит первым в меню, а меню всегда в шапке. */
  .anchor{display:none !important}
  /* Липкая шапка стала ниже на высоту полосы разделов: было 121 px, стало 63 px,
     значит и отступ якоря должен ужаться, иначе над секцией висит пустая полоса 57 px.
     !important здесь не украшение: правило section[id]{scroll-margin-top:clamp(100px,15vh,120px)}
     живёт во внутреннем <style> страницы, то есть ниже по источнику, и без него побеждает. */
  section[id]{scroll-margin-top:74px !important}
}
@media(min-width:840px){
  .navsheet,.navscrim{display:none}
}

@media print{.nav-burger,.navsheet,.navscrim{display:none !important}}
