/* МЕНЮ ПО ЗАДАЧЕ КЛИЕНТА (задача 3172) · ВИД — МАКЕТ Б (задача 3264, выбор
   владельца 28.10: «телефон первым», тихо и крупно, без рамок вокруг строк).
   Разметку рисует deploy/build2/menyu_v3.py из deploy/build2/menyu.json;
   здесь — шапка (64 px, на столе пять слов и одна кнопка), панель «Услуги»
   колонками по восьми разделам, лист ☰ крупных слов (телефон — весь экран,
   стол — панель справа), плашка cookie в углу и блок «По ситуации».
   Источник размеров — ds3201/rab/maket/b и obshchee/osnova.css; цвета —
   токены темы витрины и палитра макета Б (style2.css: золото #B8860B/#D4AF37).
   Сторож вида — deploy/t3264/t3264_menu_maket_b_test.py. */

:root, [data-theme="light"] {
  --mn3-tih: #5C6470; --mn3-navod: rgba(37, 33, 28, .06);
  --mn3-akc: #B8860B; --mn3-akc-ink: #16181C; --mn3-akc-tekst: #7A5A06;
}
[data-theme="dark"] {
  --mn3-tih: #A9A193; --mn3-navod: rgba(245, 238, 227, .08);
  --mn3-akc: #D4AF37; --mn3-akc-ink: #12110E; --mn3-akc-tekst: #D4AF37;
}

/* ---------- Шапка: 64 px, ни одной рамки (идея И1: рамки шли из общего
   стиля .icon-btn/.burger и капсулы языка, а не из меню — сброс здесь) ---------- */
.hdr { border-bottom-color: transparent !important; }
.hdr .hdr-in { min-height: 64px !important; height: 64px; padding-top: 0 !important; padding-bottom: 0 !important; position: static; }
.hdr a, .hdr button, .hdr summary, .hdr details, .hdr .hdr-lang, .hdr .hdr-lang * {
  border-color: transparent !important; box-shadow: none !important;
}
.hdr .burger, .drawer .icon-btn {
  border-color: transparent !important; min-width: 44px !important; min-height: 44px !important;
  font-size: 22px; line-height: 1;
}
.hdr .burger:hover, .drawer .icon-btn:hover { background: var(--mn3-navod) !important; }
.hdr .brand { min-height: 44px; }
.hdr .e-marka { width: 28px; height: 28px; flex-basis: 28px; }

/* Одна кнопка действия: «Кабинет» — золотая капсула (на телефоне — внизу листа). */
.hdr .hdr-kabinet, .drawer .btn--ghost[data-kabinet-vhod] {
  display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px;
  border: 0 !important; border-radius: 999px; background: var(--mn3-akc) !important;
  color: var(--mn3-akc-ink) !important; font-weight: 600; font-size: 14px; text-decoration: none; white-space: nowrap;
}

/* ---------- Строка разделов стола: пять слов (с 1024 px) ---------- */
.hdr .hdr-nav { display: none !important; }
@media (min-width: 1024px) {
  .hdr .hdr-nav { display: flex !important; flex: 1; justify-content: center; min-width: 0; }
}
.hdr-nav .mn3 { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.hdr-nav .mn3-p { position: relative; }
.hdr-nav .mn3-p:has(> .mn3-raskr > .mn3-panel--uslugi) { position: static; }
.hdr-nav .mn3 > .mn3-p > a,
.hdr-nav .mn3-raskr > summary {
  display: inline-flex; align-items: center; gap: 4px; min-height: 40px; padding: 0 14px;
  font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap; cursor: pointer;
  color: var(--e-tekst) !important; font-family: var(--e-shrift); border-radius: 999px; background: transparent;
}
.hdr-nav .mn3 > .mn3-p > a:hover, .hdr-nav .mn3-raskr > summary:hover,
.hdr-nav .mn3-raskr[open] > summary { background: var(--mn3-navod); color: var(--e-tekst) !important; }
.hdr-nav .mn3-raskr > summary { list-style: none; }
.hdr-nav .mn3-raskr > summary::-webkit-details-marker { display: none; }
.hdr-nav .mn3-raskr > summary::after {
  content: ""; width: 6px; height: 6px; margin: -3px 0 0 4px; border: solid currentColor; border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg); transition: transform .25s ease; color: var(--mn3-tih);
}
.hdr-nav .mn3-raskr[open] > summary::after { transform: rotate(-135deg); margin-top: 3px; }
.hdr-nav .mn3-raskr > summary:focus-visible,
.hdr-nav .mn3 a:focus-visible, .hdr a:focus-visible, .hdr button:focus-visible { outline: 2px solid var(--e-ssylka); outline-offset: 2px; }

