/* Этап 5 (30.10, арт-директор): «Консультации и цены», «Кейсы», «Вопросы и ответы», «Контакты» на блоках второй редакции.
   Подключается на этих четырёх страницах (extra_css=['misc.css']) после inner2.css. Без sticky и pin.
   Текст на телефоне — не мельче 16 px, подписи капсом — 13 px (НФТ-1). Зоны нажатия — не меньше 44 px. */

/* ---------- общее: «список + панель» на служебных страницах ---------- */
.md__i[hidden] { display: none !important; }                       /* фильтр кейсов: .md__i на компьютере — display: contents */
/* компьютер: все панели в одной ячейке сетки, неактивные невидимы, но занимают место — при наведении страница ниже не прыгает */
@media (min-width: 960px) {
  :is(.md--price, .md--cases, .md--faq) .md__btn[aria-expanded="false"] + .md__p { display: block; visibility: hidden; pointer-events: none; }
}
@media (max-width: 599px) { :is(.md--price, .md--cases, .md--faq) .md__p { padding-left: 0; } }

/* ================= ПЕРВЫЙ ЭКРАН «КОНТАКТОВ»: каналы вместо пары кнопок ================= */
.ct { display: grid; justify-items: start; gap: var(--s2); margin-top: var(--s5); }
.ct__tel { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; font: 500 clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem)/1.1 var(--f-num);
  letter-spacing: .01em; color: var(--ink); text-decoration: none; white-space: nowrap; }
.ct__tel .i { width: .72em; height: .72em; color: var(--gold-lo); }
.ct__alt { display: flex; flex-wrap: wrap; gap: 0 var(--s5); }
.ct__alt a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--ink); font-weight: 500; text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); text-underline-offset: 5px; text-decoration-thickness: 1px; }
.ct__alt .i { width: 18px; height: 18px; color: var(--gold-lo); }
@media (hover: hover) and (pointer: fine) { .ct__tel:hover, .ct__alt a:hover { color: var(--gold-hi); } }
@media (max-width: 959px) { .ct { order: 5; } }
@media (max-width: 599px) { .ct { margin-top: var(--s4); } .ct__alt { gap: 0 var(--s4); } .ct__alt a { font-size: 1rem; } }

/* ================= ЦЕНЫ: три ступени консультации ================= */
.cl { margin-top: var(--s5); }
.cl__l { border-top: 1px solid var(--line-l); }
.cl__i { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 4px var(--s4); padding: var(--s4) 0; border-bottom: 1px solid var(--line-l); }
.cl__n { font: var(--w-h) calc(1.125rem * var(--k-h))/1.25 var(--f-serif); color: var(--t-d); }
.cl__p { font: 500 1.375rem/1.1 var(--f-num); color: var(--gold-hi); white-space: nowrap; text-align: right; }
.cl__p small { font-size: .75em; font-weight: 400; color: var(--t-d2); }
.cl__i--free .cl__p { color: var(--t-d); }
.cl__d { grid-column: 1 / -1; font-size: 1rem; line-height: 1.45; color: var(--t-d2); }
@media (min-width: 960px) {
  .cl__l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line-l); }
  .cl__i { display: flex; flex-direction: column; gap: var(--s2); padding: var(--s5) var(--s5) var(--s5) 0; border-bottom: 0; }
  .cl__i + .cl__i { padding-left: var(--s5); border-left: 1px solid var(--line-l); }
  .cl__p { order: 2; margin-top: var(--s1); font-size: clamp(2rem, 1.4rem + 1.2vw, 2.75rem); text-align: left; }
  .cl__d { order: 3; font-size: .9375rem; max-width: 22em; }
}
/* 14 и 15 числа: листки календаря (месяц ставит misc.js), одно действие — записаться на эти дни */
.cl__free { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--s3) var(--s4); margin-top: var(--s5);
  padding: var(--s4); border-radius: var(--r-card); background: color-mix(in srgb, var(--gold) 15%, transparent); }
.cl__cal { display: flex; gap: 6px; }
.cl__day { position: relative; display: grid; justify-items: center; align-content: end; gap: 3px; width: 54px; height: 62px; padding-bottom: 8px; overflow: hidden;
  border-radius: 6px; background: var(--white); box-shadow: 0 1px 0 rgba(43, 36, 29, .08), 0 10px 20px -14px rgba(43, 36, 29, .55); }
