/**
 * nyroModal (jquery-modal.js) — визуально как icms-dialog (boxed).
 *
 * Крестик: nyro-modal-boxed.js переносит .nyroModalCloseButton внутрь .nyroModalCont
 * и снимает style — здесь position:absolute; right (как icms-dialog).
 */

/* theme-gui form fieldset — в nyro-модалке без padding/border */
.nyroModalCont form fieldset {
	padding: 0;
	border: none;
}

.nyroModalTitle  {
	display: none !important;
}

/* --- Светлая тема (body.white-theme) — как #icms-bs-dialog-modal --- */
body.white-theme .nyroModalBg {
	position: fixed;
	opacity: 0.5 !important;
	filter: alpha(opacity=50);
	z-index: 1005000 !important;
}

body.white-theme .nyroModalCont {
	position: absolute;
	z-index: 1005001 !important;
	margin: 30px 10px;
	padding: 0;
	/* 100% у absolute часто даёт 0 — только vw */
	max-width: min(1000px, calc(100vw - 20px));
	border-radius: 6px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
	background: #fff !important;
	background-clip: padding-box;
	color: #000;
	overflow: auto;
	box-sizing: border-box;
}

body.white-theme .nyroModalCont h2,
body.white-theme .nyroModalCont h3 {
	color: #000 !important;
}

/* Заголовок [title]: типографика; позицию задаёт nmReposition (инлайн) */
body.white-theme .nyroModalTitle {
	margin: 0;
	padding: 12px 45px 12px 15px;
	height: auto;
	min-height: 44px;
	line-height: 1.42857143;
	font-size: 18px;
	font-weight: 500;
	color: #000 !important;
	background: none;
	border: 0;
	border-bottom: 1px solid #e5e5e5;
	white-space: normal;
	text-overflow: clip;
	overflow: visible;
	z-index: 1;
}

/* Крестик внутри окна: правый верх (nyro-modal-boxed.js кладёт в .nyroModalCont) */
body.white-theme .nyroModalCont .nyroModalCloseButton {
	position: absolute !important;
	top: 6px;
	right: 10px;
	left: auto !important;
	bottom: auto;
	width: auto !important;
	height: auto !important;
	min-width: 36px;
	min-height: 36px;
	margin: 0;
	padding: 6px 10px;
	float: none;
	text-indent: -9999px !important;
	overflow: hidden;
	background: transparent !important;
	background-image: none !important;
	border: 0;
	z-index: 1005002 !important;
	cursor: pointer;
	pointer-events: auto;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 22px;
	font-weight: bold;
	line-height: 1;
	color: #000;
	opacity: 0.35;
	filter: alpha(opacity=35);
	text-decoration: none;
}

body.white-theme .nyroModalCont .nyroModalCloseButton:hover,
body.white-theme .nyroModalCont .nyroModalCloseButton:focus {
	opacity: 0.35;
	filter: alpha(opacity=35);
	text-decoration: none;
}

body.white-theme .nyroModalCont .nyroModalCloseButton::after {
	content: "\00d7";
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-indent: 0;
	display: block;
	font-size: 22px;
	font-weight: bold;
	line-height: 1;
	color: #000;
	text-shadow: 0 1px 0 #fff;
}

body.white-theme .nyroModalCont .notice {
	color: #555;
}

/* Галерея: стрелки оставляем, только контраст при необходимости */
body.white-theme .nyroModalPrev:after,
body.white-theme .nyroModalNext:after {
	opacity: 0.65;
}

@media (min-width: 768px) {
	body.white-theme .nyroModalCont {
		margin: 30px auto;
	}
}

@media screen and (max-width: 640px) {
	/* Ajax/link: почти на всю ширину экрана — иначе nyro + 100% → «полоска» */
	body.white-theme .nyroModalCont:not(.nyroModalImg) {
		width: calc(100vw - 20px) !important;
		min-width: calc(100vw - 20px) !important;
		max-width: calc(100vw - 20px) !important;
		margin-left: 10px !important;
		margin-right: 10px !important;
		box-sizing: border-box !important;
	}
	body.white-theme .nyroModalCont.nyroModalImg {
		width: auto !important;
		min-width: 0 !important;
		max-width: calc(100vw - 20px) !important;
		margin-left: 10px !important;
		margin-right: 10px !important;
	}
	body.white-theme .nyroModalMessage .nyroModalCont {
		max-width: calc(100vw - 20px) !important;
	}
	body.white-theme .nyroModalCont .nyroModalCloseButton {
		min-width: 36px;
		min-height: 36px;
		background: transparent !important;
		background-size: auto !important;
	}
	body.white-theme .nyroModalTitle {
		font-size: 16px;
		padding-right: 45px;
	}
}