/* Панель «Услуги»: во всю ширину под шапкой, восемь колонок-разделов, без рамок. */
.hdr-nav .mn3-panel {
  position: absolute; top: calc(100% + 6px); left: 0; z-index: 80; min-width: 240px;
  padding: 10px 18px; background: var(--e-fon); color: var(--e-tekst);
  border: 0 !important; border-radius: 14px; box-shadow: 0 18px 40px rgba(0, 0, 0, .14);
}
.hdr-nav .mn3-panel--uslugi {
  top: 100%; left: 0; right: 0; border-radius: 0; max-height: calc(100vh - 80px); overflow: auto;
  padding: 32px max(48px, calc((100% - 1184px) / 2)) 40px; box-shadow: 0 30px 40px -30px rgba(0, 0, 0, .3);
}
.hdr-nav .mn3-razdely { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 40px; }
.hdr-nav .mn3-zag { margin: 0 0 10px; font-size: 15px; font-weight: 600; color: var(--mn3-tih); }
.hdr-nav .mn3-panel ul { list-style: none; margin: 0; padding: 0; }
.hdr-nav .mn3-panel a {
  display: block !important; padding: 6px 0; font-size: 14px; line-height: 1.35; white-space: normal;
  text-decoration: none; color: var(--e-tekst) !important; border: 0 !important; background: none !important;
}
.hdr-nav .mn3-panel a:hover { color: var(--mn3-akc-tekst) !important; }
.hdr-nav .mn3-vse { margin: 24px 0 0; padding: 0; border: 0; }
.hdr-nav .mn3-vse a { display: inline-flex !important; align-items: center; min-height: 40px; font-weight: 600; color: var(--mn3-akc-tekst) !important; }

