@import "/assets/css/cmn/fonts.css";
@import "/assets/css/cmn/fa-all.min.css";
@import "/assets/css/cmn/icons.css";
@import "/assets/css/base/nav.css?v=20260810";
@import "/assets/css/base/footer.css";

:root {
	--color-main: #fff;
	--color-surface: #fbf9f6;
	--color-surface-2: #f2e8de;
	--color-main-t16: #ffffff10;
	--color-accent: #bca77e;
	--color-dark: #1b224b; /* original: #10162e */
	--color-darker: #111931;
	--color-dark-t192: #1b224bc0;
	--color-desc: #3f484f;
	/**/
	--color-on-main: var(--color-dark);
	--color-on-surface: var(--color-dark);
	--color-on-accent: var(--color-main);
	--color-on-dark: var(--color-main);
	--color-on-desc: var(--color-main);
	/**/
	--color-table-border: #0001;
	--color-error: #f007;
	--color-on-error: #700;
	/**/
	--wrapper: 1140px;
	--wrapper-wide: 1680px;
	--mobile: 769px;
	/**/
	--p1: 5px;
	--p2: 10px;
	--p3: 15px;
	--p4: 20px;
	/**/
	--br: 3px; /* v1: 50px*/
	--br-10: 10px;
	/**/
	--transition-fast: .15s ease-in;
	--transition-main: .3s ease-in;
}

