/*
 * Мобильная навигация сайта взрослой библиотеки: круглая кнопка вызова
 * и выезжающая слева панель с разделами. Разметку собирает menu-mob.js.
 * Цвета — фирменные зелёно-бежевые, как у остального сайта.
 */

/* ---------- кнопка вызова ---------- */
.bir-mob__knopka {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 6100;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(180deg, #b3ce77 0%, #9dbc5f 100%);
  box-shadow: 0 4px 14px rgba(110, 130, 60, .38);
  cursor: pointer;
  transition: transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
}
.bir-mob__polosa {
  display: block;
  width: 20px;
  height: 2.6px;
  border-radius: 2px;
  background: #ffffff;
  transition: transform 220ms cubic-bezier(0.23, 1, 0.32, 1), opacity 160ms ease;
}
body.bir-mob-otkryto .bir-mob__knopka { transform: rotate(90deg); }
body.bir-mob-otkryto .bir-mob__polosa:nth-child(1) { transform: translateY(7.6px) rotate(45deg); }
body.bir-mob-otkryto .bir-mob__polosa:nth-child(2) { opacity: 0; }
body.bir-mob-otkryto .bir-mob__polosa:nth-child(3) { transform: translateY(-7.6px) rotate(-45deg); }
.bir-mob__knopka:active { transform: scale(.94); }

/* ---------- затемнение ---------- */
.bir-mob__zaves {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 5900;
  display: none;
  background: rgba(60, 54, 36, .44);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
body.bir-mob-otkryto .bir-mob__zaves { display: block; }

/* ---------- панель ---------- */
.bir-mob {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 6000;
  display: none;
  box-sizing: border-box;
  width: 84vw;
  max-width: 320px;
  padding: 70px 0 24px;
  overflow-y: auto;
  background: rgba(255, 253, 248, .92);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
  border-right: 1px solid rgba(157, 188, 95, .35);
  border-radius: 0 22px 22px 0;
  box-shadow: 8px 0 34px rgba(90, 80, 40, .2);
  transform: translateX(-100%);
  transition: transform 260ms cubic-bezier(0.23, 1, 0.32, 1);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .bir-mob { background: #fffdf8; }
}
body.bir-mob-otkryto .bir-mob { transform: translateX(0); }

.bir-mob__shapka {
  margin: 0 16px 10px;
  padding: 0 0 10px;
  border-bottom: 2px solid rgba(157, 188, 95, .4);
  font-size: 13px;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: #7a6f52;
}

.bir-mob__spisok,
.bir-mob__vlozhennyy {
  margin: 0;
  padding: 0;
  list-style: none;
}
.bir-mob__punkt {
  position: relative;
  margin: 0 10px 4px;
  padding: 0;
  list-style: none;
}
.bir-mob__ssylka {
  display: block;
  box-sizing: border-box;
  min-height: 46px;
  padding: 12px 46px 12px 14px;
  border-radius: 12px;
  font-size: 16px;
  line-height: 1.25;
  text-transform: none;
  color: #5a4632 !important;
  text-decoration: none !important;
  transition: background-color 160ms cubic-bezier(0.23, 1, 0.32, 1), color 160ms ease;
}
.bir-mob__ssylka:active { background: rgba(157, 188, 95, .18); }
@media (hover: hover) and (pointer: fine) {
  .bir-mob__ssylka:hover { background: rgba(157, 188, 95, .16); color: #4b5c22 !important; }
}
.bir-mob__punkt.aktiven > .bir-mob__ssylka {
  background: linear-gradient(180deg, #b3ce77 0%, #9dbc5f 100%);
  color: #33400f !important;
  box-shadow: 0 3px 10px rgba(110, 130, 60, .3);
}

/* вложенные разделы свёрнуты, пока не нажали стрелку */
.bir-mob__punkt > .bir-mob__vlozhennyy { display: none; }
.bir-mob__punkt.raskryt > .bir-mob__vlozhennyy { display: block; }
.bir-mob__vlozhennyy {
  margin: 2px 0 6px 18px;
  padding-left: 2px;
  border-left: 2px solid rgba(157, 188, 95, .35);
}
.bir-mob__vlozhennyy .bir-mob__ssylka { font-size: 14.5px; min-height: 40px; padding-left: 12px; color: #6d6047 !important; }

/* стрелка раскрытия */
.bir-mob__strelka {
  position: absolute;
  top: 5px;
  right: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: rgba(122, 111, 82, .08);
  color: #5a4632;
  cursor: pointer;
  transition: transform 200ms cubic-bezier(0.23, 1, 0.32, 1), background-color 160ms ease;
}
.bir-mob__strelka svg { width: 18px; height: 18px; }
.bir-mob__punkt.raskryt > .bir-mob__strelka { transform: rotate(180deg); background: rgba(157, 188, 95, .28); }

@media (prefers-reduced-motion: reduce) {
  .bir-mob, .bir-mob__knopka, .bir-mob__polosa, .bir-mob__strelka, .bir-mob__ssylka { transition: none; }
  body.bir-mob-otkryto .bir-mob__knopka { transform: none; }
}

/* показываем всё это только на узких экранах */
@media (max-width: 900px) {
  .bir-mob__knopka { display: flex; }
  .bir-mob { display: block; }
  /* верхний ряд ссылок сдвигаем, чтобы кнопка не легла на него */
  #rt-drawer .rt-container,
  #rt-drawer ul.menutop { padding-left: 60px; }
}

/* ---------- значок «версия для слабовидящих» ----------
   Гоча: он стоит пунктом в ряду ссылок шапки, и стили этого ряда красят его
   в золотой и схлопывают картинку в нулевую ширину. Возвращаем размеры. */
li.bir-shapka__svv {
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* светлая подложка: иначе значок теряется на акварельной картинке шапки */
li.bir-shapka__svv .svv-vyzov {
  width: 42px !important;
  height: 42px !important;
  background: rgba(255, 255, 255, .88) !important;
  background-image: none !important;
  border: 1px solid rgba(157, 188, 95, .5) !important;
  box-shadow: 0 2px 8px rgba(90, 80, 40, .18) !important;
}
/* прижимаем значок к правому краю ряда; ряд у шаблона — flex,
   поэтому достаточно автоматического левого поля, но с весом выше правил меню */
ul.menutop li.bir-shapka__svv,
#rt-drawer ul.menutop li.bir-shapka__svv { margin-left: auto !important; margin-right: 0 !important; }
li.bir-shapka__svv .svv-vyzov img,
li.bir-shapka__svv img.svv-znak {
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
@media (hover: hover) and (pointer: fine) {
  li.bir-shapka__svv .svv-vyzov:hover { background: rgba(157, 188, 95, .22) !important; }
}

/* Номера разделов («01», «02»…) шаблон рисует картинками icon-noN.png внутри
   ссылки. В панели они только мешают — убираем, остаётся название раздела. */
.bir-mob__ssylka img,
.bir-mob__punkt img { display: none !important; }
.bir-mob__ssylka::before,
.bir-mob__ssylka::after,
.bir-mob__punkt::before,
.bir-mob__punkt::after { content: none !important; display: none !important; }