.cl__day::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 11px; background: var(--gold); }
.cl__day b { font: 600 1.375rem/1 var(--f-num); color: var(--ink); }
.cl__day small { font: 600 .8125rem/1 var(--f-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-2); }
.cl__ft { line-height: 1.5; color: var(--t-d); }
.cl__ft b { font-weight: 600; }
.cl__go { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; color: var(--gold-hi); }
.cl__go .i { width: 18px; height: 18px; transition: transform 200ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .cl__go:hover .i { transform: translateX(4px); } }
@media (min-width: 600px) { .cl__free { grid-template-columns: auto minmax(0, 1fr) auto; padding: var(--s4) var(--s5); } .cl__go { grid-column: auto; } }

/* ================= ЦЕНЫ НА РАБОТУ: группы — «список + панель» ================= */
.md--price .md__card { padding-bottom: var(--s5); }
.pb__l { margin-top: var(--s2); }
.pb__l li { padding: 14px 0; }
.pb__l b { line-height: 1.4; }
.pb__dirs { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--s4); margin-top: var(--s4); }
.pb__dirs .md__k { flex-basis: 100%; margin-bottom: 2px; }
.pb__dirs a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--gold-hi); font-weight: 500; text-decoration: none; }
.pb__dirs a .i { width: 16px; height: 16px; transition: transform 200ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .pb__dirs a:hover .i { transform: translateX(3px); } }
@media (min-width: 960px) { .pb__dirs { justify-content: flex-start; margin-top: var(--s5); } }
.pb__note { margin-top: var(--s5); max-width: 40em; font-size: .9375rem; line-height: 1.5; color: var(--t-d2); }
@media (min-width: 960px) { .pb__note { width: calc((100% - var(--s6)) * 5 / 12); } }
@media (max-width: 599px) { .pb__note, .pb__l b { font-size: 1rem; } }

/* ================= КЕЙСЫ: фильтр-чипы + «папка дела» в панели ================= */
html:not(.js) .cf { display: none; }
.cf { margin-top: var(--s5); }
.cf__l { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cf__c { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid var(--line-l); border-radius: var(--r-pill);
  background: color-mix(in srgb, var(--white) 55%, transparent); color: var(--t-d); font-size: .9375rem; font-weight: 500; white-space: nowrap;
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease; }
.cf__c small { font: 600 .8125rem/1 var(--f-num); color: var(--gold-lo); }
.cf__c--g, .cf__c--all { font-weight: 600; border-color: color-mix(in srgb, var(--gold) 60%, transparent); }
.cf__c[aria-pressed="true"] { background: var(--t-d); border-color: var(--t-d); color: var(--g7); }
.cf__c[aria-pressed="true"] small { color: color-mix(in srgb, var(--g7) 75%, transparent); }
@media (hover: hover) and (pointer: fine) { .cf__c[aria-pressed="false"]:hover { border-color: var(--gold); background: var(--white); } }
.cf__n { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* 30.10: чипов три (все / частным / бизнесу) — на телефоне переносятся, без ленты */
@media (max-width: 599px) { .cf__c { flex: 1 1 auto; justify-content: center; padding: 0 12px; font-size: 1rem; } .cf__c--all { flex: 0 0 auto; } }
.md--cases { margin-top: var(--s4); }
.md--cases .md__t small { text-wrap: balance; }
.md--cases .exf { margin-top: 0; }
.md--cases .exf__more { margin-top: var(--s3); }
@media (min-width: 960px) { .md--cases .md__card { padding: 0; border: 0; background: none; box-shadow: none; } }
@media (max-width: 959px) {
  .md--cases .md__p { padding-right: 0; }
  .md--cases .exf { margin-top: var(--s2); }
  .md--cases .exf h3 { display: none; }                               /* заголовок уже в строке над папкой */
  .md--cases .exf__paper > .exf__cols { margin-top: 0; }
}

/* ================= ВОПРОСЫ: поиск + темы ================= */
html:not(.js) .fs { display: none; }
.fq-head { align-items: end; }
.fs { display: grid; gap: 8px; }
.fs__lab { font: 600 .75rem/1.25 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-lo); }
.fs__box { position: relative; display: flex; align-items: center; }
.fs__box > .i { position: absolute; left: 20px; width: 22px; height: 22px; color: var(--gold-lo); pointer-events: none; }
.fs__in { width: 100%; min-height: 60px; padding: 0 56px 0 54px; border: 1px solid color-mix(in srgb, var(--t-d) 26%, transparent); border-radius: var(--r-pill);
  background: var(--white); color: var(--t-d); font: 400 1.0625rem/1.2 var(--f-sans); -webkit-appearance: none; appearance: none;
  box-shadow: 0 18px 40px -34px rgba(43, 36, 29, .55); transition: border-color 200ms ease, box-shadow 200ms ease; }
.fs__in::placeholder { color: color-mix(in srgb, var(--t-d) 46%, transparent); }
.fs__in::-webkit-search-cancel-button, .fs__in::-webkit-search-decoration { -webkit-appearance: none; display: none; }
.fs__in:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 28%, transparent), 0 18px 40px -34px rgba(43, 36, 29, .55); }
.fs__x { position: absolute; right: 8px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--t-d2); }
.fs__x .i { width: 18px; height: 18px; }
@media (hover: hover) and (pointer: fine) { .fs__x:hover { background: color-mix(in srgb, var(--gold) 16%, transparent); color: var(--t-d); } }
.fs__n { min-height: 1.5em; font-size: .9375rem; line-height: 1.5; color: var(--t-d2); }
.fs__n b { color: var(--t-d); font-weight: 600; }
@media (max-width: 599px) { .fs__lab { font-size: .8125rem; } .fs__n { font-size: 1rem; } .fs__in { min-height: 56px; } }

