/* Дополнения к вёрстке дизайнера для живого сайта (без правок его файлов). */
form:not([class]) { display: contents; }
.btn[aria-busy="true"] { opacity: .6; pointer-events: none; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Дни на две недели вперёд в «Новой записи» — лента с прокруткой, чипы не сжимаются */
.chips--days { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
.chips--days::-webkit-scrollbar { display: none; }
.chips--days .daychip { flex: 0 0 46px; }
/* Карточки в списках записей и клиентов — белые, но с тонкой рамкой и лёгкой тенью,
   чтобы не сливались с фоном экрана. */
.booking, .card--raised { border: 1px solid #dfdeea; box-shadow: 0 1px 2px rgba(22, 21, 29, .05), 0 2px 8px rgba(22, 21, 29, .05); }
.booking--next { border-color: transparent; box-shadow: inset 0 0 0 2px var(--c-accent); }
/* Плашка «Работаем в тестовом режиме» над шапкой кабинета (шторка — templates/cabinet/_beta.html) */
.beta-ribbon {
  flex-shrink: 0; display: flex; align-items: center; justify-content: center; gap: var(--sp-5);
  width: 100%; min-height: 32px; padding: var(--sp-5) var(--sp-14);
  border: 0; border-bottom: 1px solid var(--c-sun-line);
  background: var(--c-sun-bg); color: var(--c-sun-ink);
  font: inherit; font-size: var(--fs-12); font-weight: 600; cursor: pointer;
}
.beta-ribbon .i:last-child { opacity: .6; }
/* «Что нового» в профиле мастера */
.update { gap: var(--sp-7); }
.update__text { font-size: var(--fs-13); line-height: var(--lh-text); color: var(--c-ink-2); overflow-wrap: anywhere; }
.update__text a { color: var(--c-accent); font-weight: 600; }
/* Плашка «В сервисе что-то поменялось» над шапкой кабинета (templates/cabinet/_news.html) */
.news-ribbon {
  flex-shrink: 0; display: flex; align-items: center; justify-content: center; gap: var(--sp-5);
  width: 100%; min-height: 40px; padding: var(--sp-5) var(--sp-14);
  background: var(--c-accent-soft); color: var(--c-accent-ink);
  font-size: var(--fs-12); font-weight: 600; text-decoration: none;
}
.news-ribbon .i:last-child { opacity: .6; }
/* Почта в шторке «Написать в поддержку» */
.msgr__mark--mail { background: var(--c-accent); font-size: var(--fs-14); }
/* «Поставьте Бронировалку на экран телефона»: шторка (templates/app/_install.html) и плашка-напоминание */
.install-icon { width: 56px; height: 56px; border-radius: 14px; box-shadow: 0 4px 14px rgba(86, 69, 212, .25); }
.install-pros { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-7); }
.install-pros li { display: flex; gap: var(--sp-8); font-size: var(--fs-14); line-height: 1.4; }
.install-pros .i { flex-shrink: 0; margin-top: 2px; color: var(--c-ok); }
.install-steps {
  list-style: none; margin: 0; padding: var(--sp-12); display: flex; flex-direction: column; gap: var(--sp-10);
  border-radius: var(--r-16); background: var(--c-accent-soft);
}
.install-steps li { display: flex; gap: var(--sp-10); font-size: var(--fs-14); line-height: 1.4; }
.install-steps__n {
  flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center;
  background: var(--c-accent); color: #fff; font-size: var(--fs-12); font-weight: 600;
}
.install-steps__ico { display: inline-block; vertical-align: -3px; color: var(--c-accent-ink); }
.install-strip {
  display: flex; align-items: center; gap: var(--sp-10); padding: 10px 6px 10px 12px;
  border: 1.5px solid var(--c-accent-soft); border-radius: 16px; background: #fff;
}
.install-logo { width: 31px; height: 31px; flex-shrink: 0; border-radius: 9px; }
.install-strip[hidden], [data-install-row][hidden] { display: none; }
/* Галочка согласия на обработку ПД (ст. 9 152-ФЗ) — над кнопкой, зона нажатия ≥40 px */
.consent { display: flex; align-items: flex-start; gap: 10px; min-height: 40px; padding: 4px 0; font-size: var(--fs-12); line-height: var(--lh-text); color: var(--c-muted); cursor: pointer; }
.consent input { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; accent-color: var(--c-accent); }
.consent a { color: var(--c-accent-ink); }
/* Банк услуг: разделы с прилипающими заголовками, чипы-оглавление со счётчиком отмеченных */
[data-bank-list] { position: relative; }
.bank-group__head {
  position: sticky; top: 0; z-index: 1; margin: 0; padding: var(--sp-8) var(--sp-17) var(--sp-5);
  background: var(--c-bg); border-bottom: 1px solid var(--c-line);
  font-size: var(--fs-12); font-weight: 600; color: var(--c-muted);
}
.bank-cats { -webkit-mask-image: linear-gradient(to right, #000 85%, transparent); mask-image: linear-gradient(to right, #000 85%, transparent); }
.bank-cats--end { -webkit-mask-image: none; mask-image: none; }
.bank-cats[hidden] { display: none; }
.chip__count {
  display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; margin-left: var(--sp-5);
  padding: 0 var(--sp-5); border-radius: var(--r-pill); background: var(--c-accent-soft); color: var(--c-accent-ink);
  font-size: var(--fs-11); font-weight: 600; font-variant-numeric: tabular-nums;
}
.chip__count[hidden] { display: none; }
.chip[aria-pressed="true"] .chip__count { background: #fff; color: var(--c-accent-ink); }
