:root {
	--blue-spb: #4e6ab5;
	--white-spb: #ffffff;
	--gray-spb: #666666;
	--dark-gray-spb: #656565;
	--black-spb: #292d32;
	--ligth-blue-spb: #ddebff;
	--red-spb: #eb5757;
	--background-spb: #f6f6f6;
	--background-ui: #f9f9f9;
	--yellow-spb: #ffb800;
	--footer-bg: #1e3c72;

	--color-primary: #2563eb;
	--color-primary-dark: #1e3a8a;
	--color-primary-hover: rgb(37 99 235 / 0.9);
	--color-secondary: #f97316;
	--color-secondary-hover: #ea580c;
	--color-gray-50: #f9fafb;
	--color-blue-100: #dbeafe;
	--font-name: 'Montserrat', 'OpenSans', Arial, sans-serif;
	--font-name-header: 'Montserrat', 'OpenSans', Arial, sans-serif;
	--color-border-control: #d1d5db; /*#9ca3af;*/
	--color-border: #e5e7eb;
	--color-font: #374151;
	--color-gray-100: #f3f4f6;
	--color-gray-500: #6b7280;
	--color-gray-600: #4b5563;
	--color-gray-700: #f3f4f6;
	--color-text-gray-500: #6b7280;
	--color-text-gray-600: #4b5563;
	--color-text-gray-700: #374151;
	--color-bg-gray-50: #f9fafb;
	--color-bg-gray-100: #f3f4f6;
	--color-bg-gray-200: #e5e7eb;
	--color-bg-gray-900: #111827;
	--color-bg-amber-50: #fffbeb;
	--color-text-amber-600: #d97706;
	--color-text-amber-800: #92400e;
	--color-orange-500: #f97316;
	--color-text-orange-600: #ea580c;
	--color-bg-orange-50: #fff7ed;
	--color-bg-orange-500: #f97316;
	--color-text-green-600: #16a34a;
	--color-text-green-800: #166534;
	--color-bg-green-50: #f0fdf4;
	--color-bg-green-100: #dcfce7;
	--color-bg-green-500: #22c55e;
	--color-bg-purple-500: #800080;
	--color-text-red-500: #ef4444;
	--color-text-red-600: #dc2626;
	--color-text-red-800: #991b1b;
	--color-bg-red-50: #fef2f2;
	--color-bg-red-600: #fef2f2;
	--color-bg-blue-100: #dbeafe;
	--color-bg-blue-500: #3b82f6;
	--color-text-blue-600: #2563eb;
	--color-bg-violet-500: #8b5cf6;
	--border-radius-lg: 16px;
	--border-radius: 8px;
	--shadow-sm: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
	--shadow-md: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 4px 6px;
	--shadow-lg: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px;
}

.bg-green-500 {
	background-color: var(--color-bg-green-500) !important;
}
.bg-purple-500 {
	background-color: var(--color-bg-purple-500) !important;
}
.bg-blue-500 {
	background-color: var(--color-bg-blue-500) !important;
}
.bg-orange-500 {
	background-color: var(--color-bg-orange-500) !important;
}
.bg-violet-500 {
	background-color: var(--color-bg-violet-500) !important;
}
.text-gray-500 {
	color: var(--color-text-gray-500);
}
.text-gray-600 {
	color: var(--color-text-gray-600);
}
.text-gray-700 {
	color: var(--color-text-gray-700) !important;
}
.text-red-600 {
	color: var(--color-text-red-600) !important;
}
.text-green-600 {
	color: var(--color-text-green-600) !important;
}
.text-sm {
	font-size: 0.875rem;
	line-height: 1.25rem;
}
.text-lg {
	font-size: 1.125rem;
	line-height: 1.75rem;
}
.text-bold {
	font-weight: 700;
}

input::placeholder,
textarea::placeholder {
	font-family: var(--font-name);
	opacity: 1;
	color: #9ca3af;
}
select {
	text-overflow: '';
}
label {
	display: inline-block;
}
input:-internal-autofill-selected,
input:-internal-autofill-previewed {
	box-shadow: 0 0 0 30px #fff inset !important;
}

input::-ms-reveal,
input::-ms-clear {
	display: none;
}

