/* ===== Протокол24 — legal modal overflow fix v2.0.7 ===== */

/* Базовая защита от горизонтального переполнения */
html, body {
  overflow-x: hidden !important;
}

/* Контейнеры модального окна с юридическими документами */
.p24-legal-modal,
.p24-legal-modal__dialog,
.p24-legal-modal__content,
.p24-legal-popup,
.p24-legal-popup__dialog,
.p24-legal-popup__content,
.p24-legal-modal-v19,
.p24-legal-modal-v19__dialog,
.p24-legal-modal-v19__content,
[data-p24-legal-modal],
[data-p24-legal-popup] {
  box-sizing: border-box !important;
  max-width: min(1120px, calc(100vw - 32px)) !important;
}

/* Само окно */
.p24-legal-modal__dialog,
.p24-legal-popup__dialog,
.p24-legal-modal-v19__dialog,
[data-p24-legal-modal] .p24-legal-modal__dialog,
[data-p24-legal-popup] .p24-legal-popup__dialog {
  width: min(1120px, calc(100vw - 32px)) !important;
  max-width: min(1120px, calc(100vw - 32px)) !important;
  margin: 16px auto !important;
  left: auto !important;
  right: auto !important;
}

/* Контент внутри окна */
.p24-legal-modal__content,
.p24-legal-popup__content,
.p24-legal-modal-v19__content,
[data-p24-legal-modal] .p24-legal-modal__content,
[data-p24-legal-popup] .p24-legal-popup__content,
.p24-legal-modal .p24-legal-page,
.p24-legal-popup .p24-legal-page,
.p24-legal-modal-v19 .p24-legal-page {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

/* Весь дочерний контент документа должен ужиматься */
.p24-legal-modal__content *,
.p24-legal-popup__content *,
.p24-legal-modal-v19__content *,
.p24-legal-page *,
[data-p24-legal-modal] *,
[data-p24-legal-popup] * {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

/* Заголовки и длинные строки */
.p24-legal-modal__content h1,
.p24-legal-modal__content h2,
.p24-legal-modal__content h3,
.p24-legal-popup__content h1,
.p24-legal-popup__content h2,
.p24-legal-popup__content h3,
.p24-legal-page h1,
.p24-legal-page h2,
.p24-legal-page h3,
.p24-legal-modal__content p,
.p24-legal-popup__content p,
.p24-legal-page p,
.p24-legal-modal__content li,
.p24-legal-popup__content li,
.p24-legal-page li,
.p24-legal-modal__content td,
.p24-legal-modal__content th,
.p24-legal-popup__content td,
.p24-legal-popup__content th,
.p24-legal-page td,
.p24-legal-page th,
.p24-legal-modal__content a,
.p24-legal-popup__content a,
.p24-legal-page a {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

/* Переключатели оферта/согласие не должны вылезать вправо */
.p24-legal-modal__tabs,
.p24-legal-popup__tabs,
.p24-legal-page__tabs,
.p24-legal-switcher,
.p24-legal-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
}
.p24-legal-modal__tabs > *,
.p24-legal-popup__tabs > *,
.p24-legal-page__tabs > *,
.p24-legal-switcher > *,
.p24-legal-nav > * {
  max-width: 100% !important;
  white-space: normal !important;
}

/* Таблицы внутри документов */
.p24-legal-modal__content table,
.p24-legal-popup__content table,
.p24-legal-page table,
[data-p24-legal-modal] table,
[data-p24-legal-popup] table {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-collapse: collapse !important;
}

/* Мобильная версия */
@media (max-width: 767px) {
  .p24-legal-modal__dialog,
  .p24-legal-popup__dialog,
  .p24-legal-modal-v19__dialog,
  [data-p24-legal-modal] .p24-legal-modal__dialog,
  [data-p24-legal-popup] .p24-legal-popup__dialog {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin: 8px auto !important;
  }

  .p24-legal-modal__content,
  .p24-legal-popup__content,
  .p24-legal-modal-v19__content,
  [data-p24-legal-modal] .p24-legal-modal__content,
  [data-p24-legal-popup] .p24-legal-popup__content,
  .p24-legal-modal .p24-legal-page,
  .p24-legal-popup .p24-legal-page,
  .p24-legal-modal-v19 .p24-legal-page {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .p24-legal-modal__content h1,
  .p24-legal-popup__content h1,
  .p24-legal-page h1 {
    font-size: clamp(28px, 8vw, 44px) !important;
    line-height: 1.08 !important;
  }
}