/**
 * jamp-modals.css — единый стек z-index для ВСЕХ Bootstrap .modal
 *
 * backdrop:  100040 (обычный) / 100080 (когда открыта любая модалка — body.jamp-modal-open)
 * .modal:    100090  (окно ВСЕГДА выше backdrop)
 * .dialog:   100091
 * анкета:    100100  (поверх остальных при необходимости)
 * cookie:    2147483000 (свой файл)
 * PVZ:       2147483000 (свой CSS checkout)
 *
 * Не трогать lightbox / video-fs — у них свои fixed-слои.
 */

/* ---- backdrop ---- */
.modal-backdrop,
.modal-backdrop.fade,
.modal-backdrop.show,
.modal-backdrop.in,
body.modal-open .modal-backdrop,
body.modal-open .modal-backdrop.show,
body.modal-open .modal-backdrop.fade,
body.modal-open .modal-backdrop.in,
body.jamp-modal-open .modal-backdrop,
body.jamp-modal-open .modal-backdrop.show,
body.jamp-modal-open .modal-backdrop.fade,
body.jamp-modal-open .modal-backdrop.in {
	z-index: 100080 !important;
}

/* ---- все Bootstrap-модалки поверх backdrop ---- */
.modal,
.modal.fade,
.modal.show,
.modal.in,
body.modal-open .modal,
body.modal-open .modal.show,
body.modal-open .modal.in,
body.jamp-modal-open .modal {
	z-index: 100090 !important;
	position: fixed !important;
}

/* weber: display:flex на все .modal при modal-open → показываем только открытую */
body.modal-open .modal {
	display: none !important;
}
body.modal-open .modal.show,
body.modal-open .modal.in {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-box-align: flex-start; /* iOS: center ломает scroll длинных окон */
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	/* iOS: scroll на самом .modal, pointer-events auto — иначе жест «мертвый» */
	pointer-events: auto !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain;
	padding: 12px 0 24px !important;
	/* высота viewport с учётом iOS chrome */
	height: 100% !important;
	height: 100dvh !important;
	max-height: 100% !important;
	max-height: 100dvh !important;
}

.modal .modal-dialog,
body.modal-open .modal .modal-dialog {
	z-index: 100091 !important;
	position: relative !important;
	pointer-events: auto !important;
	margin: 12px auto !important;
	max-width: 96% !important;
	/* не обрезать контент — скролл либо modal, либо body */
	max-height: none !important;
	width: 100%;
}

.modal .modal-content,
body.modal-open .modal .modal-content {
	pointer-events: auto !important;
	position: relative;
	z-index: 1;
	/* НЕ overflow:hidden — на iOS блокирует прокрутку */
	overflow: visible !important;
	max-height: none !important;
}

.modal .modal-body,
body.modal-open .modal .modal-body {
	-webkit-overflow-scrolling: touch;
	overflow-x: hidden;
}

/* именованные окна (на всякий случай явно) */
#popup-halfbg-form,
#popup-halfbg-form.modal,
#aiTryOnModal,
#aiTryOnModal.modal,
#modal-saiz,
#modal-saiz.modal,
#quickViewModal,
#quickViewModal.modal,
#myModal,
#myModal.modal,
#popup-subscribe-form-legacy,
#popup-subscribe-form-legacy.modal {
	z-index: 100090 !important;
	position: fixed !important;
}

/* анкета — выше остальных модалок */
#popup-subscribe-form,
#popup-subscribe-form.modal,
#popup-subscribe-form.show,
#popup-subscribe-form.in,
body.modal-open #popup-subscribe-form,
body.jamp-anketa-open #popup-subscribe-form {
	z-index: 100100 !important;
	position: fixed !important;
	pointer-events: auto !important;
}
#popup-subscribe-form .modal-dialog,
#popup-subscribe-form .popup-anketa-dialog {
	z-index: 100101 !important;
	pointer-events: auto !important;
}
body.jamp-anketa-open .modal-backdrop {
	z-index: 100080 !important;
}

/* меню/шапка не перекрывают модалки */
body.modal-open #menu-overlay,
body.jamp-modal-open #menu-overlay {
	z-index: 999 !important;
	pointer-events: none !important;
}
body.modal-open .header-wrapper,
body.jamp-modal-open .header-wrapper {
	/* шапка ниже модалки */
	z-index: 1005 !important;
}

/* ---- iOS: body scroll lock без убийства scroll внутри modal ---- */
body.modal-open,
body.jamp-modal-open {
	/* position:fixed на body ломает iOS — не ставим */
	overflow: hidden !important;
	/* height: auto — иначе внутренний scroll .modal не едет */
	touch-action: manipulation;
}
body.modal-open.jamp-ios-modal,
body.jamp-modal-open.jamp-ios-modal {
	position: fixed !important;
	width: 100% !important;
	left: 0;
	right: 0;
	/* top задаёт JS (scrollY) */
}
/* бегущая строка не должна «уплывать» вместе с body fixed */
body.jamp-ios-modal .promo-ticker,
body.modal-open .promo-ticker,
body.jamp-modal-open .promo-ticker {
	position: fixed !important;
	/* top/bottom выставляет jampPinPromoTicker (visualViewport) */
	z-index: 1004 !important;
}

/* ---- Примерочная: длинная форма, скролл на iOS ---- */
#aiTryOnModal.modal.show,
#aiTryOnModal.modal.in,
body.modal-open #aiTryOnModal.show,
body.modal-open #aiTryOnModal.in {
	align-items: flex-start !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	pointer-events: auto !important;
}
#aiTryOnModal .modal-dialog {
	width: 95% !important;
	max-width: 1300px !important;
	margin: 16px auto 32px !important;
	max-height: none !important;
}
#aiTryOnModal .modal-content {
	overflow: visible !important;
	max-height: none !important;
}
#aiTryOnModal .modal-body {
	padding: 20px 16px 32px !important;
	overflow: visible !important;
	max-height: none !important;
	-webkit-overflow-scrolling: touch;
}
@media (max-width: 767.98px) {
	#aiTryOnModal .modal-dialog {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto 24px !important;
		border-radius: 0;
	}
	#aiTryOnModal .modal-content {
		min-height: 0 !important;
		border-radius: 0 !important;
	}
	/* колонки в столбик — чтобы всё влезало по высоте и скроллилось */
	#aiTryOnModal .modal-body .row > [class*="col-"] {
		width: 100% !important;
		float: none !important;
		border-right: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-bottom: 24px;
	}
	#aiTryOnModal .modal-body {
		padding: 16px 14px 40px !important;
	}
	/* шапка примерочной sticky внутри скролла */
	#aiTryOnModal .jamp-tryon-head {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		z-index: 2;
		background: #fff;
	}
}

/* логин / размерная сетка — тоже скролл на iOS */
#popup-halfbg-form.modal.show,
#popup-halfbg-form.modal.in,
#modal-saiz.modal.show,
#modal-saiz.modal.in {
	align-items: flex-start !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	pointer-events: auto !important;
}
#popup-halfbg-form .modal-content,
#modal-saiz .modal-content {
	overflow: visible !important;
}
