/*
 * ОДИН ЗАМОК НА ВСЕ МОДАЛКИ — стили. Правила: docs/standards/modals.md.
 *
 * Задача ровно одна: страница не должна дёргаться вбок при открытии и закрытии.
 * Полоса прокрутки исчезает вместе с overflow:hidden, содержимое расширяется на
 * её ширину — и обратно при закрытии. Возвращаем эту ширину полем справа.
 *
 * Ширину меряет modal-chrome.js ДО блокировки и кладёт в --croco-sbw. На macOS
 * с наложенными полосами замер даёт 0, и все правила становятся безвредными.
 */

html.croco-modal-open {
  overflow: hidden !important;
}

/* Поле даём BODY, а не HTML: у HTML уже стоит overflow:hidden, и его собственное
   поле в некоторых движках не участвует в раскладке содержимого. */
html.croco-modal-open body {
  padding-right: calc(var(--croco-body-pr, 0px) + var(--croco-sbw, 0px)) !important;
}

/* Компенсируем только реально зафиксированный слой. Theme wrappers остаются
   в потоке body: padding на них повторно сужал внутренний sticky на ширину
   scrollbar, когда UIkit снимал fixed-класс во время открытия dialog. */
html.croco-modal-open .uk-sticky-fixed {
  padding-right: var(--croco-sbw, 0px);
}

/* Сами оверлеи модалок при этом становятся шире на ту же ширину — иначе их
   центрированная карточка съезжает на половину полосы. */
html.croco-modal-open .cad-modal,
html.croco-modal-open .croco-overlay,
html.croco-modal-open #exModal,
html.croco-modal-open #seModal,
html.croco-modal-open #rtModal {
  padding-right: var(--croco-sbw, 0px);
}

/* The calendar portal lives outside .cy-y: keep its heading on the same
   body typeface, including an explicit Cyrillic-capable sans fallback. */
#bwCm .bw-cm-title {
  font-family: 'DM Sans', Arial, sans-serif;
}