/* ---------- Лист ☰: телефон — весь экран, крупные слова; стол — панель справа ---------- */
.drawer { border: 0 !important; }
.drawer.open { animation: mn3-list .25s ease; }
@keyframes mn3-list { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (min-width: 1024px) {
  .drawer { left: auto !important; width: 440px; max-width: 100%; box-shadow: -24px 0 48px rgba(0, 0, 0, .18); }
}
.drw-nav.mn3-shtorka { display: block !important; columns: auto !important; max-width: 100%; min-width: 0; margin-top: 8px; }
.mn3-shtorka summary, .mn3-shtorka a, .mn3-shtorka ul, .mn3-shtorka p { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.drawer nav a, .drawer .mn3-shtorka a { border: 0 !important; }
.mn3-shtorka > * + * { border-top: 1px solid var(--e-ramka); }
.mn3-sh-glav > summary, .drawer .mn3-shtorka a.mn3-sh-glav-a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 68px; padding: 0;
  font-size: 30px; font-weight: 600; letter-spacing: -.01em; line-height: 1.15; cursor: pointer; list-style: none;
  color: var(--e-tekst) !important; text-decoration: none;
}
.mn3-shtorka summary::-webkit-details-marker { display: none; }
.mn3-sh-glav > summary::after, .mn3-sh-razdel > summary::after {
  content: ""; flex: none; width: 9px; height: 9px; margin: -5px 4px 0 0; border: solid var(--mn3-tih);
  border-width: 0 1.6px 1.6px 0; transform: rotate(45deg); transition: transform .3s ease;
}
.mn3-sh-glav[open] > summary::after, .mn3-sh-razdel[open] > summary::after { transform: rotate(-135deg); margin-top: 5px; }
.mn3-sh-razdel > summary::after { width: 7px; height: 7px; }
.mn3-sh-glav[open] > .mn3-sh-vnutri, .mn3-sh-razdel[open] > ul { animation: mn3-raskr .34s cubic-bezier(.2, .7, .2, 1); }
@keyframes mn3-raskr { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.mn3-sh-vnutri { padding: 0 0 12px; }
.mn3-sh-razdel { border: 0; }
.mn3-sh-razdel > summary {
  display: flex; align-items: center; gap: 12px; justify-content: space-between; min-height: 48px;
  font-size: 18px; font-weight: 500; line-height: 1.25; cursor: pointer; list-style: none; color: var(--e-tekst);
}
.mn3-sh-deviz { margin: -4px 0 4px; font-size: 14px; line-height: 1.4; color: var(--mn3-tih); }
.mn3-sh-razdel ul, .mn3-sh-vnutri > ul { list-style: none; margin: 0; padding: 0 0 12px; }
/* Блок строк с заголовком (поле gruppa, «Команда», задача 3535). */
.mn3-gruppa > ul { list-style: none; margin: 0; padding: 0; }
.hdr-nav .mn3-gruppa { margin: 8px 0; }
.mn3-sh-vnutri .mn3-zag { margin: 8px 0 0; font-size: 14px; line-height: 1.4; color: var(--mn3-tih); }
/* Круг 3182: «.drawer nav a» в kapsuly.css держит строку в одну линию (nowrap),
   и длинное имя страницы уводило шторку до 410 px на экране 390. Здесь — перенос. */
.drawer .mn3-shtorka a { display: flex; align-items: center; min-height: 44px; padding: 6px 0; overflow-wrap: anywhere;
  white-space: normal; text-decoration: none; font-size: 16px; font-weight: 400; letter-spacing: 0; line-height: 1.3; color: var(--mn3-tih) !important; }
.drawer .mn3-shtorka a.mn3-sh-vse { margin: 4px 0 8px; font-weight: 600; color: var(--mn3-akc-tekst) !important; }
.mn3-sh-razdel > summary:focus-visible, .mn3-sh-glav > summary:focus-visible, .mn3-shtorka a:focus-visible,
.drawer button:focus-visible, .drawer a:focus-visible { outline: 2px solid var(--e-ssylka); outline-offset: 2px; }
/* Настройки внизу листа — без рамок вокруг выбора (выбранное — заливкой). */
.drawer .e-vybor { border: 0 !important; }
.drawer .btn--ghost[data-kabinet-vhod] { width: 100%; min-height: 52px; font-size: 17px; }

/* ---------- Плашка cookie: вид и место — как на master (edinyy.css, cookie-notice.js) ----------
   Макет Б ставит плашку в угол. Угол и низ экрана перекрывают содержимое — это
   красное у контролёра вёрстки (perekrytie-sticky), у пробы плашки
   (deploy/build2/proba_plashki.py, правило 2) и у щупа 2610 (контекст C).
   Полоса над шапкой остаётся до решения Г1 — отчёт задачи 3264. */

/* ---------- Блок «По ситуации» на главной — тем же языком: без рамок ---------- */
.mn3-sit { padding: 48px 0 56px; scroll-margin-top: 80px; }
.mn3-sit h2 { margin: 0 0 8px; font-size: clamp(28px, 5vw, 40px); font-weight: 600; letter-spacing: -.015em; color: var(--e-tekst); }
.mn3-sit-vvod { margin: 0 0 24px; max-width: var(--e-stroka, 590px); color: var(--mn3-tih); }
.mn3-sit-spisok { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 40px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .mn3-sit-spisok { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .mn3-sit-spisok { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mn3-sit-kart { padding: 20px 0; border: 0; border-top: 1px solid var(--e-ramka); border-radius: 0; background: transparent; color: var(--e-tekst); }
.mn3-sit-bol { margin: 0 0 6px; font-size: 22px; font-weight: 600; line-height: 1.25; color: var(--e-tekst); }
.mn3-sit-razdely { margin: 0 0 8px; font-size: 14px; color: var(--mn3-tih); }
.mn3-sit-ssylki { list-style: none; margin: 0; padding: 0; }
.mn3-sit-ssylki a { display: flex; align-items: center; min-height: 44px; color: var(--e-ssylka); overflow-wrap: anywhere; border: 0; }

/* Без движения — для тех, кто его выключил. */
@media (prefers-reduced-motion: reduce) {
  .drawer, .drawer.open, .mn3-sh-glav > .mn3-sh-vnutri, .mn3-sh-razdel > ul,
  .hdr-nav .mn3-raskr > summary::after, .mn3-sh-glav > summary::after, .mn3-sh-razdel > summary::after {
    animation: none !important; transition: none !important;
  }
}