* {
	font: inherit;
	color: inherit;
	line-height: inherit;
	text-decoration: unset;
	background: unset;
	border: unset;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

html {
	font-family: Montserrat, Arial, sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: var(--color-desc);
	line-height: 1.5;
}

body {
	position: relative;
		top: 0 !important;
	display: grid;
		grid-template-rows: 1fr min-content;
		grid-template-columns: minmax(0, 1fr);
	width: 100%;
	max-width: 100vw;
	min-height: 100vh;
	overflow-x: hidden;
}

sub {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
	bottom: -0.25em;
}








/* LOADER */
.site-loader {
	position: fixed;
		inset: 0;
	background-color: var(--color-main);
	display: flex;
		align-items: center;
		justify-content: center;
	height: 100%;
	width: 100%;
	text-align: center;
	visibility: hidden;
	opacity: 0;
	transition: var(--transition-main);
	z-index: 9999999;
}
.site-loader.active { visibility: visible; opacity: 1; }
.loader-content img { width: 40px; }







/* <INPUTS> */
/* form */
.default-form {
	margin: 0 auto;
}
.default-form .field-description {
	padding-bottom: var(--p1);
	user-select: none;
}
.default-form input, .default-form textarea, .default-form select {
	width: 100%;
}
.default-form textarea {
	min-height: 6em;
}
.default-form span.error {
	display: block;
	font-size: 12px;
	color: var(--color-on-error);
}
.default-form .field-title {
	display: block;
	font-size: 1.1em;
	font-weight: 500;
}
/* fields */
.field {
	position: relative;
	display: flex;
		align-items: stretch;
		justify-content: center;
	width: 100%;
	border: 1px solid var(--color-surface-2);
	border-radius: var(--br);
	color: var(--color-desc);
}
.field input, .field textarea, .field select {
	width: 100%;
	padding: var(--p2) var(--p3);
	background: transparent;
	border: unset;
}
.field-with-icon input { padding-left: var(--p1); }
.field-icon {
	display: inline-flex;
		align-items: center;
		justify-content: center;
	text-align: center;
	font-size: 1.5em;
    line-height: 0;
	padding: var(--p2) var(--p3);
}
.field-triggers {
	display: inline-flex;
		align-items: stretch;
		justify-content: flex-end;
		gap: var(--p1);
}
.field-trigger {
	display: inline-flex;
		align-items: center;
		justify-content: center;
	font-size: 1.5em;
	line-height: 0;
	padding: var(--p2);
	width: 50px;
}
.trigger-show-password:not(.active) .hide-password-indicator { display: none; }
.trigger-show-password.active .show-password-indicator { display: none; }
input[type="submit"], input[type="button"] { cursor: pointer; }
.field-required::after {
	content: '*';
	color: var(--color-error);
	margin-left: 5px;
}
.default-checkbox { display: none; }
.default-checkbox+label { display: block; }
.default-checkbox+label .default-checkbox-indicator {
	display: inline-flex;
		align-items: center;
		justify-content: center;
	width: 1.25em;
	height: 1.25em;
	color: transparent;
	border: 1px solid var(--color-surface-2);
	border-radius: var(--br);
	margin-right: .25em;
	transition: var(--transition-fast);
}
.default-checkbox:checked+label .default-checkbox-indicator { color: var(--color-dark);}
.default-checkbox+label:not(:read-only):not(:disabled):hover .default-checkbox-indicator { border-color: var(--color-dark); }
/* checkbox & radio */
.field-chks {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: var(--p3);
}
.field-chk {
	display: inline-grid;
		align-items: center;
		grid-template-columns: min-content 1fr;
		grid-gap: var(--p1);
}
.field-chks input { display: none; }
.field-chk-indicator {
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	border: 3px solid var(--color-accent);
	transition: var(--transition-main);
}
input[type="radio"]+.field-chk-indicator { border-radius: 50%; }
input:checked+.field-chk-indicator { background-color: var(--color-accent); }
/* password */
.password-field-container { position: relative; }
.password-field-container input { padding-right: calc(var(--p2) + 2.25em); }
.password-field-container .show-password-trigger {
	position: absolute;
		top: 1px; right: 1px;
		bottom: 1px;
	min-width: 1.25em;
	aspect-ratio: 1 / 1;
	background: url('/assets/img/icon/eye.svg') no-repeat center center / 1.25em;
	cursor: pointer;
}
.password-field-container input[type="text"]+.show-password-trigger { background-image: url('/assets/img/icon/eye-crossed.svg'); }
.password-field-container .show-password-trigger:hover { opacity: .7; }
/* files */
.drop-zone {
	display: block;
	text-align: center;
	padding: 3rem 2rem;
	border: 2px dashed var(--color-surface-2);
	border-radius: 12px;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
}
.drop-zone.dragover {
	border-color: var(--color-accent);
	background: var(--color-surface-2);
}
.drop-zone input { display: none; }
.file-list { margin-top: 1rem; display: flex; flex-direction: column; gap: 8px; }
.file-item { display: flex; align-items: center; gap: 10px; border: 1px solid var(--color-surface-2); border-radius: 8px; padding: 10px 14px; }
/* filter-inputs */
.filter-input {
	width: 100%;
	padding: var(--p2);
	border: 2px solid var(--color-surface-2);
	margin-top: var(--p1);
}
/* </INPUTS> */






/* <DEFAULTS> */
.default-list {
	list-style-type: none;
	color: var(--color-desc);
}
.default-list li {
	padding-left: 0;
}
.default-list li:not(:last-child) {
	margin-bottom: var(--p1);
}
/**/
.default-pre {
	white-space: pre-wrap;
}
/* </DEFAULTS> */








/* <BUTTONS> */
.btn {
	display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: var(--p2);
	white-space: nowrap;
	font-weight: bold;
	padding: var(--p3) var(--p4);
	border-radius: var(--br);
	border-width: 2px;
	border-style: solid;
	transition: var(--transition-main);
	cursor: pointer;
}
/**/
.btn.btn-ring-dark {
	background-color: var(--color-main);
	border-color: var(--color-dark);
	color: var(--color-dark);
}
.btn.btn-ring-dark:not(:disabled):hover {
	color: var(--color-main);
	background-color: var(--color-dark);
}
/**/
.btn.btn-accent {
	color: var(--color-on-accent);
	background-color: var(--color-accent);
	border-color: var(--color-accent);
}
.btn.btn-accent:not(:disabled):hover {
	color: var(--color-on-dark);
	background-color: var(--color-dark);
	border-color: var(--color-dark);
}
/**/
.btn.btn-dark {
	color: var(--color-main);
	background-color: var(--color-dark);
	border-color: var(--color-dark);
}
.btn.btn-dark:not(:disabled):hover {
	color: var(--color-main);
	background-color: var(--color-accent);
	border-color: var(--color-accent);
}
/**/
.btn:disabled { filter: grayscale(.5); opacity: .7; cursor: auto; }
/* </BUTTONS> */






/* <LINKS> */
.link {
	transition: .15s ease-in;
	color: var(--color-accent);
}
.link-dark { color: var(--color-dark); }
.link:hover { opacity: .7; }
/**/
.social-group {
	display: flex;
		gap: var(--p3);
	list-style-type: none;
}
.social-group li {
	display: inline-block;
}
/**/
.admin-fast-edit-link {
	position: fixed;
		top: 0; right: var(--p1);
	z-index: 999999;
}
/* </LINKS> */






/* OTHER */
.tooltip-mark {
	display: inline-flex;
		justify-content: center;
		align-items: center;
	background-color: var(--color-dark);
	color: var(--color-on-dark);
	font-size: 1em;
	font-weight: 700;
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	transition: .15s ease-in;
}
.tooltip-mark::after { content: '?'; }
.tooltip-mark:hover { background-color: var(--color-accent); }
/**/
.tag {
	display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: var(--p2);
	padding: var(--p1) var(--p2);
	font-size: 12px;
	font-weight: bold;
	border-radius: var(--br);
}
.tag-round { border-radius: 20px; }
.tag-border-accent { border: 2px solid var(--color-accent); }
.tag-surface {
	background-color: var(--color-surface);
	color: var(--color-desc);
}
.tag-surface-2 {
	background-color: var(--color-surface-2);
	color: var(--color-on-surface);
}
.tag-accent {
	background-color: var(--color-accent);
	color: var(--color-on-accent);
}
.tag-dark {
	background-color: var(--color-dark);
	color: var(--color-on-dark);
}







.load-skeleton {
	/* Ширина и высота настраиваются inline-стилями */
	display: inline-block;
	background: linear-gradient(
		130deg,
		#eeeeee 25%,
		#f5f5f5 50%,
		#eeeeee 75%
	);
	background-size: 200% 100%;
	background-position: -100% 0;
	animation: skeleton-move 1.5s infinite linear;
	border-radius: var(--br);
}
@keyframes skeleton-move {
	from { background-position: -100% 0; }
	to { background-position: 100% 0; }
}





.hide-scrollbar {
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.hide-scrollbar::-webkit-scrollbar { display: none; }









/* UTILITY */
.section {
	width: 100%;
	padding: calc(var(--p4) * 2) var(--p4);
}
.section-dark {
	background-color: var(--color-dark);
	color: var(--color-surface-2);
}
.section-page {
	display: grid;
		align-items: center;
	min-height: 100vh;
}
.wrapper {
	max-width: var(--wrapper);
	width: 100%;
	margin: 0 auto;
}
.wrapper-wide { max-width: var(--wrapper-wide); }
@media (max-width: 769px) {
	.section { padding: calc(var(--p4) * 2) var(--p2); }
}
/**/
.position-relative { position: relative; }
/**/
.block { display: block !important; }
.flex { display: flex; }
	.flex-wrap { flex-wrap: wrap; }
.grid { display: grid; }
	.grid-1-1 { grid-template-columns: 1fr 1fr; }
	.grid-1-1-1 { grid-template-columns: 1fr 1fr 1fr; }
	.grid-gap-p2 { grid-gap: var(--p2); }
	.grid-gap-p4 { grid-gap: var(--p4); }
.align-items-flex-start { align-items: flex-start; }
.align-items-center { align-items: center; }
.justify-content-center { justify-content: center; }
.justify-content-space-between { justify-content: space-between; }
.justify-content-space-evenly { justify-content: space-evenly; }
/**/
.p1, .p2, .p3, .p4 { display: inline-block; }
.p1 { padding: var(--p1); }
.p2 { padding: var(--p2); }
.p3 { padding: var(--p3); }
.p4 { padding: var(--p4); }
/**/
.border {
	border-width: 2px;
	border-style: solid;
}
.border-radius { border-radius: var(--br); }
.border-radius-light { border-radius: var(--br-10); }
/* TEXT */
h1, h2, h3, h4, h5, h6 {
	color: var(--color-dark);
}
h1, .font-size-h1 { font-size: 2em; font-weight: bold; }
h2, .font-size-h2 {	font-size: 1.75em; font-weight: bold; }
h3, .font-size-h3 {	font-size: 1.5em; font-weight: bold; }
h4, .font-size-h4 {	font-size: 1.25em; }
h5, .font-size-h5 {	font-size: 1em; }
h6, .font-size-h6 {	font-size: .9em; }
@media (max-width: 769px) {
	h1, .font-size-h1 { font-size: 1.60em; font-weight: bold; }
	h2, .font-size-h2 {	font-size: 1.40em; font-weight: bold; }
	h3, .font-size-h3 {	font-size: 1.25em; font-weight: bold; }
	h4, .font-size-h4 {	font-size: 1.15em; }
	h5, .font-size-h5 {	font-size: 1em; }
	h6, .font-size-h6 {	font-size: .9em; }
}
.title-with-bars {
	display: grid;
		grid-template-columns: 1fr max-content 1fr;
		align-items: center;
		grid-gap: var(--p4);
}
.title-with-bars::before, .title-with-bars::after {
	content: '';
	height: 1px;
	background-color: var(--color-table-border);
}
b, strong, .b, .bold { font-weight: 700; }
i, em, .i, .italic { font-style: italic; }
u, .u { text-decoration: underline; }
.b-100 { font-weight: 100; }
.b-200 { font-weight: 200; }
.b-300 { font-weight: 300; }
.b-400 { font-weight: 400; }
.b-500 { font-weight: 500; }
.b-600 { font-weight: 600; }
.b-700 { font-weight: 700; }
.b-800 { font-weight: 800; }
.b-900 { font-weight: 900; }
.text-align-left { text-align: left; }
.text-align-center { text-align: center; }
.text-align-right { text-align: right; }
.uppercase { text-transform: uppercase; }
.lowecase { text-transform: lowecase; }
/* COLORS */
.color-main { color: var(--color-main); }
.color-accent { color: var(--color-accent); }
.color-dark { color: var(--color-dark); }
.color-desc { color: var(--color-desc); }
.bg-color-main { background-color: var(--color-main); }
.bg-color-surface { background-color: var(--color-surface); }
.bg-color-accent { background-color: var(--color-accent); }
.bg-color-dark { background-color: var(--color-dark); }
.border-color-main { border-color: var(--color-main); }
.border-color-accent { border-color: var(--color-accent); }
.border-color-dark { border-color: var(--color-dark); }
/* HOVERS */
.transition-fast { transition: var(--transition-fast); }
.transition-main { transition: var(--transition-main); }
.on-hover-main-color:hover { color: var(--color-main); }
.on-hover-main-bg:hover { background-color: var(--color-main); }
.on-hover-accent-color:hover { color: var(--color-accent); }
.on-hover-accent-bg:hover { background-color: var(--color-accent); }
.on-hover-dark-color:hover { color: var(--color-dark); }
.on-hover-dark-bg:hover { background-color: var(--color-dark); }
/**/
.hide { display: none; }
@media (min-width: 769px) {
	.pc-hidden { display: none; }
}
@media (max-width: 769px) {
	.mobile-hidden { display: none; }
	.mobile-grid-fold { grid-template-columns: minmax(0, 1fr) !important; }
}