.md--faq .fq__l { margin-top: var(--s3); }
.md--faq .qa summary { min-height: 60px; padding-block: 14px; gap: var(--s4); }
.md--faq .qa summary h4 { margin: 0; font: 500 1.0625rem/1.4 var(--f-sans); color: var(--t-d); }   /* h4 не обнулён в base.css — было +45 px на вопрос */
.md--faq .qa__ico { width: 36px; height: 36px; }
.md--faq .qa__a { padding-right: var(--s4); }
.md--faq .qa__a p { font-size: 1rem; line-height: 1.6; }
@media (min-width: 960px) { .md--faq .md__h { margin-bottom: var(--s2); } .md--faq .md__btn { min-height: 62px; padding-block: 8px; } }   /* 15 тем: список короче на 150 px */

/* режим поиска: те же разметка и данные — темы становятся заголовками групп, показаны только совпадения */
.fq-sec.is-q .md--faq { margin-top: var(--s4); }
.md--faq.is-q .md__list { display: block; border-top: 0; }
.md--faq.is-q .md__i { display: block; border-bottom: 0; }
.md--faq.is-q .md__i.is-miss, .md--faq.is-q .qa.is-miss { display: none !important; }
.md--faq.is-q .md__btn { display: none; }
.md--faq.is-q .md__btn + .md__p { display: block !important; visibility: visible !important; pointer-events: auto !important; padding: 0; }
.md--faq.is-q .md__i + .md__i .md__p { margin-top: var(--s5); }
.md--faq.is-q .md__k--desk, .md--faq.is-q .md__f { display: none; }
.md--faq.is-q .md__h { display: block; margin: 0; font: var(--w-h) calc(1.375rem * var(--k-h))/1.2 var(--f-serif); color: var(--t-d); }
@media (min-width: 960px) { .md--faq.is-q .md__card { max-width: 880px; padding: var(--s5) var(--s6); } }
.md--faq mark { padding: 0 1px; border-radius: 2px; color: inherit; background: linear-gradient(transparent 55%, color-mix(in srgb, var(--gold) 42%, transparent) 55%); }
.fq-empty { margin-top: var(--s5); max-width: 40em; padding: var(--s5); border-radius: var(--r-card); background: color-mix(in srgb, var(--gold) 12%, transparent); color: var(--t-d); line-height: 1.55; }
.fq-empty__t { font: var(--w-h) calc(1.25rem * var(--k-h))/1.25 var(--f-serif); margin-bottom: var(--s2); }
.fq-empty .sn__cta { margin-top: var(--s4); }   /* 30.10: пара «позвонить / задать вопрос», запрос уходит в сообщение */
.fq-actual { margin-top: var(--s5); }
.fq-sec.is-q .fq-actual { display: none; }