.form-control {
	width: 100%;
	min-height: 40px;
	padding: 0.5em 1em;
	outline: none;
	font-size: 14px;
	color: #000;
	background: #fff;
	border: 1px solid var(--color-border-control);
	border-radius: var(--border-radius);
	font-family: var(--font-name);
	font-weight: 400;
	display: block;
}
.form-control:disabled {
	background-color: #e9ecef;
	opacity: 1;
}
.form-control:focus {
	border-color: #2563eb;
	outline: 0;
}
select.form-control,
.mcheckbox__trigger.form-control {
	padding: 0.375em 2.25em 0.375em 1em;
	-moz-padding-start: calc(1em - 3px);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23444'%3E%3Cpath d='M15.9 3.93a.34.34 0 0 0-.49 0L8 11.33.59 3.93a.34.34 0 0 0-.49 0 .36.36 0 0 0 0 .49l7.65 7.65a.36.36 0 0 0 .5 0l7.65-7.65a.36.36 0 0 0 0-.49Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.8333em center;
	background-size: 16px 16px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

textarea.form-control {
	padding: 0.75em 1em;
	line-height: 1.4em;
	min-height: 7.5rem;
	font-family: var(--font-name);
	font-weight: 400;
	display: block;
}

.form-control-sm,
textarea.form-control-sm {
	min-height: 33px;
	font-size: calc(0.9 * var(--font-size));
}
select.form-control-sm {
	padding: 0.325em 2em 0.325em 1em;
	font-size: calc(0.9 * var(--font-size));
}

.form-control-lg {
	min-height: 44px;
	font-size: 15px;
}

@media (min-width: 768px) {
	.form-control-lg {
		min-height: 48px;
		font-size: 16px;
	}
}

.form-label {
	margin-bottom: 0.25rem;
}

.btn {
	font-family: var(--font-name);
	font-weight: 500;
	font-size: 16px;
	line-height: 18px;
	text-align: center;
	padding: 0.5em 1.2em;

	min-height: 40px;
	color: #fff;
	background-color: var(--color-primary);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	border-radius: var(--border-radius);
	border: solid 1px var(--color-primary);
	transition: all ease-out 0.1s;
}
a.btn:hover {
	text-decoration: none;
}

.btn:not(:disabled) {
	cursor: pointer;
}
.btn.disabled,
.btn:disabled {
	pointer-events: none;
	opacity: 0.65;
}

.btn-sm {
	font-size: 14px;
	line-height: 20px;
	padding: 6px 12px;
	min-height: 32px;
}

.btn-lg {
	font-size: 15px;
	line-height: 1.2;
	padding: 0.6em 1.2em;
	min-height: 44px;
}
@media (min-width: 768px) {
	.btn {
		min-height: 40px;
		font-size: 16px;
		padding: 0.5em 1.4666em;
	}

	.btn-lg {
		min-height: 48px;
		font-size: 16px;
	}
	.btn-sm {
		font-size: 14px;
		padding: 6px 12px;
		min-height: 32px;
	}
}
.btn svg {
	width: 1em;
	height: 1em;
}

.btn-primary {
	color: #fff;
	background-color: var(--color-primary);
	border-color: var(--color-primary);
}

.btn-primary:hover {
	background-color: var(--color-primary-hover);
	border-color: var(--color-primary-hover);
}

.btn-outline-primary {
	color: var(--color-primary);
	background-color: #fff;
	border-color: var(--color-primary);
}

.btn-outline-primary:hover {
	color: #fff;
	background-color: var(--color-primary);
	border-color: var(--color-primary);
}

.btn-secondary {
	color: #fff;
	background-color: var(--color-secondary);
	border-color: var(--color-secondary);
}

.btn-secondary:hover {
	background-color: var(--color-secondary-hover);
	border-color: var(--color-secondary-hover);
}

.btn-outline-secondary {
	color: var(--color-secondary);
	background-color: #fff;
	border-color: var(--color-secondary);
}

.btn-outline-secondary:hover {
	color: var(--color-secondary);
	background-color: #fff7ed;
	border-color: var(--color-secondary);
}

.btn-white {
	color: var(--color-text-gray-700);
	background-color: rgb(255 255 255 / 0.9);
	border-color: #e5e7eb;
}

.btn-white:hover {
	color: var(--color-text-gray-700);
	background-color: rgb(255 255 255);
	border-color: #d1d5db;
}

.btn-gray-50 {
	color: var(--color-text-gray-600);
	background-color: var(--color-bg-gray-50);
	border-color: var(--color-bg-gray-50);
}

.btn-gray-50:hover {
	color: var(--color-text-gray-600);
	background-color: var(--color-bg-gray-100);
	border-color: var(--color-bg-gray-100);
}

.btn-gray-100 {
	color: var(--color-text-gray-700);
	background-color: var(--color-bg-gray-100);
	border-color: var(--color-bg-gray-100);
}

.btn-gray-100:hover {
	color: var(--color-text-gray-700);
	background-color: var(--color-bg-gray-200);
	border-color: var(--color-bg-gray-200);
}

.btn-danger {
	color: var(--color-text-red-600);
	background-color: transparent;
	border: 1px solid #dc2626;
}

.btn-danger:hover {
	background-color: var(--color-bg-red-50);
}

/*******/

/*


.input {
    border-radius: 4px;
    padding: 10px;
    border: 1px solid rgba(102, 102, 102, 0.50);
    background: var(--background-ui);
    backdrop-filter: blur(5px);
}
.input::placeholder {
    color: var(--gray-spb);
    font-size: 16px;
}
.input:active, .input:hover, .input:focus {
    outline: 0;
    outline-offset: 0;
}
.textarea {
    color: var(--gray-spb);
    font-size: 16px;
    resize: vertical;
    min-height: 4em;
    max-height: 10em;
}
.checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
}

.checkbox input {
    appearance: none;
    min-width: 20px;
    min-height: 20px;
    background-color: var(--white-spb);
    stroke-width: 1px;
    border: 1px solid var(--blue-spb);
    border-radius: 2px;
    margin: 0;
}
.checkbox input:checked {
    background-image: url(../images/icons/checkbox-active.svg);
    background-repeat: no-repeat;
    background-position: center center;
    border: 1px solid var(--white-spb);
}
.checkbox label {
    color: var(--white-spb);
    font-size: 15px;
    line-height: 20px;
}
.checkbox label a {
    color: var(--white-spb);
    font-style: italic;
}


.button {
    min-height: 42px;
    display: inline-flex;
    border-radius: 4px;
    border: 1px solid var(--blue-spb);
    background: var(--white-spb);
    padding: 10px;
    gap: 10px;
    color: var(--blue-spb);
    align-items: center;
    justify-content: center;
    cursor: pointer;

}
.button svg {
    fill: var(--blue-spb);
}
.button_active {
    color: var(--white-spb);
    background: var(--blue-spb);
}
.button_active svg {
    fill: var(--white-spb);
}


.button:hover {
    color: var(--red-spb);
    border-color: var(--red-spb);
}
.button_not-hover:hover {
    color: var(--blue-spb);;
    border-color: var(--blue-spb);
}
.button_active:hover {
    color: var(--white-spb);
    border-color: #637ab7;
    background-color: #637ab7;
}

.button_secondary,
.button_secondary:hover {
    color: var(--white-spb);
    background: var(--red-spb);
    border-color: var(--red-spb);
}
.button_secondary svg {
    fill: var(--red-spb);
} */

.btn-link,
.btn-icon,
.btn-ghost {
	color: var(--gray-spb);
	background-color: transparent;
	border-color: transparent;
	font-weight: 400;
	display: inline-flex;
	gap: 0.375rem;
	align-items: center;
	justify-content: center;
	border-width: 0px;
}
a.btn-link,
button.btn-link,
button.btn-icon,
a.btn-icon {
	cursor: pointer;
}
.btn-link,
.btn-link:hover {
	text-decoration: underline;
	color: var(--font);
	background-color: transparent;
}

.btn-link > .icon,
.btn-link > svg,
.btn-icon > .icon,
.btn-icon > svg {
	flex-shrink: 0;
	width: 1em;
	height: 1em;
	fill: currentcolor;
}
.btn-ghost {
	min-height: 42px;
	padding: 10px 20px;
}

/* .btn+.btn,
.button + .button {
    margin-left: 8px;
} */
/* .button[disabled] {
    background: #ccc;
    border-color: #ccc;
    color: #333;
    cursor: default;
} */
.icon {
	display: inline-block;
	color: currentColor;
	fill: currentColor;
}
.btn-favorite,
.btn-cart,
.btn-go-to-ex-page {
	padding: 7px;
	font-size: 24px;
}
.btn-favorite:hover,
.btn-cart:hover,
.btn-go-to-ex-page:hover {
	color: var(--color-primary);
}
.icon.icon-favorite {
	font-size: 24px;
	fill: transparent;
	stroke: var(--yellow-spb);
	pointer-events: none;
}

[data-is-favorite] .icon.icon-favorite {
	fill: var(--yellow-spb);
}

.quantity {
	border: 1px solid #aaa;
	border-radius: 6px;
	overflow: hidden;
	max-width: 108px;
	display: grid;
	grid-template-columns: 30px 1fr 30px;
}

.quantity__minus,
.quantity__plus {
	background: #f6f6f6;
	border: none;
	height: 30px;
	text-align: center;
	color: var(--blue-spb, #4e6ab5);
	font-size: 24px;
	cursor: pointer;
	line-height: 18px;
}

.quantity__input {
	background: #fff;
	border: none;
	height: 30px;
	text-align: center;
	max-width: 48px;
	font-weight: 500;
}
.quantity__input:focus-visible {
	outline: none;
}

.alert {
	--alert: transparent;
	padding: 0.875rem 1.5rem;
	border: solid 1px var(--alert);
	background-color: var(--bg, #fff);
	color: var(--color-text-600);
	border-radius: 8px;
	margin-bottom: 16px;
	margin-top: 16px;
	line-height: 1.5;
}
.alert-info {
	--alert: var(--color-bg-blue-500);
}
.alert-success {
	--alert: var(--color-bg-green-500);
	--bg: var(--color-bg-green-50);
}
.alert-danger {
	--alert: var(--color-text-red-600);
	--bg: var(--color-bg-red-50);
}

.alert .button {
	font-size: 16px;
}

.form-check {
	display: block;
	min-height: 20px;
	padding-left: 30px;
}

.form-check-inline {
	display: inline-block;
	margin-right: 1rem;
}

.form-check-input {
	width: 20px;
	height: 20px;
	vertical-align: top;
	background-color: #fff;
	background-image: var(--bs-form-check-bg-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border: 2px solid #1e3a8a;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
	print-color-adjust: exact;
	position: relative;
}

.form-check .form-check-input {
	float: left;
	margin-left: -30px;
}
.form-check-input[type='checkbox'] {
	border-radius: 4px;
}
.form-check-input[type='radio'] {
	border-radius: 50%;
}
.form-check-input:checked {
	/* background-color: var(--blue-spb);
  border-color: var(--blue-spb); */
}
/* .form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
} */
/* .form-check-input:checked[type=radio] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
} */
.form-check-input:checked[type='radio']::after {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	background-color: #1e3a8a;
	border-radius: 50%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.form-check-input:checked[type='checkbox'] {
	background-color: #1e3a8a;
}
.form-check-input:checked[type='checkbox']::after {
	content: '';
	position: absolute;
	width: 4px;
	height: 8px;
	border: solid white;
	border-width: 0 2px 2px 0;
	top: 2px;
	left: 5px;
	transform: rotate(45deg);
}

.form-check-label {
	line-height: 22px;
}

.password-field {
	position: relative;
}
.password-field__input {
}
.password-field__btn {
	color: var(--gray-spb);
	padding: 9px;
	position: absolute;
	top: 1px;
	right: 1px;
}
.password-field__btn svg {
	font-size: 20px;
	pointer-events: none;
}

.password-field .password-field__btn_invisible {
	display: none;
}

.password-field .password-field__btn_visible {
	display: flex;
}

.password-field[data-invisible] .password-field__btn_invisible {
	display: flex;
}

.password-field[data-invisible] .password-field__btn_visible {
	display: none;
}

.text-danger {
	color: var(--color-text-red-600);
}

/* forms */
/* .form-common {

}
.form-common__header {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.39;
    margin-bottom: 16px;
}
.form-common__descr {
    color: var(--gray-spb, #666);
    font-size: 15px;
    line-height: 1.3333333;
    margin-bottom: 16px;
}
.form-common__row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    align-items: center;
    margin-bottom: 16px;
}
.form-common__label {
    flex: 1 0 100%;
    font-size: 16px;
    line-height: 1.3333;
}
.form-common__field {
    flex: 1 0 100%;
}
.form-common__input {
    width: 100%;
}

.form-common__footer {
    text-align: right;
}
.form-common__actions-outer {
    text-align: right;
}
.flex-1 {
    flex: 1;
}
.flex-2 {
    flex: 2;
}
.flex-3 {
    flex: 3;
}
@media (min-width: 992px) {
    .form-common__label {
        flex: 0 0 160px;
    }
    .form-common__field {
        flex: 1 0;
    }
} */
