/* ЗАДАНИЕ_15 (клиентское приложение /w/): вёрстка пунктов UX-аудита 30.10. Поведение — за флагами config.json z15. */
/* U1: согласие «Хранить мою историю» одной строкой */
.hc-offer.hc-mini { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 12px; }
.hc-offer.hc-mini b { flex: 1 1 160px; min-width: 0; }
.hc-mini-a { display: flex; gap: 8px; flex: none; }
.hc-mini-a .btn { min-height: 40px; padding: 8px 14px; }
@media (min-width: 720px) { .h5-g.h5-g-one { grid-template-columns: minmax(0, 1fr); } }   /* U2 */
/* U4: «Написать тренеру» значком в строке «Перенести / Отменить» */
.bkacts:has(> .bk-tc) { display: flex; flex-wrap: nowrap; align-items: center; }
.bkacts:has(> .bk-tc) > .btn { flex: 1 1 0; min-width: 0; }
.bkacts > .bk-tc { flex: none; }
/* U8: работающий пункт в списке «скоро» — та же строка-кнопка, что в разделах кабинета */
.soon li:has(> .sec-row) { padding: 0; border: 0; background: none; min-height: 0; }
.soon li > .sec-row > span:not(.pg-pill-go) { flex: 1; min-width: 0; font-weight: 600; color: var(--text); }

/* ---------- Волна 1 М102: баннеры на главной /w/ (W_BANNERS) и М101: плашка рекламных сообщений (W_AD_CONSENT_TOGGLE) ---------- */
.bn { margin: 0 0 10px; }
.bn-rail { list-style: none; margin: 0; padding: 2px 0 6px; display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: none; overscroll-behavior-x: contain; }
.bn-rail::-webkit-scrollbar { display: none; }
.bn-item { flex: 0 0 min(92%, 420px); scroll-snap-align: start; display: flex; min-width: 0; }
.bn-item:only-child { flex-basis: 100%; }
.bn-card { display: flex; align-items: stretch; width: 100%; min-width: 0; overflow: hidden; border-radius: 18px; border: 1px solid var(--line);
  background: linear-gradient(135deg, var(--raise), var(--panel) 75%); color: var(--text); }
.bn-card.noimg { border-left: 3px solid var(--coral); }
.bn-img { flex: 0 0 38%; max-width: 160px; min-height: 96px; background: var(--raise); }
.bn-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bn-body { display: grid; gap: 3px; padding: 11px 13px 9px; align-content: space-between; flex: 1; min-width: 0; }
.bn-t { font: 600 15px/1.25 var(--f-head); letter-spacing: -.01em; overflow-wrap: anywhere; }
.bn-x { color: var(--muted); font-size: 13px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bn-act { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px; }
.bn-more { color: var(--coral); font-weight: 700; font-size: 14px; text-decoration: none; padding: 8px 0; min-height: 44px; display: inline-flex; align-items: center; }
.bn-hide { background: none; border: 0; color: var(--muted); font: inherit; font-size: 13px; cursor: pointer; padding: 8px 4px; min-height: 44px; }
.bn-hide:hover, .bn-more:hover { text-decoration: underline; }
.bn-dots { display: flex; justify-content: center; gap: 6px; padding-top: 2px; }
.bn-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--line2); }
.bn-dots i.on { background: var(--coral); width: 16px; border-radius: 3px; }
@media (min-width: 700px) { .bn-item { flex-basis: calc(50% - 5px); } }
.ad-plaque { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; padding: 12px 14px; border-radius: 18px; border: 1px solid var(--soft-line);
  background: var(--soft); }
.ad-pl-t { margin: 0; flex: 1; min-width: 0; font-size: 14px; line-height: 1.35; }
.ad-pl-a { display: flex; align-items: center; gap: 4px; flex: none; }
.ad-pl-x { background: none; border: 0; color: var(--muted); font-size: 26px; line-height: 1; cursor: pointer; width: 44px; height: 44px; }
@media (max-width: 420px) { .ad-plaque { flex-wrap: wrap; } .ad-pl-a { width: 100%; justify-content: space-between; } }
.ad-tg-l { display: flex; align-items: flex-start; gap: 10px; line-height: 1.4; }
.ad-tg-l input { margin-top: 3px; flex: none; }

/* М113 (STAFF_HINT_CLIENT): подсказка сотруднику в клиентском кабинете */
.staffhint { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 12px; padding: 10px 12px; border-radius: 14px;
  border: 1px solid var(--line, rgba(128,128,128,.3)); background: var(--surface, rgba(255,90,60,.08)); font-size: .92rem; }
.staffhint .sh-t { flex: 1 1 180px; min-width: 0; }
.staffhint .btn { text-decoration: none; }
.staffhint .sh-x { flex: none; width: 44px; height: 44px; margin-left: auto; border: 0; background: transparent; color: inherit; font-size: 1.4rem; cursor: pointer; }
/* Волна 2 М74 (W_LOGIN_DOCS): строка Оферта/Политика и необязательная галочка рассылок в окне «Вход» */
.ld-box { margin-top: 14px; }
.ld-line { margin: 0; font-size: 13px; line-height: 1.45; }
.ld-opt { align-items: flex-start; margin-top: 8px; line-height: 1.4; font-size: 14px; }
.ld-opt input { flex: none; margin-top: 2px; }
.ld-oa { margin: 8px 0 0; font-size: 13px; }