/* --- Тёмная тема (body.black-theme) — как icms.dialog black-theme --- */
body.black-theme .nyroModalBg {
	opacity: 0.65 !important;
	filter: alpha(opacity=65);
	z-index: 1005000 !important;
}

body.black-theme .nyroModalCont {
	z-index: 1005001 !important;
	margin: 30px 10px;
	padding: 0;
	max-width: min(1000px, calc(100vw - 20px));
	border-radius: 6px;
	border: 1px solid transparent;
	-webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.65);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.65);
	background: #000 !important;
	color: #fff;
	overflow: auto;
	box-sizing: border-box;
}

body.black-theme .nyroModalCont h2,
body.black-theme .nyroModalCont h3 {
	color: #fff !important;
}

body.black-theme .nyroModalTitle {
	color: #fff !important;
	border-bottom-color: rgba(255, 255, 255, 0.1);
}

body.black-theme .nyroModalCont .nyroModalCloseButton {
	position: absolute !important;
	top: 6px;
	right: 10px;
	left: auto !important;
	bottom: auto;
	width: auto !important;
	height: auto !important;
	min-width: 36px;
	min-height: 36px;
	margin: 0;
	padding: 6px 10px;
	float: none;
	text-indent: -9999px !important;
	background: transparent !important;
	background-image: none !important;
	border: 0;
	z-index: 1005002 !important;
	cursor: pointer;
	pointer-events: auto;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 22px;
	font-weight: bold;
	line-height: 1;
	opacity: 0.85;
	filter: alpha(opacity=85);
	text-decoration: none;
}

body.black-theme .nyroModalCont .nyroModalCloseButton:hover,
body.black-theme .nyroModalCont .nyroModalCloseButton:focus {
	opacity: 0.85;
	filter: alpha(opacity=85);
	text-decoration: none;
}

body.black-theme .nyroModalCont .nyroModalCloseButton::after {
	content: "\00d7";
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-indent: 0;
	display: block;
	font-size: 22px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	text-shadow: none;
}

body.black-theme .nyroModalCont .notice {
	color: #bdc3c7;
}

@media (min-width: 768px) {
	body.black-theme .nyroModalCont {
		margin: 30px auto;
	}
}

@media screen and (max-width: 640px) {
	body.black-theme .nyroModalCont:not(.nyroModalImg) {
		width: calc(100vw - 20px) !important;
		min-width: calc(100vw - 20px) !important;
		max-width: calc(100vw - 20px) !important;
		margin-left: 10px !important;
		margin-right: 10px !important;
		box-sizing: border-box !important;
	}
	body.black-theme .nyroModalCont.nyroModalImg {
		width: auto !important;
		min-width: 0 !important;
		max-width: calc(100vw - 20px) !important;
		margin-left: 10px !important;
		margin-right: 10px !important;
	}
	body.black-theme .nyroModalMessage .nyroModalCont {
		max-width: calc(100vw - 20px) !important;
	}
}

/*
 * stories (strsViewBox): общее правило «на всю ширину» для :not(.nyroModalImg) даёт пустые поля по бокам.
 * Узкая рамка по контенту; left/transform переопределяют inline от nyro после смены ширины.
 */
body.white-theme .nyroModalCont:not(.nyroModalImg):has(.strsViewBox),
body.black-theme .nyroModalCont:not(.nyroModalImg):has(.strsViewBox) {
	width: auto !important;
	min-width: 0 !important;
	max-width: min(360px, calc(100vw - 20px)) !important;
	left: 50% !important;
	right: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

/* Список уведомлений PM — свой close внутри item; крестик nyro не показываем */
body.white-theme .nyroModalCont:has(#pm_notices_list) .nyroModalCloseButton,
body.black-theme .nyroModalCont:has(#pm_notices_list) .nyroModalCloseButton {
	display: none !important;
}