/* ================= КОНТАКТЫ: как добраться + заявка ================= */
.cw { display: grid; gap: var(--s7); }
@media (min-width: 960px) { .cw { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--s7); align-items: start; } }
.cw__where .h2 + .cmap { margin-top: var(--s5); }
/* карта: тонированная картинка OSM (как на главной), центр картинки = кабинет; метка падает и «пульсирует» трижды, когда карта в поле зрения */
.cmap { --mw: 1700px; position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; isolation: isolate; border-radius: var(--r-card);
  background: #E9E0D1; box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 45%, transparent), 0 30px 60px -46px rgba(43, 36, 29, .6); }
.cmap img { position: absolute; left: calc(50% - var(--mw) / 2); top: calc(50% - var(--mw) / 4); width: var(--mw); max-width: none; height: auto;
  transition: transform 1.4s var(--ease-out); }
.cmap__pin { position: absolute; z-index: 2; left: 50%; top: 50%; width: 36px; height: 46px; transform: translate(-50%, -100%);
  transition: transform 700ms cubic-bezier(.34, 1.56, .64, 1), opacity 300ms ease; }
.cmap__pin svg { display: block; width: 100%; height: 100%; filter: drop-shadow(0 6px 6px rgba(31, 31, 36, .28)); }
.cmap__ring { position: absolute; left: 50%; bottom: -6px; width: 16px; height: 16px; margin-left: -8px; border: 2px solid var(--gold); border-radius: 50%; opacity: 0; }
.cmap.is-in .cmap__ring { animation: cmap-ping 2.4s var(--ease-out) .7s 3; }
@keyframes cmap-ping { 0% { transform: scale(.5); opacity: .9; } 80%, 100% { transform: scale(2.6); opacity: 0; } }
.cmap--wait .cmap__pin { opacity: 0; transform: translate(-50%, calc(-100% - 30px)); }
.cmap--wait img { transform: scale(1.07); }
.cmap--wait.is-in .cmap__pin { opacity: 1; transform: translate(-50%, -100%); }
.cmap--wait.is-in img { transform: none; }
.cmap__open { position: absolute; z-index: 2; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px;
  border-radius: var(--r-pill); background: color-mix(in srgb, var(--white) 92%, transparent); color: var(--ink); font-size: .875rem; font-weight: 500;
  box-shadow: 0 8px 20px -14px rgba(31, 31, 36, .6); }
.cmap__open .i { width: 15px; height: 15px; color: var(--gold-lo); }
@media (hover: hover) and (pointer: fine) { .cmap:hover img { transform: scale(1.03); } .cmap:hover .cmap__open { background: var(--white); } }
@media (prefers-reduced-motion: reduce) { .cmap img, .cmap__pin { transition: none; } .cmap.is-in .cmap__ring { animation: none; } }
.cw__k { margin-top: var(--s5); }
.cw__addr { margin-top: 6px; font: var(--w-h) calc(clamp(1.375rem, 1.1rem + .8vw, 1.75rem) * var(--k-h))/1.2 var(--f-serif); color: var(--t-d); text-wrap: balance; }
.cw__note { margin-top: var(--s3); max-width: 36em; line-height: 1.5; color: var(--t-d2); }
.cw__route { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s4); margin-top: var(--s5); }
.cw__alt { color: var(--t-d2); font-size: .9375rem; }
.cw__alt a { display: inline-flex; align-items: center; min-height: 44px; color: var(--t-d); text-underline-offset: 3px; }
/* 30.10: формы нет, пока нет приёма заявок (152-ФЗ) — справа от карты адрес, запись и маршрут */
.cw__info > :first-child { margin-top: 0; }
@media (min-width: 960px) { .cw__info { margin-top: calc(var(--fs-h2) * var(--k-h) * 1.06 + var(--s5)); } }
@media (max-width: 599px) {
  .cmap { --mw: 1150px; aspect-ratio: 4 / 3; }
  .cmap__open { font-size: 1rem; }
  .cw__route .btn { flex: 1 1 100%; }
  .cw__alt, .cw__note { font-size: 1rem; }
}

