/* К-247 — юридические блоки кабинета (LEGAL-I, public/app/legal.js): окно «Перед началом работы», раздел «Персональные данные»,
   блок «Продавец» и условия возврата в корзине. Для современного вида и классического семейства. Всё кликабельное — не меньше
   44 × 44 px, промежутки 8 px; без инлайн-стилей и цветных полос слева. */
.lg-btn { min-height: 44px; min-width: 44px; }
.lg-link {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px;
  color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere;
}
.lg-link:hover { text-decoration-thickness: 2px; }
/* висячие слова в подписях на 400 px (ревью 17.09) */
.lg-link, .lg-check span, .lgate__lead, .lg-dlg p { text-wrap: pretty; }
.lg-link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.lg-link--classic { font-size: 13px; }
.lg-check { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; line-height: 1.35; }
.lg-check input, .modal .modal__body .lg-check input[type="checkbox"] { width: 18px; height: 18px; min-width: 18px; min-height: 18px; flex: 0 0 auto; margin: 0; }
.lg-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.lg-warn { margin: 8px 0; color: #8A1C1C; line-height: 1.45; text-wrap: pretty; }

/* раздел «Персональные данные» */
.lg-pd { display: grid; gap: 4px; min-width: 0; }
.lg-pd p { margin: 0 0 6px; line-height: 1.5; max-width: 72ch; text-wrap: pretty; }
.lg-sec { padding-top: 12px; margin-top: 8px; border-top: 1px solid var(--line, rgba(35, 34, 31, 0.14)); min-width: 0; }
.lg-sec:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.lg-sec__h { margin: 0 0 8px; font-size: 15px; font-weight: 600; line-height: 1.3; }
.lg-tbl { width: 100%; border-collapse: collapse; }
.lg-tbl th, .lg-tbl td { text-align: left; padding: 6px 8px; vertical-align: top; border-bottom: 1px solid var(--line, rgba(35, 34, 31, 0.14)); }
.lg-docs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.lg-reqs { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; }
.lg-req { padding: 10px 12px; border-radius: 8px; box-shadow: inset 0 0 0 1px var(--line-strong, rgba(35, 34, 31, 0.28)); min-width: 0; }
.lg-req--soon { background: rgba(255, 192, 0, 0.14); }
.lg-req p { margin: 0 0 4px; overflow-wrap: anywhere; }
.lg-req__a { white-space: pre-line; }
.lg-st { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 12px; background: rgba(35, 34, 31, 0.08); }
.lg-st--done { background: rgba(28, 120, 60, 0.14); }
.lg-st--refused { background: rgba(138, 28, 28, 0.12); }
.lg-find { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; }
.lg-find__l, .lg-area { display: grid; gap: 4px; min-width: 0; flex: 1 1 220px; }
.lg-find__l span, .lg-area span { font-size: 12px; opacity: 0.72; }
.lg-find input, .lg-area select, .lg-area textarea { min-height: 44px; width: 100%; box-sizing: border-box; font: inherit; padding: 8px 10px; }
.lg-dlg { display: grid; gap: 8px; }
.lg-dlg p { margin: 0; line-height: 1.5; }

/* окно «Перед началом работы»: подложка не закрывает окно */
.lgate { z-index: 90; }
.lgate__box { max-width: 560px; }
.lgate__lead { margin: 0 0 8px; line-height: 1.5; }
.lgate__list { display: grid; gap: 0; }
.lgate__item { display: grid; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--line, rgba(35, 34, 31, 0.14)); }
.lgate__item .lg-link { justify-self: start; margin-left: 26px; font-size: 13px; }
.lgate__ver { margin-left: 26px; font-size: 12px; opacity: 0.62; }
.lgate__hint { margin: 8px 0 0; font-size: 13px; opacity: 0.8; }
.lgate__foot { flex-wrap: wrap; }

/* корзина: продавец и условия возврата */
.lg-sellers { display: grid; gap: 8px; margin: 0 0 12px; min-width: 0; }
.lg-seller { padding: 10px 12px; border-radius: 8px; box-shadow: inset 0 0 0 1px var(--line-strong, rgba(35, 34, 31, 0.28)); background: var(--surface, #FFFFFF); min-width: 0; }
.lg-seller__h { margin: 0 0 6px; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; overflow-wrap: anywhere; }
.lg-seller__dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 4px 16px; margin: 0; }
.lg-seller__dl div { min-width: 0; }
.lg-seller__dl dt { font-size: 12px; opacity: 0.66; }
.lg-seller__dl dd { margin: 0; overflow-wrap: anywhere; }
/* оговорка «К-247 не является продавцом» — обычным цветом, не мельче 13 px (контраст ≥ 4,5:1 во всех видах) */
.lg-seller__note { margin: 0; font-size: 13px; line-height: 1.45; opacity: 1; text-wrap: pretty; }
.lg-terms { margin: 8px 0; display: grid; gap: 4px; }
/* обычный цвет и 13 px: в корзине (.kcart-return-terms 11 px) и окне «Принять КП» текст условий не приглушается (ревью 17.09, контраст ≥ 4,5:1) */
.lg-terms .lg-terms__t { margin: 0; font-size: 13px; line-height: 1.45; color: inherit; opacity: 1; text-wrap: pretty; }
.lg-terms .lg-link { opacity: 1; }
.lg-check--terms { margin-top: 4px; }

/* раскрытый заказ: блок «Продавец» в ячейке широкой таблицы прилипает к левому краю прокрутки и не шире видимой области (ревью 17.09, 400 px) */
/* ширина — от видимой области прокрутки таблицы (контейнер .kwrap / .tablewrap с раскрытым заказом) */
.kwrap:has(td > .lg-sellers), .tablewrap:has(td > .lg-sellers) { container-type: inline-size; }
td > .lg-sellers { position: sticky; left: 0; width: min(720px, calc(100cqi - 24px)); max-width: calc(100vw - 32px); white-space: normal; box-sizing: border-box; }
td > .lg-sellers .lg-seller__dl { grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); }

/* классика: пункты «Персональные данные» / «Запросы ПДн» удлинили строку меню — на 1361–1480 px плотнее поля пунктов, как club.css на 1181–1360 px */
@media (min-width: 1361px) and (max-width: 1480px) {
  body.k-classic .knav__i { padding-left: 6px; padding-right: 6px; }
}

@media (max-width: 600px) {
  .lg-acts > .lg-btn, .lgate__foot > .lg-btn { flex: 1 1 100%; }
  .lg-seller__dl { grid-template-columns: minmax(0, 1fr); }
}
