:root {
	--project-font-family: 'Google Sans', sans-serif;
	--project-surface-bg: #f8f9fb;
	--project-surface-hover-bg: #f3f5f8;
	--bs-font-sans-serif: var(--project-font-family);
	--bs-body-font-family: var(--project-font-family);
}

.bg-surface {
	background-color: var(--project-surface-bg);
}

.bg-surface-hover:hover,
.bg-surface-hover:active {
	background-color: var(--project-surface-hover-bg);
}

html {
	font-size: 13.5px;
}
@media (min-width: 576px) {
	html {
		font-size: 14px;
	}
}
@media (min-width: 992px) {
	html {
		font-size: 15px;
	}
}
@media (min-width: 1240px) {
	html {
		font-size: 16px;
	}
}
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
	font-family: var(--project-font-family);
	font-optical-sizing: auto;
	font-variation-settings: 'GRAD' 0;
	background-color: #f5f5fc;
}
body > .container {
	flex: 1 0 auto;
}
footer {
	flex-shrink: 0;
}

b, strong {
	font-weight: 600;
}

.w-min-0 {
	min-width: 0;
}

/******************** form *******************/
.form-group {
	margin-bottom: 1rem;
}
.required > label:before {
	content: '* ';
	color: #ff0000;
}

@media (min-width: 576px) {
	.form-container {
		width: 34.375rem;
		max-width: 100%;
		box-shadow: 0 0 0.9375rem rgb(0 0 0 / 5%);
		padding: 2rem;
		border-radius: 1rem;
		margin: 1.5rem auto;
	}
}

/******************* masked ******************/
.masked {
	background: rgba(0, 0, 0, 0.05) url(/image/loading.svg) no-repeat center center;
	background-size: 3.4375rem;
	position: fixed;
	z-index: 1056;
	top: 0;
	right: 0;
	bottom: 1rem;
	left: 0;
	display: none;
}

/************** button preloader *************/
.btn-preloader {
	position: relative;
	overflow: hidden;
	pointer-events: none;
}
.btn-preloader::after {
	content: '';
	position: absolute;
	inset: 0;
	transform: translateX(-100%);
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
	animation: btn-preloader-shimmer 1s infinite;
}
@keyframes btn-preloader-shimmer {
	to { transform: translateX(100%); }
}

/**************** button icon ****************/
.btn .icon {
	width: calc(1em * var(--bs-body-line-height));
	display: block;
	height: calc(1em * var(--bs-body-line-height));
	margin-left: -.2rem;
	margin-right: -.2rem;
	fill: currentColor;
}

/*************** rating stars ****************/
.rating {
	display: flex;
	font-size: 1.1rem;
	margin-bottom: .25rem;
}
.rating span {
	width: 1em;
	height: 1em;
	display: inline-block;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffc949' d='M11.75 4.5c-.091 0-.315.025-.434.263L9.49 8.414c-.289.577-.846.978-1.49 1.07l-4.088.589c-.27.039-.362.239-.39.323-.025.081-.065.287.121.465l2.956 2.84c.471.453.685 1.106.573 1.745l-.696 4.01c-.043.251.114.397.184.447.074.056.272.167.517.039l3.655-1.895c.576-.297 1.262-.297 1.836 0l3.654 1.894c.246.127.444.016.519-.038.07-.05.227-.196.184-.447l-.698-4.01c-.112-.639.102-1.292.573-1.745l2.956-2.84c.187-.178.147-.385.121-.465-.027-.084-.119-.284-.389-.323l-4.088-.589c-.643-.092-1.2-.493-1.489-1.071l-1.828-3.65c-.118-.238-.342-.263-.433-.263M6.947 21.5c-.413 0-.823-.13-1.174-.386-.606-.444-.903-1.177-.774-1.915l.696-4.01c.026-.149-.025-.3-.135-.406l-2.956-2.84c-.544-.521-.739-1.291-.509-2.006.232-.723.846-1.24 1.603-1.348L7.786 8c.158-.022.294-.119.362-.257l1.827-3.652C10.312 3.418 10.992 3 11.75 3s1.438.418 1.775 1.091l1.828 3.651c.069.139.204.236.361.258l4.088.589c.757.108 1.371.625 1.603 1.348.23.715.034 1.485-.51 2.006l-2.956 2.84c-.11.106-.16.257-.134.405l.697 4.011c.128.739-.169 1.472-.776 1.915-.615.451-1.416.512-2.095.158l-3.653-1.893a.49.49 0 0 0-.457 0L7.867 21.273c-.292.152-.607.227-.92.227'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}
.rating span.active {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffc949' d='M15.919 11.82c-.259.251-.378.614-.319.97l.889 4.92c.075.417-.101.839-.45 1.08-.342.25-.797.28-1.17.08l-4.429-2.31a.99.99 0 0 0-.771-.041l-.084.041-4.43 2.321a1.47 1.47 0 0 1-.71.11c-.592-.112-.987-.676-.89-1.271l.89-4.92c.059-.359-.06-.724-.319-.979l-3.611-3.5c-.302-.293-.407-.733-.269-1.13.134-.396.476-.685.889-.75l4.97-.721c.378-.039.71-.269.88-.609l2.19-4.49c.052-.1.119-.192.2-.27l.09-.07a.78.78 0 0 1 .16-.13l.109-.04.17-.07h.421c.376.039.707.264.88.6l2.219 4.47c.16.327.471.554.83.609l4.97.721c.42.06.771.35.91.75.131.401.018.841-.29 1.13z' transform='translate(2 2.5)'/%3E%3C/svg%3E");
}

/* форма отзыва */
.rating.rating-review {
	flex-direction: row-reverse;
}
.rating.rating-review input {
	display: none;
}
.rating.rating-review label {
	font-size: 1.5rem;
	cursor: pointer;
	padding-right: .15rem;
}
.rating.rating-review input:checked ~ label span,
.rating.rating-review input:hover ~ label span {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffc949' d='M15.919 11.82c-.259.251-.378.614-.319.97l.889 4.92c.075.417-.101.839-.45 1.08-.342.25-.797.28-1.17.08l-4.429-2.31a.99.99 0 0 0-.771-.041l-.084.041-4.43 2.321a1.47 1.47 0 0 1-.71.11c-.592-.112-.987-.676-.89-1.271l.89-4.92c.059-.359-.06-.724-.319-.979l-3.611-3.5c-.302-.293-.407-.733-.269-1.13.134-.396.476-.685.889-.75l4.97-.721c.378-.039.71-.269.88-.609l2.19-4.49c.052-.1.119-.192.2-.27l.09-.07a.78.78 0 0 1 .16-.13l.109-.04.17-.07h.421c.376.039.707.264.88.6l2.219 4.47c.16.327.471.554.83.609l4.97.721c.42.06.771.35.91.75.131.401.018.841-.29 1.13z' transform='translate(2 2.5)'/%3E%3C/svg%3E") !important;
}

/* карточка товара */
.rating.rating-product {
	margin-top: -.2rem;
	margin-bottom: 0;
	font-size: 1.2rem;
}

/**************** page layout ****************/
.main-content {
	flex: 1 0 auto;
	padding-top: 1.5rem;
	padding-bottom: 3rem;
}

@media (min-width: 992px) {
	.main-content {
		padding-top: 2.5rem;
	}
}

.main-content--home,
.main-content--profile {
	padding-block: 0;
}

/******************* header ******************/
.site-header {
	position: relative;
	z-index: 20;
	padding: 0;
	background-color: #fff;
}

.site-header__nav {
	--bs-navbar-padding-y: .75rem;
}

.site-brand {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	padding: 0;
	margin: 0;
	color: #171824;
}

.site-brand:hover {
	color: #171824;
}

.site-brand__mark {
	display: block;
	flex: 0 0 auto;
	width: 2rem;
	height: 2rem;
}

.site-brand__name {
	font-size: 1.625rem;
	font-weight: 700;
	letter-spacing: -.04em;
}

.site-brand__image {
	display: block;
	width: auto;
	max-width: 12rem;
	height: 2.75rem;
	object-fit: contain;
}

.site-header__collapse {
	padding-top: 1rem;
}

.site-header__links {
	gap: .25rem;
}

.site-header__links .nav-link {
	padding: .65rem .75rem;
	font-weight: 600;
}

.site-header__actions {
	display: grid;
	gap: .75rem;
	padding-top: 1rem;
	margin-top: 1rem;
	border-top: 1px solid #eef0f8;
}

.site-header__actions .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.875rem;
	padding-right: 1.25rem;
	padding-left: 1.25rem;
	border-radius: .75rem;
	font-weight: 600;
}

.site-header__login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .65rem .75rem;
	background: transparent;
	font-weight: 600;
}

.site-header__register {
	border-color: transparent;
	background: linear-gradient(135deg, #3b46f5 0%, #5140ef 100%);
	box-shadow: 0 .45rem 1rem rgba(68, 67, 242, .18);
}

.site-header__register:hover,
.site-header__register:focus {
	border-color: transparent;
	background: linear-gradient(135deg, #303be6 0%, #4434df 100%);
}

.site-header .common-language > button {
	justify-content: center;
	width: 100%;
	min-height: 2.875rem;
	padding: .65rem 1rem;
	background: #f7f8fc;
	border-radius: .75rem;
	font-weight: 600;
}

.site-header__links .nav-link,
.site-header__login,
.site-header .common-language > button {
	color: #232535;
}

.site-header__links .nav-link:hover,
.site-header__links .nav-link:focus,
.site-header__login:hover,
.site-header__login:focus,
.site-header .common-language > button:hover,
.site-header .common-language > button:focus {
	color: #4d50f4;
}

@media (min-width: 992px) {
	.site-brand__mark {
		width: 2.5rem;
		height: 2.5rem;
	}

	.site-header__collapse {
		padding-top: 0;
	}

	.site-header__links {
		gap: 2rem;
		margin-left: 4.25rem;
	}

	.site-header__links .nav-link {
		padding: .75rem 0;
	}

	.site-header__links .nav-link,
	.site-header__login,
	.site-header__actions .btn,
	.site-header .common-language > button {
		font-size: 1.2rem;
	}

	.site-header__actions .site-header__register {
		font-size: 1rem;
	}

	.site-header__actions {
		display: flex;
		align-items: center;
		gap: .5rem;
		padding-top: 0;
		margin-top: 0;
		margin-left: auto;
		border-top: 0;
	}

	.site-header .common-language > button {
		width: auto;
		min-height: 2.75rem;
		padding-right: .875rem;
		padding-left: .875rem;
		background: transparent;
	}
}

/******************** home ******************/
.home-page {
	color: #171824;
}

.home-hero {
	flex: 1 0 auto;
	overflow: hidden;
}

.home-hero__container {
	padding-top: 1.625rem;
	padding-bottom: 3.5rem;
}

.home-hero__content {
	position: relative;
	z-index: 2;
}

.home-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .7rem 1.1rem;
	color: #4c50ee;
	background: linear-gradient(110deg, rgba(105, 89, 244, .09), rgba(105, 89, 244, .055));
	border-radius: 999px;
	font-weight: 600;
}

.home-hero__badge svg {
	width: 1.25rem;
	height: 1.25rem;
	fill: currentColor;
}

.home-hero__title {
	max-width: 44rem;
	margin: 1.9rem 0 0;
	font-size: clamp(2.75rem, 10.5vw, 4rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -.055em;
}

.home-hero__title > span {
	display: block;
}

.home-hero__title-accent {
	margin-top: .3rem;
	color: transparent;
	background: linear-gradient(95deg, #4a52f0 0%, #8b36e9 48%, #3373ef 100%);
	-webkit-background-clip: text;
	background-clip: text;
}

.home-hero__lead {
	max-width: 42rem;
	margin: 1.6rem 0 0;
	color: #6f7588;
	font-size: 1.125rem;
	line-height: 1.75;
}

.home-hero__actions {
	display: grid;
	gap: .875rem;
	margin-top: 2.25rem;
}

.home-hero__primary,
.home-hero__preview {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 4.25rem;
	border-radius: .95rem;
	font-size: 1.05rem;
	font-weight: 600;
}

.home-hero__primary {
	--bs-btn-active-color: #fff;
	position: relative;
	min-height: 4.75rem;
	padding: .75rem 4.5rem .75rem 1.5rem;
	color: #fff;
	border: 0;
	background: linear-gradient(105deg, #3c43f4 0%, #5141ef 100%);
	box-shadow: 0 .75rem 1.75rem rgba(67, 65, 241, .18);
	font-size: 1.2rem;
}

.home-hero__primary:hover,
.home-hero__primary:focus {
	color: #fff;
	background: linear-gradient(105deg, #3037e5 0%, #4534df 100%);
}

.home-hero__primary-icon {
	position: absolute;
	top: 50%;
	right: .8rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, .11);
	transform: translateY(-50%);
}

.home-hero__primary-icon svg {
	width: 1.4rem;
	height: 1.4rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.home-hero__preview {
	--bs-btn-active-color: #4e54ef;
	--bs-btn-active-bg: rgba(255, 255, 255, .4);
	--bs-btn-active-border-color: #e3e4fa;
	--bs-btn-active-shadow: none;
	gap: .65rem;
	color: #4e54ef;
	border: 2px solid #e3e4fa;
	background: rgba(255, 255, 255, .4);
}

.home-hero__preview:hover,
.home-hero__preview:focus {
	color: #353be3;
	border-color: #cfd1fa;
	background: #fff;
}

.home-hero__preview > svg {
	width: 1.35rem;
	height: 1.35rem;
	fill: currentColor;
}

.home-features {
	display: none;
}

.home-hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
}

.home-hero__preview-anchor {
	position: absolute;
	top: 0;
	scroll-margin-top: 1rem;
}

.home-hero__banner {
	display: block;
	width: 34rem;
	max-width: none;
	height: auto;
}

.home-hero__anchor {
	display: block;
	height: 0;
	scroll-margin-top: 2rem;
}

@media (min-width: 576px) {
	.home-hero__actions {
		grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	}
}

@media (min-width: 992px) {
	.home-hero__container {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

	.home-hero__row {
		min-height: 42rem;
	}

	.home-hero__badge {
		padding: .75rem 1.25rem;
		font-size: 1.2rem;
	}

	.home-hero__title {
		max-width: 48rem;
		font-size: 5.5rem;
	}

	.home-hero__lead {
		font-size: 1.15rem;
	}

	.home-hero__actions {
		max-width: 43rem;
	}

	.home-hero__preview {
		justify-self: start;
		width: 100%;
		max-width: 16rem;
		min-height: 3.75rem;
		font-size: 1rem;
	}

	.home-features {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 50rem;
		padding: 1.35rem 1.5rem;
		margin-top: 3.75rem;
		background: rgba(255, 255, 255, .88);
		border: 1px solid rgba(87, 93, 148, .04);
		border-radius: 1rem;
		box-shadow: 0 .75rem 2.5rem rgba(59, 66, 116, .06);
	}

	.home-features__item {
		display: flex;
		align-items: center;
		gap: .8rem;
		min-width: 0;
		padding: 0 1rem;
	}

	.home-features__item:first-child {
		padding-left: 0;
	}

	.home-features__item:last-child {
		padding-right: 0;
	}

	.home-features__item + .home-features__item {
		border-left: 1px solid #e7e9f2;
	}

	.home-features__item > span:last-child {
		display: flex;
		min-width: 0;
		flex-direction: column;
		gap: .2rem;
	}

	.home-features__item strong,
	.home-features__item small {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.home-features__item strong {
		font-size: 1rem;
		font-weight: 600;
	}

	.home-features__item small {
		color: #757b8c;
		font-size: .9rem;
	}

	.home-features__icon {
		display: inline-flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		width: 3rem;
		height: 3rem;
		border-radius: 50%;
	}

	.home-features__icon svg {
		width: 1.3rem;
		height: 1.3rem;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.8;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.home-features__icon--purple {
		color: #8845eb;
		background: #f2e8ff;
	}

	.home-features__icon--green {
		color: #19b98c;
		background: #e6faf4;
	}

	.home-features__icon--blue {
		color: #238eea;
		background: #e7f4ff;
	}

	.home-features__icon--blue svg {
		fill: currentColor;
		stroke: none;
	}

	.home-hero__visual {
		margin-top: 0;
	}

	.home-hero__banner {
		width: 53rem;
	}
}

@media (min-width: 1200px) {
	.home-hero__content {
		padding-left: .75rem;
	}
}

/****************** footer *******************/
footer {
	margin-top: 1.875rem;
	padding-top: 1.875rem;
	background-color: #9aa2bf;
	padding-bottom: 3.75rem;
}
footer h6 {
	color: #dbff83;
}
footer a,
footer p {
	color: #e8edff;
}
footer a:hover {
	color: #ffffff;
}
footer hr {
	margin: 0 0 1rem;
	background-color: #fff;
}
@media (min-width: 992px) {
	footer {
		padding-bottom: 0rem;
	}
}

/**************** header top *****************/
.header__top {
	display: none;
	background: #fcfcfd;
	margin-bottom: .75rem;
	padding: .35rem 0;
}
.header__top-phone,
.header__top-link {
	color: var(--bs-body-color);
}
@media (min-width: 768px) {
	.header__top {
		display: block;
	}
}

/********* language, currency, city **********/
.common-city > button,
.common-language > button,
.common-currency > button {
	display: flex;
	padding: 0;
	border: 0;
}
.common-city > button:after,
.common-language > button:after,
.common-currency > button:after {
	display: none;
}
.common-language .dropdown-menu,
.common-currency .dropdown-menu {
	min-width: auto;
}

/******************** logo *******************/
.header__logo {
	font-size: 1.5rem;
	font-weight: 500;
}
.header__logo img {
	width: 9.375rem;
}

/*************** header navbar ***************/
.header__navbar {
	display: flex;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: #ffffff;
	padding-top: .75rem;
	padding-bottom: .75rem;
	justify-content: space-around;
	box-shadow: 0 0 0.25rem rgb(0 0 0 / 5%);
}
.header__navbar > * {
	position: relative;
	text-align: center;
	flex: 1 0 0%;
}
.header__navbar .icon {
	fill: #b3b8cd;
	width: 2rem;
	height: 2rem;
}
.header__navbar span:not(:empty) {
	background: #a4b3ed;
	color: #ffffff;
	border-radius: .25rem;
	position: absolute;
	top: -0.125rem;
	margin-left: -0.8125rem;
	padding: 0 0.1875rem;
	font-size: .75rem;
	box-shadow: 0 0 0 0.125rem #ffffff;
	min-width: 1.0625rem;
	text-align: center;
	font-weight: 500;
}
.header__navbar a:hover span {
	background: #8c9dde;
}
.header__navbar small {
	display: none;
	margin-top: .15rem;
	color: #8e92a5;
	font-size: 0.8rem;
	font-weight: 500;
}
@media (min-width: 992px) {
	.header__navbar {
		position: static;
		z-index: auto;
		background: transparent;
		padding-top: 0;
		padding-bottom: 0;
		justify-content: flex-start;
		box-shadow: none;
	}
	.header__navbar > *:not(:last-child) {
		margin-right: 1.5rem;
	}
	.header__navbar small {
		display: block;
	}
}

/*********** phone, compare (mobile) **********/
.header__mobile-compare {
	position: relative;
}
.header__mobile-compare .icon,
.header__mobile-phone .icon {
	width: 1.875rem;
	height: 1.875rem;
	fill: #b3b8cd;
}
.header__mobile-compare {
	margin-left: .75rem;
}
.header__mobile-compare span:not(:empty) {
	background: #a4b3ed;
	color: #ffffff;
	border-radius: .25rem;
	position: absolute;
	left: 1.125rem;
	top: -0.125rem;
	padding: 0.0625rem 0.125rem;
	font-size: 0.6875rem;
	box-shadow: 0 0 0 0.125rem #ffffff;
	min-width: 1rem;
	text-align: center;
	font-weight: 500;
}

/****************** search *******************/
.header__search {
	position: relative;
	z-index: 102;
}
/* строка поиска */
.header__search-form {
	border-radius: .5rem;
	overflow: hidden;
}
.header__search-form .icon {
	position: absolute;
	z-index: 3;
	top: 50%;
	transform: translateY(-50%);
	width: 2.3125rem;
	height: 100%;
	fill: #c9cbd1;
	padding-left: 0.75rem;
	padding-right: 0.25rem;
}
.header__search-form .icon-search {
	pointer-events: none;
}
.header__search-form .icon-arrow-left-long {
	display: none;
	cursor: pointer;
}
.header__search-input {
	position: relative;
	z-index: 2;
	padding: .5rem 6.5rem .5rem 2.7rem;
	line-height: 1.8;
	text-overflow: ellipsis;
	border: none;
	border-radius: 0;
	background-color: #fafbfd;
	background-clip: border-box;
}
.header__search-control {
	display: flex;
	position: absolute;
	z-index: 2;
	right: 0;
	top: 0;
	bottom: 0;
	overflow: hidden;
	border-radius: .35rem;
	cursor: pointer;
}
.header__search-close {
	width: 2.2rem;
	transition: opacity .2s;
	background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center / .85rem auto no-repeat;
	opacity: .2;
}
.header__search-close:hover {
	opacity: .3;
}
.header__search-find {
	background: #42d8ca;
	padding: 0 .7rem;
	color: #ffffff;
	transition: background .2s;
	display: flex;
	align-items: center;
}
.header__search-find:hover {
	background: #3dd1c3;
}
/* блок с результатами */
.header__search-result {
	display: none;
	position: absolute;
	background: #fff;
	left: 0;
	right: 0;
	overflow: auto;
	padding-bottom: .75rem;
}
.header__search-header {
	display: flex;
	justify-content: space-between;
	color: #aeb3bb;
	padding: .5rem 1rem;
	cursor: default;
	font-weight: 500;
	font-size: .8125rem;
}
/* история поиска */
.header__search-history-clear {
	cursor: pointer;
	color: #858c93;
	font-weight: 400;
}
.header__search-history-clear:hover {
	color: #2677fb;
}
.header__search-history-item {
	display: flex;
	padding: 0 1rem;
}
.header__search-history-item:hover {
	background: #fafbfd;
}
.header__search-history-request {
	width: 100%;
	line-height: 2;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	cursor: pointer;
}
.header__search-history-delete {
	visibility: hidden;
	width: 1rem;
	background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center right / .7rem auto no-repeat;
	opacity: .25;
	cursor: pointer;
}
.header__search-history-delete:hover {
	opacity: .5;
}
.header__search-history-item:hover .header__search-history-delete,
.header__search.is-touch-device .header__search-history-delete {
	visibility: visible;
}
/* результаты поиска */
.header__search-found {
	padding-top: .75rem;
}

/* окно поиска открыто */
.header__search-open .header__search {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.header__search-open .header__search-form {
	border-radius: 0;
}
.header__search-open .header__search-form .icon-search {
	display: none;
}
.header__search-open .header__search-form .icon-arrow-left-long {
	display: block;
}
.header__search-open .header__search-control {
	border: 0.125rem solid transparent;
	border-radius: 0;
}
.header__search-open .header__search-input {
	background: #ffffff;
}
.header__search-open .header__search-result {
	display: block;
	border-top: 1px solid #f3f4f5;
}
@media (min-width: 768px) {
	.header__search-form {
		box-shadow: 0 0rem 0.3125rem rgb(0 0 0 / 5%);
	}
	.header__search-input {
		background-color: #ffffff;
		padding-top: .55rem;
		padding-bottom: .55rem;
	}
	.header__search-control {
		border: 0.125rem solid transparent;
	}
	.header__search-result {
		border-radius: 0 0 .35rem .35rem;
		box-shadow: 0 0rem 0.3125rem rgb(0 0 0 / 5%);
	}
	/* поиск открыт */
	.header__search-open .header__search {
		top: 2.4rem;
		left: 1.5rem;
		right: 1.5rem;
	}
	.header__search-open .header__search-form {
		border-radius: .35rem .35rem 0 0;
	}
	.header__search-open .header__search-control {
		border-radius: .35rem;
	}
}
@media (min-width: 1240px) {
	.header__search-input {
		padding-top: .6rem;
		padding-bottom: .6rem;
	}
	/* поиск открыт */
	.header__search-open .header__search {
		position: relative;
		top: 0;
		left: 0;
		right: 0;
	}
	.header__search-open .header__search-form .icon-search {
		display: block;
	}
	.header__search-open .header__search-form .icon-arrow-left-long {
		display: none;
	}
	/* временная подложка такого же размера */
	.header__search-underlay {
		display: none;
	}
}
/* подложка */
.header__search-overlay {
	position: absolute;
	z-index: 101;
	top: 0;
	left: 0;
	right: 0;
	animation-name: search-overlay-show;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
@keyframes search-overlay-show {
	from {
		background: rgb(199 204 222 / 0%);
	}
	to {
		background: rgb(199 204 222 / 25%);
	}
}
/* товары */
.header__search-product {
	display: flex;
	align-items: center;
	padding: .25rem 1rem;
}
.header__search-product:hover {
	background: #fafbfd;
}
.header__search-product img {
	margin-right: 1rem;
}
.header__search-product-name {
	display: block;
	line-height: 1.2;
}
.header__search-product-price {
	color: #333;
}
/* результаты не найдены */
.header__search-no-results {
	margin: 0;
	padding: 0 1rem;
}

/************** menu category ****************/
/* toggler */
.header__menu-toggler {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	width: 9.375rem;
	padding: 0.5rem 1.25rem;
	border-radius: 0.5rem;
	background-color: #42d8ca;
	color: #ffffff;
	font-weight: 600;
	transition: background-color 0.15s ease-in-out;
}
.header__menu-toggler:hover {
	background-color: #3dd1c3;
}
.header__menu-toggler-icon {
	width: 1.25rem;
	height: 1.25rem;
	background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='%23fff'%3e%3cpath d='M8,0H2C0.9,0,0,0.9,0,2v6c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V2C10,0.9,9.1,0,8,0z M8.5,8c0,0.3-0.2,0.5-0.5,0.5H2 C1.7,8.5,1.5,8.3,1.5,8V2c0-0.3,0.2-0.5,0.5-0.5h6c0.3,0,0.5,0.2,0.5,0.5V8z'/%3e%3cpath d='M8,12H2c-1.1,0-2,0.9-2,2v6c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2v-6C10,12.9,9.1,12,8,12z M8.5,20c0,0.3-0.2,0.5-0.5,0.5H2 c-0.3,0-0.5-0.2-0.5-0.5v-6c0-0.3,0.2-0.5,0.5-0.5h6c0.3,0,0.5,0.2,0.5,0.5V20z'/%3e%3cpath d='M20,0h-6c-1.1,0-2,0.9-2,2v6c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V2C22,0.9,21.1,0,20,0z M20.5,8c0,0.3-0.2,0.5-0.5,0.5h-6 c-0.3,0-0.5-0.2-0.5-0.5V2c0-0.3,0.2-0.5,0.5-0.5h6c0.3,0,0.5,0.2,0.5,0.5V8z'/%3e%3cpath d='M20,12h-6c-1.1,0-2,0.9-2,2v6c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2v-6C22,12.9,21.1,12,20,12z M20.5,20 c0,0.3-0.2,0.5-0.5,0.5h-6c-0.3,0-0.5-0.2-0.5-0.5v-6c0-0.3,0.2-0.5,0.5-0.5h6c0.3,0,0.5,0.2,0.5,0.5V20z'/%3e%3c/svg%3e") center / 1.25rem auto no-repeat;
}

/* меню открыто */
.header__menu-toggler.open .header__menu-toggler-icon {
	background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='%23fff'%3e%3cpath d='M114,100l49-49a9.9,9.9,0,0,0-14-14L100,86,51,37A9.9,9.9,0,0,0,37,51l49,49L37,149a9.9,9.9,0,0,0,14,14l49-49,49,49a9.9,9.9,0,0,0,14-14Z'/%3e%3c/svg%3e") center / 1.35rem auto no-repeat;
}
.header__menu-toggler.open + .header__menu-container-outer {
	visibility: visible;
}

/* контейнеры */
.header__menu-container-outer {
	--bs-gutter-x: initial;
	position: fixed;
	z-index: 103;
	visibility: hidden;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
.header__menu-container-inner {
	height: 100%;
	padding: .5rem 0 1rem 0;
	background-color: #ffffff;
	overflow: auto;
}
@media (min-width: 992px) {
	.header__menu-container-outer {
		position: absolute;
		background-color: rgb(199 204 222 / 25%);
	}
	.header__menu-container-inner {
		height: auto;
		max-height: 100%;
	}

	/* подсказка если контейнер не до конца прокручен */
	.header__menu-container-inner:after {
		content: '';
		position: sticky;
		display: block;
		box-shadow: 0 1.25rem 2.5rem 2.5rem #ffffff;
		bottom: 0;
	}
	.header__menu-container-inner.hide-pseudo-element:after {
		display: none;
	}
}

/* левый блок */
.header__menu-left {
	display: none;
	flex: 0 0 18.75rem;
	border-right: 1px solid #f3f3f7;
}

@media (min-width: 992px) {
	.header__menu-left {
		display: block;
	}
}

/* список категорий */
.header__menu-category {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-right: 1.5rem;
	padding: .35rem .25rem .35rem .75rem;
	font-weight: 500;
	border-radius: .25rem;
	color: var(--bs-body-color);
}
.header__menu-category.active {
	background-color: #fcfcfd;
}
.header__menu-category span {
	flex: 0 0 1.3125rem;
	background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23adb2b7'%3e%3cpath d='M202.1,450a15,15,0,0,1-10.6-25.61L365.79,250.1,191.5,75.81A15,15,0,0,1,212.71,54.6l184.9,184.9a15,15,0,0,1,0,21.21l-184.9,184.9A15,15,0,0,1,202.1,450Z'/%3e%3c/svg%3e") center / .95rem auto no-repeat;
}

/* центральный блок */
@media (min-width: 992px) {
	.header__menu-center {
		align-self: flex-start;
		flex-grow: 1;
		position: sticky;
		top: 0;
		background: #ffffff;
		margin-left: 1.5rem;
	}
}

/* шапка мобильного меню */
.header__menu-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: .5rem .5rem 1rem .5rem;
}
.header__menu-heading {
	font-size: 1.3rem;
	font-weight: 600;
}
.header__menu-close {
	flex: 0 0 1.5625rem;
	height: 1.5625rem;
	background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center / 1rem auto no-repeat;
	opacity: .35;
}
@media (min-width: 992px) {
	.header__menu-header {
		display: none;
	}
}

/* подкатегории */
.header__menu-submenu:not(:last-child) {
	border-bottom: 1px solid #fafafb;
}

@media (min-width: 992px) {
	.header__menu-submenu {
		display: none;
	}
	.header__menu-submenu.active {
		display: block;
	}
	.header__menu-submenu:not(:last-child) {
		border-bottom: none;
	}
}

/* заголовок подкатегорий */
.header__menu-submenu-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .55rem .5rem;
	font-weight: 500;
	color: var(--bs-body-color);
}
.header__menu-submenu-heading .toggler {
	flex: 0 0 1.5625rem;
	align-self: stretch;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d7d9dd' viewBox='0 0 472 472'%3E%3Cpath d='M472,185H287V0H185v185H0v102h185v185h102V287h185V185z'/%3E%3C/svg%3E") center / 1rem auto no-repeat;
}
.header__menu-submenu.active .toggler {
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d7d9dd' viewBox='0 0 472 472'%3E%3Cpath d='M0,185h472v102H0V185z'/%3E%3C/svg%3E") center / 1rem auto no-repeat;
}

@media (min-width: 992px) {
	.header__menu-submenu-heading {
		display: inline-block;
		font-size: 1.2rem;
		margin-bottom: .5rem;
		color: var(--bs-body-color);
	}
	.header__menu-submenu-heading .toggler {
		display: none;
	}
}

/* список подкатегорий */
.header__menu-submenu-container {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s;
}
.header__menu-submenu.active .header__menu-submenu-container {
	max-height: var(--max-height);
}
@media (min-width: 992px) {
	.header__menu-submenu-container {
		max-height: none;
		overflow: unset;
	}
	.header__menu-submenu.active .header__menu-submenu-container {
		max-height: none;
	}
}
.header__menu-submenu-container > a {
	display: flex;
	color: #63676d;
}
.header__menu-submenu-container > a span {
	padding: .4rem 0 .4rem 1.25rem;
}

@media (min-width: 992px) {
	.header__menu-submenu-container > a {
		margin-bottom: .75rem;
		min-height: 5.125rem;
		color: var(--bs-body-color);
	}
	.header__menu-submenu-container > a span {
		width: 100%;
		background-color: #fcfcfd;
		border-radius: .25rem;
		padding: 1rem;
	}
	.header__menu-submenu-container > a span:hover {
		background-color: #fafafb;
	}
}

/* правый контейнер */
.header__menu-right {
	display: none;
	flex: 0 0 18.75rem;
	align-self: flex-start;
	position: sticky;
	top: 0;
	margin-left: 1.5rem;
}

@media (min-width: 1240px) {
	.header__menu-right {
		display: block;
	}
}

/*************** menu custom *****************/
.header__menu-custom {

}

/********** menu mobile (toggler) ************/
.site-header__menu-toggler {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: .5rem;
	margin-right: 1rem;
	color: var(--bs-body-color);
	background: transparent;
	border: 1px solid var(--bs-border-color);
	border-radius: .75rem;
}
.site-header__menu-toggler:focus-visible {
	outline: .1875rem solid rgba(var(--bs-primary-rgb), .25);
	outline-offset: .125rem;
}
.site-header__menu-icon {
	width: 1.75rem;
	height: 1.75rem;
	color: currentColor;
}

/********* menu mobile (offcanvas) ***********/
.site-mobile-menu__brand {
	display: flex;
	align-items: center;
	gap: .75rem;
	color: var(--bs-body-color);
	font-size: 1.25rem;
	line-height: 1;
	text-decoration: none;
}
.site-mobile-menu {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	width: 100%;
	min-height: 100%;
	padding: .5rem 0 0 0;
}
.site-mobile-menu__language .common-language > button {
	align-items: center;
	gap: .875rem;
	min-height: 3.5rem;
	padding: .875rem 1rem;
	color: var(--bs-secondary-color);
	font-size: inherit;
	font-weight: 500;
	line-height: 1.25;
	background-color: var(--project-surface-bg);
	border-radius: 1rem;
	transition: color .15s ease-in-out, background-color .15s ease-in-out;
}
.site-mobile-menu__language .common-language > button:hover,
.site-mobile-menu__language .common-language > button:active {
	color: var(--bs-body-color);
	background-color: var(--project-surface-hover-bg);
}
.site-mobile-menu__language .common-language > button:focus-visible {
	outline: .1875rem solid rgba(var(--bs-primary-rgb), .25);
	outline-offset: .125rem;
}
.site-mobile-menu__language .common-language__icon {
	display: block;
	width: 1.625rem;
	height: 1.625rem;
	flex-shrink: 0;
}

/****************** cookie *******************/
#cookie {
	border-top: none;
	border-left: none;
	border-right: none;
}

/**** блок для изменения количества товара ****/
.cart-control-container {
	display: flex;
	align-items: stretch;
	gap: .5rem;
}

/* control */
.cart-control-container[data-in-cart="0"] .cart-control-quantity {
	display: none;
}
.cart-control-container[data-loading] .cart-control-quantity {
	opacity: .9;
	pointer-events: none;
}
.cart-control-quantity {
	position: relative;
	width: 5.2rem;
	display: flex;
	border: 1px solid #e1e3e7;
	border-radius: .5rem;
}
.cart-control-quantity button {
	position: absolute;
	top: .15rem;
	bottom: .15rem;
	width: 1.5rem;
	border-radius: .35rem;
	background-color: #eeeff4;
	background-repeat: no-repeat;
	background-position: center;
	background-size: .75rem;
	transition: background .2s;
	border: none;
}
.cart-control-quantity button:hover {
	background-color: #f3f3f7;
}
.cart-control-quantity .minus {
	left: .15rem;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52' fill='%23a3abb4'%3e%3cpath d='M52,26c0,2.476-0.213,4.483-2.69,4.483H2.69C0.213,30.483,0,28.476,0,26s0.213-4.483,2.69-4.483 h46.62C51.787,21.517,52,23.524,52,26z'/%3e%3c/svg%3e");
}
.cart-control-quantity .plus {
	right: .15rem;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58 58' fill='%23a3abb4'%3e%3cpath d='M55,24H34V3c0-2.762-2.238-3-5-3s-5,0.238-5,3v21H3c-2.762,0-3,2.238-3,5s0.238,5,3,5h21v21 c0,2.762,2.238,3,5,3s5-0.238,5-3V34h21c2.762,0,3-2.238,3-5S57.762,24,55,24z'/%3e%3c/svg%3e");
}
.cart-control-quantity input {
	text-align: center;
	padding: 0;
	border: none;
	pointer-events: none;
	background-color: transparent;
}

/* button */
.cart-control-button {
	flex-grow: 1;
	font-weight: 500;
}
.cart-control-button[data-role="cart-action"] .text-to-cart,
.cart-control-button[data-role="cart-action"] .text-in-cart {
	display: none;
}
.cart-control-container[data-in-cart="0"] .cart-control-button[data-role="cart-action"] .text-to-cart {
	display: inline;
}
.cart-control-container[data-in-cart="1"] .cart-control-button[data-role="cart-action"] .text-in-cart {
	display: inline;
}
.cart-control-container[data-in-cart="1"] .cart-control-button[data-role="cart-action"] {
	background-color: #607D8B;
	border-color: #607D8B;
}

/* product thumb */
.cart-control-container__product-thumb .cart-control-button {
	--bs-btn-padding-x: .2rem;
}
/* chackout */
.cart-control-container__checkout {
	height: 2.4rem;
}

/****************** city *********************/
.modal-city__item {
	padding: .15rem .5rem;
}

/*************** lock scroll *****************/
.lock-scroll {
	overflow: hidden;
	position: relative;
}

/************** swiper plugin ****************/
.swiper-viewport {
	position: relative;
	margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
	.swiper-viewport {
		margin-bottom: 2.5rem;
	}
}
.swiper {
	user-select: none;
	-webkit-user-select: none;
}
.swiper-heading {
	display: flex;
	align-items: center;
	margin-bottom: 1.5rem;
}
.swiper-heading h3 {
	margin: 0;
}
.swiper-heading a {
	margin-left: 1rem;
	padding: .15rem .4rem;
	font-size: .83rem;
	white-space: nowrap;
	font-weight: 500;
}

/* все слайды одинаковой высоты */
.swiper-slide {
	height: auto;
}

/* pagination */
.swiper-pagination-bullets.swiper-pagination-horizontal {
	position: relative;
	bottom: unset;
	margin: 1.5rem 0 .5rem;
}
.swiper-pagination-bullet-active {
	background: var(--swiper-pagination-color, #85848a);
}
@media (min-width: 768px) {
	.swiper-pagination {
		display: none;
	}
}

/* pager in heading */
.swiper-heading-pager {
	display: none;
	margin-left: auto;
	gap: 0.75rem;
}
@media (min-width: 768px) {
	.swiper-heading-pager {
		display: flex;
	}
}
.swiper-heading-button-prev,
.swiper-heading-button-next {
	width: 1.75rem;
	height: 1.75rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: .7;
	transition: opacity .15s;
	user-select: none;
}
.swiper-heading-button-prev:hover,
.swiper-heading-button-next:hover {
	opacity: 1;
}
.swiper-heading-button-prev {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z'/%3E%3C/svg%3E");
}
.swiper-heading-button-next {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z'/%3E%3C/svg%3E");
}
.swiper-heading-pager .swiper-button-disabled {
	opacity: .3;
}

/* pager */
.swiper-pager {
	--swiper-navigation-sides-offset: .75rem;
	--swiper-navigation-color: #222222;
	--swiper-navigation-size: 2.5rem;
	display: none;
}
.swiper-button-prev,
.swiper-button-next {
	padding: .563rem;
	border-radius: 50%;
	background-color: #ffffff;
	opacity: 0;
	transition: opacity .15s, color .15s, background-color .15s, margin .15s;
	border: 1px solid rgba(0, 0, 0, 0.05);
}
.swiper-button-prev:not(.swiper-button-disabled):hover,
.swiper-button-next:not(.swiper-button-disabled):hover {
	--swiper-navigation-color: var(--bs-primary);
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
	opacity: 0;
	/* делаем кликабельными стрелки, чтобы не кликали на баннер вместо стрелки */
	pointer-events: auto;
}
.swiper-horizontal .swiper-button-prev {
	margin-left: -0.1875rem;
}
.swiper-horizontal .swiper-button-next {
	margin-right: -0.1875rem;
}
.swiper-horizontal:hover .swiper-button-prev,
.swiper-horizontal:hover .swiper-button-next {
	opacity: 1;
	margin-left: 0;
	margin-right: 0;
}
.swiper-horizontal:hover .swiper-button-disabled {
	opacity: .35;
}

@media (min-width: 768px) {
	.swiper-pager {
		display: block;
	}
}


/********************** CATEGORY GROUP *************************
===============================================================*/
.category-group-product__cat {
	width: 100%;
	background-color: #fcfcfd;
	padding: 1.25rem 4.8rem 1.25rem 1.5rem;
	margin-bottom: 1.5rem;
	border-radius: .5rem;
	position: relative;
}
.category-group-product__cat-lvl-1 a {
	color: var(--bs-body-color);
	font-size: 1rem;
	font-weight: 600;
	display: inline-block;
	margin-bottom: .5rem;
}
.category-group-product__cat-lvl-1 span {
	display: flex;
	width: 4.0625rem;
	height: 3.75rem;
	position: absolute;
	right: 1rem;
	top: .5rem;
}
.category-group-product__cat-icon {
	width: calc(100% * var(--icon-zoom));
	height: calc(100% * var(--icon-zoom));
	margin: auto;
	max-width: 100%;
}
.category-group-product__cat-lvl-2 a {
	color: var(--bs-body-color);
	line-height: 1.3;
	display: inline-block;
	margin-bottom: .4rem;
}
.category-group-product__cat-all {
	font-size: .875rem;
	font-weight: 500;
}


/*********************** CATEGORY PAGE *************************
===============================================================*/
.category-product__image {
	width: 11.25rem;
}
.category-product__description {
	max-height: calc(var(--bs-body-font-size) * var(--bs-body-line-height) * 7);
	overflow: hidden;
	margin-bottom: .25rem;
}
.category-product__description p:last-child {
	margin-bottom: 0;
}
.category-product__description p {
	margin-bottom: calc(var(--bs-body-font-size) * var(--bs-body-line-height));
}
.category-product__description.show {
	max-height: none;
}

/* раскрыть описание категории */
.category-product__descr-toggler {
	display: inline-block;
	font-weight: 500;
	font-size: .75rem;
	color: var(--bs-primary);
}

/* список подкатегорий */
.category-product__cat {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1.5rem;
	color: var(--bs-body-color);
	font-weight: 400;
	border-radius: .5rem;
	overflow: hidden;
	border: 1px solid #f3f5f7;
}
.category-product__cat span {
	padding: 1rem .5rem 1rem 1rem;
	line-height: 1.35;
}
.category-product__cat img {
	flex: 0 0 auto;
}

/* кнопка показать ещё */
.category-product__show-more {
	height: 3.125rem;
	background: url(/image/show_more.png) center 1.875rem no-repeat;
	text-transform: uppercase;
	font-weight: 600;
	cursor: pointer;
	margin: 1rem 0 2rem;
	transition: background-position .2s;
	text-align: center;
}
.category-product__show-more:hover {
	background-position: center 2.1875rem;
}


/************* МОДУЛЬ ДЛЯ ВЫВОДА СПИСКА КАТЕГОРИЙ **************
===============================================================*/
.module-category-list {
	width: 16.875rem;
	border-radius: .5rem;
	box-shadow: 0 0 0.625rem rgb(0 0 0 / 3%);
}
@media (min-width: 1240px) {
	.module-category-list {
		width: 18.75rem;
	}
}
.module-category-list a {
	color: var(--bs-body-color);
}
.module-category-list a:hover {
	color: var(--bs-primary);
}
.module-category-list__group {
	padding-top: .55rem;
	padding-bottom: .55rem;
	border-color: #eeeef3;
}
.module-category-list__group.active {
	background-color: #fff;
	border-color: #eeeef3;
}

/* основная категория */
.module-category-list__cat {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.module-category-list__cat a {
  font-weight: 600;
}
.module-category-list__group.active .module-category-list__cat a {
	color: var(--bs-primary);
}

/* раскрывает меню */
.module-category-list__cat span {
	opacity: 0;
	color: #61616d;
	flex: 0 0 1rem;
	height: 1rem;
	cursor: pointer;
	position: relative;
}
.module-category-list__cat span::before,
.module-category-list__cat span::after {
	content: '';
	position: absolute;
	background: #61616d;
}
.module-category-list__cat span::before {
	width: 100%;
	height: 0.125rem;
	top: calc(50% - 0.0625rem);
}
.module-category-list__cat span::after {
	width: 0.125rem;
	height: 100%;
	left: calc(50% - 0.0625rem);
	top: 0;
}
.module-category-list__cat span:hover::before,
.module-category-list__cat span:hover::after {
	background: var(--bs-primary);
}
.module-category-list__group:hover .module-category-list__cat span,
.module-category-list__group.active .module-category-list__cat span {
	opacity: 1;
}
.module-category-list__group.active .module-category-list__cat span::after {
	display: none;
}
.module-category-list__group.active .module-category-list__cat span::before,
.module-category-list__group.active .module-category-list__cat span::after {
	background: var(--bs-primary);
}

/* подкатегории */
.module-category-list__subcat-lvl-1  {
	display: none;
	position: relative;
	top: 0.3125rem;
}
.module-category-list__subcat-lvl-1.active {
	display: block;
}
.module-category-list__subcat-lvl-1 a {
	display: block;
	line-height: 1.3;
	padding: .25rem 0 .25rem .5rem;
}
.module-category-list__subcat-lvl-1 a.active {
	color: var(--bs-primary);
}


/*************** МЕНЮ РАЗДЕЛОВ ЛИЧНОГО КАБИНЕТА ****************
===============================================================*/
.account-layout__content,
.account-menu {
	background-color: var(--bs-body-bg);
	border-radius: 1.5rem;
}

.account-layout__content {
	padding: 1rem;
}

@media (max-width: 991.98px) {
	body {
		background-color: var(--bs-body-bg);
	}

	.site-header,
	.account-layout__content {
		box-shadow: 0 0 7px rgb(0 0 0 / 4%);
	}
}

.account-menu {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 1rem;
}
.account-menu__navigation,
.site-mobile-menu__navigation {
	display: flex;
	flex-direction: column;
	gap: .25rem;
}
.account-menu__item,
.site-mobile-menu__item {
	display: flex;
	align-items: center;
	gap: .875rem;
	min-height: 3.5rem;
	padding: .875rem 1rem;
	color: var(--bs-secondary-color);
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none;
	border-radius: 1rem;
	transition: color .15s ease-in-out, background-color .15s ease-in-out;
}
.account-menu__item:hover,
.account-menu__item:active,
.site-mobile-menu__item:hover,
.site-mobile-menu__item:active {
	color: var(--bs-body-color);
	background-color: var(--project-surface-bg);
}
.account-menu__item:focus-visible,
.site-mobile-menu__item:focus-visible {
	outline: .1875rem solid rgba(var(--bs-primary-rgb), .25);
	outline-offset: .125rem;
}
.account-menu__item.is-current,
.account-menu__item.is-current:hover,
.account-menu__item.is-current:active,
.site-mobile-menu__item.is-current,
.site-mobile-menu__item.is-current:hover,
.site-mobile-menu__item.is-current:active {
	color: #5959d1;
	background-color: rgb(246 246 255);
}
.account-menu__icon,
.site-mobile-menu__icon {
	width: 1.625rem;
	height: 1.625rem;
	flex-shrink: 0;
	fill: currentColor;
}
.account-menu__divider,
.site-mobile-menu__divider {
	margin: .75rem 1rem;
	border: 0;
	border-top: 1px solid var(--bs-border-color);
	opacity: 1;
}
.site-mobile-menu__divider {
	margin-right: .5rem;
	margin-left: .5rem;
}
.account-menu__upgrade {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.25rem;
	background-color: rgb(246 246 255);
	border-radius: 1.25rem;
}
.account-menu__upgrade-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	margin-bottom: 1.25rem;
	color: var(--bs-primary);
	background-color: var(--bs-body-bg);
	border-radius: 50%;
}
.account-menu__upgrade-icon svg {
	width: 1.75rem;
	height: 1.75rem;
	fill: currentColor;
}
.account-menu__upgrade-title {
	margin-bottom: .5rem;
	font-size: 1.2rem;
	line-height: 1.25;
}
.account-menu__upgrade-description {
	margin-bottom: 1.25rem;
	color: var(--bs-secondary-color);
	line-height: 1.5;
}
.account-menu__mobile-toggle {
	display: flex;
	align-items: center;
	gap: .875rem;
	width: 100%;
	min-height: 3.5rem;
	padding: .875rem 1rem;
	color: #5959d1;
	font-weight: 500;
	line-height: 1.25;
	text-align: left;
	background-color: rgb(246 246 255);
	border: 0;
	border-radius: 1rem;
	transition: color .15s ease-in-out, background-color .15s ease-in-out;
}
.account-menu__mobile-toggle:hover,
.account-menu__mobile-toggle:active {
	color: #5959d1;
	background-color: rgb(246 246 255);
}
.account-menu__mobile-toggle:focus-visible {
	outline: .1875rem solid rgba(var(--bs-primary-rgb), .25);
	outline-offset: .125rem;
}
.account-menu__mobile-current {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.account-menu__mobile-action {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	flex-shrink: 0;
	margin-left: auto;
	font-size: .875rem;
	font-weight: 600;
}
.account-menu__mobile-action svg {
	width: 1.125rem;
	height: 1.125rem;
	fill: currentColor;
}
.account-menu--offcanvas {
	width: 100%;
	min-height: 100%;
	padding: .5rem 0 0 0;
	border-radius: 0;
}
.account-menu--offcanvas .account-menu__upgrade {
	margin-top: auto;
}
@media (min-width: 992px) {
	.account-layout__content {
		padding: 3rem;
	}

	.account-menu__desktop {
		position: sticky;
		top: 1.5rem;
	}
}


/************************* BLOG THUMB **************************
===============================================================*/
.blog-thumb {
	position: relative;
}
.blog-thumb__date {
	display: inline-block;
	background-color: rgb(255 255 255 / 75%);
	padding: .05rem .25rem;
	border-radius: 0 0 0 .5rem;
	font-weight: 500;
	font-size: .875rem;
	position: absolute;
	right: 0;
	top: 0;
	pointer-events: none;
	color: rgb(0 0 0 / 75%);
}


/************************ PRODUCT LIST *************************
===============================================================*/
.product-layout {
	display: flex;
	margin-bottom: 1.5rem;
}


/*********************** PRODUCT LABEL *************************
===============================================================*/
.product-label {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: .15rem .25rem;
	border-radius: .25rem;
	font-size: .7rem;
	font-weight: 600;
	line-height: 1.25;
	text-transform: uppercase;
}
.product-label--special {
	background-color: #ef1818;
	color: #ffffff;
}


/*********************** PRODUCT THUMB *************************
===============================================================*/
.product-thumb {
	position: relative;
	display: flex;
	flex-direction: column;
}
.product-thumb__body {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-top: .5rem;
}
.product-thumb__name {
	margin-bottom: .75rem;
	line-height: 1.3;
	color: var(--bs-body-color);
	flex-grow: 1;
	font-size: 0.938rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.product-thumb__price,
.product-thumb__price-special {
	font-size: 1.16rem;
	font-weight: 600;
}
.product-thumb__price-special {
	color: #ef4e4e;
	margin-right: .5rem;
}
.product-thumb__price-base {
	color: #989a9f;
	font-weight: 500;
	text-decoration: line-through;
	font-size: .95rem;
}
.product-thumb__labels {
	position: absolute;
	top: .5rem;
	left: .5rem;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .25rem;
	pointer-events: none;
}
.product-thumb__image img {
	border-radius: .5rem;
}

.product-thumb__controls {
	position: absolute;
	right: .5rem;
	top: .5rem;
	display: flex;
	flex-direction: column;
	background-color: rgb(233 233 233 / 50%);
	gap: 0.25rem;
	padding: 0.2rem;
	border-radius: .5rem;
	color: #5f5f5f;
}
.product-thumb__controls .icon {
	width: 1.4rem;
	height: 1.4rem;
	cursor: pointer;
	fill: #333333;
}
.product-thumb__controls .icon-favorite[data-product="wishlist-remove"] {
	fill: var(--bs-primary);
}


.product-thumb__button-add {
	cursor: pointer;
	background: #7fd97f;
	padding: 0.15rem .85rem 0.25rem;
	border-radius: .35rem;
}
.product-thumb__button-add:hover {
	background: #88d988;
}


/************************* PRODUCT PAGE ************************
===============================================================*/
.product__panel-buttons {
	display: inline-flex;
	gap: .5rem;
}
.product__panel-buttons .icon {
	width: 2rem;
	height: 2rem;
	cursor: pointer;
	fill: #333333;
}
.product__panel-buttons .icon-favorite[data-product="wishlist-remove"] {
	fill: var(--bs-primary);
}

.product__price-base,
.product__price-special {
	font-size: 1.65rem;
}
.product__price-special {
	color: #f13232;
}
.product__price-special + .product__price-base {
	margin-left: 0.25rem;
	font-size: 1.1rem;
	vertical-align: top;
	text-decoration: line-through;
}

.product__labels {
	display: flex;
	flex-wrap: wrap;
	gap: .375rem;
	margin-bottom: .75rem;
}

.product__tags {
	margin-bottom: 1.5rem;
	display: flex;
	gap: .5rem;
}
.product__tags a {
	position: relative;
	padding: .188rem .438rem;
	background: #f2f5fb;
	color: var(--bs-body-color);
	border-radius: .5rem;
	border: 1px solid #e7eaf1;
	font-size: .875rem;
	display: inline-flex;
	align-items: center;
}
.product__tags a:before {
	content: '';
	width: .563rem;
	height: .563rem;
	background: #ffffff;
	border: 1px solid #e3e7ef;
	border-radius: 50%;
	margin-right: .25rem;
}
.product__tags a:hover {
	background-color: #ebeff7;
	border-color: #e1e5ef;
}

/* --- Галерея изображений товара --- */

/* контейнер галереи */
@media (min-width: 768px) {
	.product__swiper-container {
		aspect-ratio: 1.6818;
	}
}

/* горизонтальный слайдер */
.product__swiper-horizontal {
	position: relative;
	flex-grow: 1;
}
@media (min-width: 768px) {
	.product__swiper-horizontal .swiper-slide {
		border-radius: 1rem;
		overflow: hidden;
	}
}

/* счётчик слайдов на мобильных (fraction) */
.product__swiper-horizontal .swiper-pagination-fraction {
	bottom: 1rem;
	left: 1rem;
	width: auto;
	background: rgba(255, 255, 255, 0.75);
	padding: 0.1rem 0.4rem;
	border-radius: 0.4rem;
	font-size: 0.875rem;
	font-weight: 500;
}

/* скрываем счётчик, если слайд всего один */
.product__swiper-horizontal .swiper-pagination-lock {
	display: none !important;
}

@media (min-width: 576px) and (max-width: 767px) {
	.product__swiper-horizontal .swiper-slide {
		width: 60%;
	}
}

/* миниатюры (вертикальный слайдер) */
.product__swiper-vertical {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	margin-right: 1rem;
}
.product__swiper-vertical .swiper {
	height: 100%;
}
.product__swiper-vertical .swiper-slide {
	display: flex;
	justify-content: center;
	cursor: pointer;
}
.product__swiper-vertical .swiper-slide-thumb-active img {
	border-color: #d3d3db;
	box-shadow: inset 0 0 0 0.0625rem #d3d3db;
}
.product__swiper-vertical img {
	max-width: none;
}

/* кнопки навигации миниатюр */
.product__swiper-vertical-prev,
.product__swiper-vertical-next {
	position: absolute;
	z-index: 2;
	width: 1.8rem;
	height: 1.8rem;
	padding: .2rem;
	background-color: #ffffff;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.05);
	cursor: pointer;
}
.product__swiper-vertical-prev:hover,
.product__swiper-vertical-next:hover {
	fill: var(--bs-primary);
}
.product__swiper-vertical-prev {
	top: 1rem;
}
.product__swiper-vertical-next {
	bottom: 1rem;
}
.product__swiper-vertical-prev.swiper-button-disabled,
.product__swiper-vertical-next.swiper-button-disabled {
	opacity: 0;
	pointer-events: none;
}


/*************************** ОТЗЫВЫ ****************************
===============================================================*/

.product__review {
	background-color: #f8f9fb;
	padding: 1.5rem;
	border-radius: 1rem;
}

/* Список отзывов */
.product__review-list ul {
	margin-top: 1.5rem;
	margin-bottom: 2rem;
}
.product__review-list img {
	width: 2.5rem;
	border-radius: .5rem;
}
.product__review-list-answer {
	border-top: 1px solid #f0f0f3;
	margin-top: .5rem;
	padding-top: .5rem;
}


/*************************** TAG PAGE ***************************
===============================================================*/
.product-tag__related {
	position: relative;
	display: inline-block;
	background: #ece7f5;
	color: #61586f;
	padding: 0.0625rem 0.4375rem 0.0625rem 1.25rem;
	border-radius: .25rem;
	border: 1px solid #e5dff1;
	margin-right: 0.3125rem;
	transition: all .2s;
}
.product-tag__related:hover {
	background: #e6e0f1;
	color: #4e475a;
	border-color: #ded7ea;
}
.product-tag__related::before {
	content: '';
	position: absolute;
	top: 0.5625rem;
	left: 0.375rem;
	width: 0.625rem;
	height: 0.625rem;
	background: #ffffff;
	border: 1px solid #e5dff1;
	border-radius: 50%;
}


/*************************** КОРЗИНА ***************************
===============================================================*/
.cart__block {
	margin-bottom: 2rem;
}
@media (min-width: 992px) {
	.cart__block {
		padding: 1.5rem 1.5rem 1rem;
		box-shadow: 0 0 0.9375rem rgb(0 0 0 / 3%);
		border-radius: .5rem;
		margin-bottom: 1.5rem;
	}
	.cart__confirm {
		position: sticky;
		top: 0.625rem;
		background: #f9fafb;
		box-shadow: none;
	}
}

/* список товаров */
.cart__product-row {
	padding: .5rem 0;
}
.cart__product-row:not(:last-child) {
	margin-bottom: .5rem;
	border-bottom: 0.0625rem dashed #e1e4e8;
}
.cart__product-remove {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	cursor: pointer;
	fill: #d3d8dc;
	transition: fill .1s;
}
.cart__product-remove:hover {
	fill: #c9cdd0;
}
.cart__product-data {
	line-height: 1.3;
}
.cart__product-name {
	color: var(--bs-body-color);
}
.cart__product-labels {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	margin-top: .25rem;
}
.cart__product-total {
	font-weight: 500;
}
.cart__product-base-total {
	color: #c0c3c9;
	text-decoration: line-through;
	font-size: .75rem;
	line-height: 1.3;
	font-weight: 500;
}
.cart__product-base-total + .cart__product-total {
	color: #eb4c4c;
}
.cart__product-unit-price {
	color: #84878d;
	font-size: .75rem;
	line-height: 1.4;
}
@media (min-width: 576px) {
	.cart__product-data {
		margin-right: 1rem;
	}
	.cart__product-total {
		width: 6.25rem;
	}
}
@media (min-width: 1240px) {
	.cart__product-total {
		width: 8.125rem;
		font-size: .9375rem;
	}
}

/* customer form */
.cart-customer-data__selected-address {
	padding: .5rem .75rem;
	border-radius: .375rem;
	background-color: #f4f5f7;
}

/* итого */
.cart__confirm-coupon,
.cart__confirm-reward,
.cart__confirm-voucher {
	display: block;
	margin-bottom: .25rem;
	font-weight: 500;
}
.cart__confirm-payment-method {
	margin-bottom: 1rem;
}
.cart__confirm-payment-method div {
	font-weight: 600;
}
.cart__confirm #button-confirm {
	width: 100%;
	padding: .65rem 1.5rem;
	font-size: .9375rem;
	font-weight: 500;
}
@media (min-width: 768px) {
	.cart__confirm #button-confirm {
		width: auto;
	}
}
@media (min-width: 992px) {
	.cart__confirm #button-confirm {
		width: 100%;
	}
}


/*********************** МОДУЛЬ КАРУСЕЛЬ ***********************
===============================================================*/
.module-carousel {}


/************************ МОДУЛЬ БАННЕР ************************
===============================================================*/
.module-banner {}


/*********************** МОДУЛЬ СЛАЙДШОУ ***********************
===============================================================*/
.module-slideshow {}


/*********************** ЛИЧНЫЙ КАБИНЕТ ************************
===============================================================*/
.information-styleguide__icon-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-bottom: 3rem;
}
.information-styleguide__icon-list svg {
	width: 3rem;
	height: 3rem;
}


/*********************** ЛИЧНЫЙ КАБИНЕТ ************************
===============================================================*/
.account__heading {
	display: flex;
	align-items: center;
}
h3.account__heading {
	margin-bottom: 1.5rem;
}
h4.account__heading {
	margin-bottom: 1rem;
}
.account__heading a {
	display: flex;
	flex-shrink: 0;
	margin-right: .75rem;
}
.account__heading .icon {
	width: 1.6875rem;
	height: 1.6875rem;
	border: 1px solid #d4d9dd;
	border-radius: .375rem;
	padding: 0.1875rem;
	fill: #787d81;
}

/****************** ЛИЧНЫЙ КАБИНЕТ (ОСНОВНАЯ) ******************
===============================================================*/
.account-account__block {
	width: 100%;
	padding: 1.5rem;
	border-radius: .75rem;
	margin-bottom: 1.5rem;
	background-color: #fafafb;
}
.account-account__block h4 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 1.2rem;
	color: rgb(0 0 0 / 70%);
}
.account-account__block .icon {
	width: 1.5625rem;
	height: 1.5625rem;
	margin-right: .5rem;
	fill: #b4b4bd;
	flex-shrink: 0;
}
.account-account__block h4 a {
	font-size: .8rem;
	font-weight: 500;
}
.account-account__block ul a {
	color: var(--bs-body-color);
	display: inline-flex;
	align-items: center;
	margin-bottom: .5rem;
}
.account-account__wishlist-products {
	overflow: hidden;
	white-space: nowrap;
	position: relative;
}
.account-account__wishlist-products:after {
	content: '';
	position: absolute;
	right: 0;
	height: 100%;
	box-shadow: 0 0 0.625rem 0.9375rem #f9f9fb;
}
.account-account__wishlist-products a {
	margin-right: .5rem;
	display: inline-block;
	background: #ffffff;
}
.account-account__wishlist-products img {
	border-radius: .25rem;
	border: 1px solid #f3f3f7;
	padding: 0.125rem;
}

/*************** СПИСОК ЗАКАЗОВ (ЛИЧНЫЙ КАБИНЕТ) ***************
===============================================================*/
.account-order-list__item {
	display: flex;
	padding: .5rem;
	border-radius: .5rem;
	border: 1px solid #f0f1f3;
	margin-bottom: .75rem;
	cursor: pointer;
}
@media (min-width: 576px) {
	.account-order-list__item {
		padding: 1rem;
	}
}
.account-order-list__status-color {
	width: .5rem;
	border-radius: .25rem;
	margin-right: .75rem;
	flex-shrink: 0;
}
.account-order-list__order-status {
	font-weight: 500;
}
.account-order-list__order-total {
	font-size: 0.9375rem;
	font-weight: 500;
}
.account-order-list__products {
	display: flex;
	width: 13rem;
	overflow: hidden;
}
@media (min-width: 400px) {
	.account-order-list__products {
		width: 16.25rem;
	}
}
@media (min-width: 452px) {
	.account-order-list__products {
		width: 19.5rem;
	}
}
@media (min-width: 504px) {
	.account-order-list__products {
		width: 22.75rem;
	}
}
@media (min-width: 576px) {
	.account-order-list__products {
		width: 26rem;
	}
}
@media (min-width: 650px) {
	.account-order-list__products {
		width: 29.25rem;
	}
}
@media (min-width: 700px) {
	.account-order-list__products {
		width: 35.75rem;
	}
}
@media (min-width: 768px) {
	.account-order-list__products {
		width: 13rem;
		justify-content: end;
	}
}
@media (min-width: 992px) {
	.account-order-list__products {
		width: 32.5rem;
		justify-content: start;
	}
}
@media (min-width: 1100px) {
	.account-order-list__products {
		width: 39rem;
	}
}
@media (min-width: 1240px) {
	.account-order-list__products {
		width: 13rem;
		justify-content: end;
	}
}
@media (min-width: 1300px) {
	.account-order-list__products {
		width: 16.25rem;
	}
}
.account-order-list__products img {
	margin-right: 0.125rem;
}
.account-order-list__view {
	margin: 0 0 auto 1rem;
	background: #f7f7fb;
	padding: 0.3125rem;
	border-radius: .35rem;
}
.account-order-list__view .icon {
	width: 1.4375rem;
	height: 1.4375rem;
	fill: #757781;
}

/************** СТРАНИЦА ЗАКАЗА (ЛИЧНЫЙ КАБИНЕТ) ***************
===============================================================*/
.account-order-info__container {
	width: 100%;
	padding: 1rem;
	margin-bottom: 1rem;
	background-color: #fafafb;
	border-radius: .5rem;
}
.account-order-info__container td {
	border-color: #e9ebed;
}

/*************** СПИСОК АДРЕСОВ (ЛИЧНЫЙ КАБИНЕТ) ***************
===============================================================*/
.account-address__item {
	padding: 1rem;
	border-radius: .5rem;
}
.account-address__item-address {
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: .25rem;
}

/**************** АВТОРИЗАЦИЯ (ЛИЧНЫЙ КАБИНЕТ) *****************
===============================================================*/
.account-login {}

/**************** РЕГИСТРАЦИЯ (ЛИЧНЫЙ КАБИНЕТ) *****************
===============================================================*/
.account-register {}

/*************** ЗАБЫЛИ ПАРОЛЬ (ЛИЧНЫЙ КАБИНЕТ) ****************
===============================================================*/
.account-forgotten {}

/**************** РЕДАКТОР ПУБЛИЧНОЙ СТРАНИЦЫ ****************
=============================================================*/
.account-profile__url-globe,
[data-custom-link-icon-placeholder] {
	color: #9aa2aa;
}

.account-profile__url-globe {
	width: 2.5rem;
	height: 2.5rem;
	padding: .5rem;
	margin-left: .75rem;
	background-color: var(--bs-white);
	border-radius: .75rem;
}

.account-profile__url-action,
.social-link__edit,
.custom-link__edit {
	--bs-btn-color: var(--bs-secondary-color);
	--bs-btn-hover-color: rgba(var(--bs-body-color-rgb), .9);
	--bs-btn-active-color: var(--bs-body-color);
}

.account-profile__avatar .media-uploader {
	max-width: 100%;
	height: auto;
	aspect-ratio: 1;
}

@media (max-width: 767.98px) {
	.account-profile__avatar .media-uploader {
		width: 140px;
		height: 140px;
	}
}

@media (min-width: 1220px) {
	.account-profile__identity-fields {
		padding-top: 2rem;
	}
}

.account-form__save-sticky {
	position: sticky;
	z-index: 10;
	bottom: 0;
	margin-top: 1rem;
	background: linear-gradient(to bottom, transparent 0 50%, var(--bs-body-bg) 50% 100%);
}

.account-form__save-bar {
	display: flex;
	justify-content: center;
	padding: 1rem;
	background-color: rgb(255 255 255);
	border-top: 1px solid var(--bs-border-color);
}

.account-form__open-page-timer {
	position: relative;
	overflow: hidden;
}

.account-form__open-page-timer::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background-color: rgb(255 255 255 / 50%);
	pointer-events: none;
	content: '';
	animation: account-form-open-page-timer 5s linear forwards;
}

@keyframes account-form-open-page-timer {
	to {
		width: 100%;
	}
}

@media (min-width: 768px) {
	.account-form__save-bar {
		padding: 1.5rem 1rem;
	}
}

.form-floating > .account-profile__bio {
	height: 8.25rem;
}

.account-profile__bio-counter {
	background-color: rgb(255 255 255);
	color: var(--bs-body-color);
	padding: 0 .4rem;
	border-radius: .35rem;
	display: inline-flex;
}

.social-network-picker {
	max-height: min(55vh, 26rem);
	overscroll-behavior: contain;
}

.custom-link__layout,
.social-link__layout {
	display: grid;
	gap: 1rem;
	align-items: center;
}

.custom-link__layout {
	grid-template-columns: 2rem 2.5rem minmax(0, 1fr) 2rem 2rem 2rem;
	gap: .375rem;
}

.custom-link__layout--heading {
	grid-template-columns: 2rem 2.5rem minmax(0, 1fr) 2rem 2rem;
}

.social-link__layout {
	grid-template-columns: 2rem 2.5rem minmax(0, 1fr) 2rem 2rem;
	gap: .375rem;
}

.btn.custom-link__handle,
.btn.social-link__handle,
.btn.profile-connection__handle {
	--bs-btn-active-border-color: transparent;
	color: var(--bs-secondary-color);
	cursor: grab;
}

.btn.social-link__handle,
.btn.social-link__edit,
.btn.custom-link__handle,
.btn.profile-connection__handle,
.btn.custom-link__edit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
}

@media (min-width: 576px) {
	.custom-link__layout {
		grid-template-columns: 2rem 3rem minmax(0, 1fr) 2rem 2rem 2rem;
		gap: 1rem;
	}

	.custom-link__layout--heading {
		grid-template-columns: 2rem 3rem minmax(0, 1fr) 2rem 2rem;
	}

	.social-link__layout {
		grid-template-columns: 2rem 3rem minmax(0, 1fr) 2rem 2rem;
		gap: 1rem;
	}
}

.custom-link__item.ui-sortable-helper .custom-link__handle,
.social-link__item.ui-sortable-helper .social-link__handle,
.profile-connection__item.ui-sortable-helper .profile-connection__handle {
	cursor: grabbing;
}

.custom-link__preview {
	min-width: 0;
}

.custom-link__hidden-indicator {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60%;
	height: 60%;
	transform: translate(-50%, -50%);
	color: color-mix(in srgb, var(--bs-gray-500) 70%, var(--bs-gray-600));
	pointer-events: none;
}

.custom-link__hidden-indicator[hidden] {
	display: none;
}

.custom-link__icon--hidden > :not(.custom-link__hidden-indicator) {
	opacity: .25;
}

.custom-link__catalog-preview {
	display: grid;
	place-items: center;
	width: 6.25rem;
	height: 6.25rem;
	padding: .25rem;
	overflow: hidden;
	color: var(--bs-secondary-color);
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius-lg);
}

.custom-link__catalog-preview img,
.custom-link__catalog-placeholder {
	width: 100%;
	height: 100%;
	border-radius: .65rem;
}

.custom-link__catalog-preview img {
	display: block;
	object-fit: contain;
}

.custom-link__catalog-placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, var(--bs-secondary-color) 45%, var(--bs-body-bg));
	background-color: var(--project-surface-bg);
}

.custom-link__catalog-preview[hidden],
.custom-link__catalog-preview img[hidden],
.custom-link__catalog-placeholder[hidden],
[data-custom-link-uploader][hidden] {
	display: none;
}

.social-link__icon,
.custom-link__icon {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1;
	padding: .25rem;
	overflow: hidden;
	color: var(--bs-secondary-color);
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius-lg);
}

.social-link__icon-image,
.custom-link__icon-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: .5rem;
}

.social-link__icon-image[hidden],
.custom-link__icon-image[hidden],
[data-custom-link-icon-placeholder][hidden] {
	display: none;
}

.custom-link__placeholder,
.social-link__placeholder,
.profile-connection__placeholder {
	border: 1px dashed var(--bs-primary-border-subtle);
	border-radius: var(--bs-border-radius);
	background-color: color-mix(in srgb, var(--bs-primary-bg-subtle) 50%, var(--bs-body-bg));
	visibility: visible !important;
}

.profile-connection__avatar,
.profile-connection__avatar-placeholder {
	width: 3rem;
	height: 3rem;
}

.profile-connection__avatar-placeholder {
	color: var(--bs-secondary-color);
}

.profile-connection__content {
	min-width: 0;
	flex: 1 1 auto;
}

/************************ ИЗБРАННОЕ ************************
=========================================================*/
.account-favorite__card .min-w-0,
.account-blocked__card .min-w-0 {
	min-width: 0;
}

.account-favorite__avatar {
	display: block;
	width: 4rem;
	height: 4rem;
	object-fit: cover;
	border-radius: 50%;
}

.account-list__remove {
	--bs-btn-color: var(--bs-secondary-color);
	--bs-btn-hover-color: var(--bs-danger);
	--bs-btn-active-color: var(--bs-danger);

	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
}

/******************* ЗАБЛОКИРОВАННЫЕ *******************
===================================================*/
.account-blocked__avatar {
	display: block;
	width: 4rem;
	height: 4rem;
	object-fit: cover;
	border-radius: 50%;
}

/*********************** НАСТРОЙКИ ***********************
=========================================================*/
.account-settings__share-preview-image .media-uploader {
	max-width: 100%;
	height: auto;
	aspect-ratio: 2 / 1;
}

.account-settings__share-preview-image .media-uploader__single-preview img {
	object-fit: contain;
}

@media (min-width: 1220px) {
	.account-settings__share-preview-fields {
		padding-top: 2rem;
	}
}

/**************** ОФОРМЛЕНИЕ ПРОФИЛЯ ****************/
.account-appearance__theme-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr));
	gap: 1rem;
}

.account-appearance__save-bar {
	align-items: center;
	flex-wrap: wrap;
	gap: .75rem;
}

.account-appearance__history-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
}

.account-appearance__theme-card {
	display: flex;
	min-width: 0;
	padding: 0;
	overflow: hidden;
	color: var(--bs-body-color);
	text-align: start;
	background-color: #fff;
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius-xl);
	flex-direction: column;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, opacity .15s ease-in-out;
}

.account-appearance__theme-card:hover {
	border-color: rgba(var(--bs-primary-rgb), .55);
}

.account-appearance__theme-card:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.account-appearance__theme-card--selected {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .14);
}

.account-appearance__theme-card > img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	background-color: var(--project-surface-bg);
}

.account-appearance__accordion {
	--bs-accordion-btn-bg: var(--project-surface-bg);
	--bs-accordion-active-bg: var(--project-surface-bg);
	--bs-accordion-active-color: var(--bs-body-color);
	display: grid;
	gap: 1rem;
}

.account-appearance__accordion > .accordion-item {
	overflow: hidden;
	border: 1px solid var(--bs-border-color);
	border-radius: 1rem;
}

.account-appearance__block-order {
	max-width: 32rem;
}

.account-appearance__block-order-item {
	display: flex;
	align-items: center;
	gap: .75rem;
	min-height: 3.5rem;
}

.account-appearance__block-order-handle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	cursor: grab;
	user-select: none;
}

.account-appearance__block-order-item.ui-sortable-helper .account-appearance__block-order-handle {
	cursor: grabbing;
}

.account-appearance__block-order-placeholder {
	background-color: color-mix(in srgb, var(--bs-primary-bg-subtle) 50%, var(--bs-body-bg));
	border: 1px dashed var(--bs-primary-border-subtle);
	border-radius: var(--bs-border-radius-lg);
	visibility: visible !important;
}

.account-appearance__view-switch {
	position: sticky;
	top: 0;
	z-index: 10;
	width: calc(100% + 1rem);
	padding: .75rem .5rem;
	margin-inline: -.5rem;
	margin-top: -1rem;
	margin-bottom: 1.5rem;
	background-color: #fff;
	box-shadow: 0 5px 6px -7px rgb(0 0 0 / 10%);
}

.account-appearance__workspace,
.account-appearance__settings,
.account-appearance__preview {
	min-width: 0;
}

.account-appearance__preview {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.account-appearance__preview-sticky {
	display: flex;
	flex-direction: column;
	width: min(100%, 24.375rem);
}

.account-appearance__device {
	width: 100%;
	height: min(46rem, calc(100dvh - 10rem));
	min-height: 32rem;
	overflow: hidden;
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color-translucent);
	border-radius: 1.5rem;
}

.account-appearance__preview-frame {
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border: 0;
}

@media (min-width: 1200px) {
	.account-appearance__view-switch {
		display: none;
	}

	.account-appearance__workspace {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 20rem);
		gap: 2rem;
		align-items: start;
	}

	.account-appearance__preview {
		align-self: stretch;
	}

	.account-appearance__preview-sticky {
		position: sticky;
		top: 1.5rem;
	}

	.account-appearance__device {
		position: relative;
		height: min(40rem, calc(100dvh - 3rem));
		padding: .45rem;
		background-color: #212529;
		border: 0;
		border-radius: 2.25rem;
	}

	.account-appearance__device::after {
		position: absolute;
		z-index: 1;
		inset: 0;
		pointer-events: none;
		content: '';
		border: .45rem solid #212529;
		border-radius: 2.25rem;
	}

	.account-appearance__preview-frame {
		background-color: #212529;
		border-radius: 0;
	}
}

@media (min-width: 1400px) {
	.account-appearance__workspace {
		grid-template-columns: minmax(0, 1fr) minmax(21rem, 23rem);
		gap: 3rem;
	}

	.account-appearance__device {
		height: min(46rem, calc(100dvh - 3rem));
	}
}

.account-appearance__property {
	min-width: 0;
	padding: 0;
	margin: 0;
	border: 0;
}

.account-appearance__button-color-copy {
	display: none;
}

.account-appearance__button-color-copy--active {
	display: inline;
}

.account-appearance__settings:has([data-button-style-variant]:checked) [data-button-color-copy] {
	display: none;
}

.account-appearance__settings:has([data-button-style-variant="solid"]:checked) [data-button-color-copy="solid"],
.account-appearance__settings:has([data-button-style-variant="outline"]:checked) [data-button-color-copy="outline"] {
	display: inline;
}

.account-appearance__options {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.account-appearance__options > .account-appearance__option {
	flex: 0 0 auto;
}

.account-appearance__segmented-tabs {
	display: inline-flex;
	flex-wrap: nowrap;
	max-width: 100%;
	padding: .5rem;
	background-color: #eaedf1;
	border: 0;
	border-radius: 1rem;
}

.account-appearance__segmented-tabs .nav-link {
	min-width: 0;
	padding-right: 1rem;
	padding-left: 1rem;
	color: var(--bs-body-color);
	border: 0;
	border-radius: var(--bs-border-radius);
}

.account-appearance__preview-profile-switch {
	padding: .4rem;
	margin: 1rem auto 0;
}

.account-appearance__preview-profile-switch .nav-link {
	padding: .4rem .75rem;
	font-size: .938rem;
}

.account-appearance__background-tabs .nav-link {
	flex: 0 0 auto;
	width: auto;
	padding-right: .5rem;
	padding-left: .5rem;
}

.account-appearance__background-tabs .badge {
	padding-right: .4rem;
	padding-left: .4rem;
}

@media (min-width: 400px) {
	.account-appearance__background-tabs .nav-link {
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.account-appearance__background-tabs .badge {
		padding-right: var(--bs-badge-padding-x);
		padding-left: var(--bs-badge-padding-x);
	}
}

.account-appearance__background-opacity {
	max-width: 320px;
}

.account-appearance__segmented-tabs .nav-link.active {
	color: var(--bs-body-color);
	background-color: #fff;
}

.account-appearance__option {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .65rem;
	min-height: 3.5rem;
	padding: .75rem 1.25rem;
	margin: 0;
	color: var(--bs-body-color);
	text-align: center;
	background-color: transparent;
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius-lg);
	cursor: pointer;
	transition: border-color .15s ease-in-out, background-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.account-appearance__option:hover {
	background-color: var(--project-surface-bg);
}

.btn-check:checked + .account-appearance__option {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .12);
}

.btn-check:focus-visible + .account-appearance__option {
	box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.btn-check:disabled + .account-appearance__option {
	opacity: .55;
	cursor: not-allowed;
}

.btn-check:disabled + .account-appearance__option:hover {
	background-color: transparent;
}

.account-appearance__color-control {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	min-width: 11rem;
	padding: .75rem 1rem;
	background-color: transparent;
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius-lg);
}

.account-appearance__color-control--picker {
	cursor: pointer;
}

.btn-check:checked + .account-appearance__color-control {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .12);
}

.account-appearance__color-control .form-control-color {
	width: 3rem;
	height: 3rem;
	border-radius: 1rem;
}

.account-appearance__gradient-preview {
	width: min(100%, 15rem);
	aspect-ratio: 3 / 2;
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius-lg);
}

.account-appearance__gradient-preview--surface {
	width: min(100%, 10rem);
	aspect-ratio: 2 / 3;
}

.account-appearance__gradient-angle {
	max-width: 9rem;
}

.account-appearance__gradient-stop {
	display: grid;
	grid-template-columns: 3rem minmax(7rem, 10rem) 2rem;
	gap: .75rem;
	align-items: center;
}

.account-appearance__gradient-stop .form-control-color {
	width: 3rem;
	height: 3rem;
	border-radius: 1rem;
}

.account-appearance__option--font[data-option-code="google_sans"] {
	font-family: 'Google Sans', sans-serif;
}

.account-appearance__system-control-preview,
.public-profile--system-controls-light {
	--profile-system-control-bg: color-mix(in srgb, rgb(255 255 255 / 50%), rgb(0 0 0 / 0%) 12%);
	--profile-system-control-color: #212529;
	--profile-system-control-outline: rgb(225 225 225 / 30%);
	--profile-system-control-preview-bg: linear-gradient(135deg, #b9e7eb, #8fd1da);
}

.account-appearance__property:has([data-appearance-option-code="dark"]:checked) .account-appearance__system-control-preview,
.public-profile--system-controls-dark {
	--profile-system-control-bg: color-mix(in srgb, rgb(0 0 0 / 18%), #40475a 12%);
	--profile-system-control-color: #fff;
	--profile-system-control-outline: rgb(225 225 225 / 18%);
	--profile-system-control-preview-bg: linear-gradient(135deg, #2f3e77, #3a8a83);
}

.account-appearance__system-control-preview {
	display: inline-flex;
	gap: .75rem;
	padding: 1rem;
	background: var(--profile-system-control-preview-bg);
	border-radius: var(--bs-border-radius-xl);
}

.account-appearance__system-control-sample {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	color: var(--profile-system-control-color);
	background-color: var(--profile-system-control-bg);
	border: 0;
	border-radius: 50%;
	outline: 1px solid var(--profile-system-control-outline);
}

.account-appearance__system-control-sample svg {
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor;
}

/******************* ПУБЛИЧНЫЙ ПРОФИЛЬ *******************
=========================================================*/
html:has(.public-profile[data-appearance-preview]) {
	scrollbar-width: none;
}

html:has(.public-profile[data-appearance-preview])::-webkit-scrollbar {
	display: none;
}

.public-profile {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
	color: var(--profile-text-color);
	font-family: var(--profile-font-family);
	--profile-card-radius: 1.5rem;
	--profile-media-radius: .6rem;
	--profile-card-shadow: 0 .5rem 1.5rem rgb(30 41 59 / 6%), 0 .125rem .375rem rgb(30 41 59 / 4%);
	--profile-surface-top-offset: 3rem;
	--profile-secondary-text-color: color-mix(in srgb, var(--profile-text-color) 70%, transparent);
	--bs-body-color: var(--profile-text-color);
	--bs-secondary-color: var(--profile-secondary-text-color);
	isolation: isolate;
}

.public-profile::before {
	position: fixed;
	z-index: -1;
	inset: 0;
	content: "";
	opacity: var(--profile-background-opacity);
	background-color: var(--profile-background-color);
	background-image: var(--profile-background-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.public-profile__layout {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	max-width: none;
}

.public-profile__column {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	width: 100%;
	max-width: 620px;
	overflow: clip;
	border-radius: var(--profile-card-radius) var(--profile-card-radius) 0 0;
	box-shadow: var(--profile-card-shadow);
	isolation: isolate;
}

.public-profile__surface {
	position: sticky;
	z-index: 0;
	top: 0;
	flex: 0 0 auto;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	margin-top: calc(-1 * var(--profile-surface-top-offset));
	margin-bottom: calc(var(--profile-surface-top-offset) - 100vh);
	margin-bottom: calc(var(--profile-surface-top-offset) - 100dvh);
	pointer-events: none;
	background-color: #fff;
}

.public-profile__surface::before {
	position: absolute;
	inset: 0;
	content: "";
	opacity: var(--profile-surface-opacity);
	background-color: var(--profile-surface-color);
	background-image: var(--profile-surface-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.public-profile__column > :not(.public-profile__surface) {
	position: relative;
	z-index: 1;
}

.public-profile-nav {
	width: 100%;
	max-width: 620px;
	--bs-body-color: rgb(var(--bs-body-color-rgb));
	--bs-secondary-color: rgba(var(--bs-secondary-color-rgb), .75);
}

.public-profile-nav__toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 1.75rem;
	padding: 0;
	margin: 0 auto .25rem;
	color: var(--bs-secondary-color);
	background-color: transparent;
	border: 0;
	border-radius: var(--bs-border-radius-pill);
	touch-action: none;
}

.public-profile-nav__toggle svg {
	width: 1.5rem;
	height: 1.5rem;
	transition: transform .2s ease-in-out;
}

.public-profile-nav.is-open .public-profile-nav__toggle svg {
	transform: rotate(180deg);
}

.public-profile-nav__toggle:hover,
.public-profile-nav__toggle:active {
	color: var(--bs-primary);
}

.public-profile-nav__toggle:focus-visible {
	color: var(--bs-primary);
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.public-profile-nav__panel {
	max-height: 0;
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	transition: max-height .2s ease-in-out, margin .2s ease-in-out, opacity .15s ease-in-out, visibility 0s linear .2s;
}

.public-profile-nav.is-open .public-profile-nav__panel {
	max-height: 5rem;
	margin-bottom: .75rem;
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
}

.public-profile-nav__items {
	display: flex;
	gap: .5rem;
	align-items: center;
	justify-content: center;
	width: fit-content;
	max-width: 100%;
	padding: .5rem;
	margin: 0 auto;
	background-color: var(--bs-body-bg);
	border-radius: var(--bs-border-radius-pill);
}

.public-profile-nav__item {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	flex: 0 0 3rem;
	padding: 0;
	color: var(--bs-body-color);
	text-decoration: none;
	border: 0;
	border-radius: 50%;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.public-profile-nav__item svg {
	width: 1.625rem;
	height: 1.625rem;
}

.public-profile-nav__item:hover,
.public-profile-nav__item:active,
.public-profile-nav__item.is-current {
	color: var(--bs-primary);
}

.public-profile-nav__item.is-current {
	background-color: var(--project-surface-hover-bg);
}

.public-profile-nav__item:focus-visible {
	color: var(--bs-primary);
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

@media (max-width: 767.98px) {
	.public-profile {
		--profile-surface-top-offset: 0rem;
		padding-top: 0 !important;
	}

	.public-profile__layout {
		padding-right: 0;
		padding-left: 0;
	}

	.public-profile__column {
		max-width: none;
		min-height: 100vh;
		min-height: 100dvh;
		border-radius: 0;
		box-shadow: none;
	}

	.public-profile-nav {
		position: relative;
		max-width: none;
	}

	.public-profile-nav__toggle {
		position: absolute;
		z-index: 2;
		bottom: -2.25rem;
		left: 50%;
		margin: 0;
		transform: translateX(-50%);
	}

	.public-profile-nav.is-open .public-profile-nav__panel {
		margin-top: .75rem;
	}
}

@media (min-width: 768px) {
	.public-profile__layout--authenticated {
		display: grid;
		grid-template-columns: 3.5rem minmax(0, 620px) 3.5rem;
		gap: 1rem;
		align-items: stretch;
		justify-content: center;
	}

	.public-profile__layout--authenticated .public-profile__column {
		grid-column: 2;
		grid-row: 1;
	}

	.public-profile-nav {
		position: sticky;
		top: 1.5rem;
		align-self: start;
		grid-column: 3;
		grid-row: 1;
		width: 3.5rem;
		max-width: none;
	}

	.public-profile-nav__toggle {
		display: none;
	}

	.public-profile-nav__panel,
	.public-profile-nav.is-open .public-profile-nav__panel {
		max-height: none;
		margin-top: 0;
		margin-bottom: 0;
		overflow: visible;
		visibility: visible;
		opacity: 1;
	}

	.public-profile-nav__items {
		flex-direction: column;
		width: 100%;
		padding: .375rem;
		border-radius: var(--bs-border-radius-xxl);
		box-shadow: 0 .1667rem .5rem rgb(30 41 59 / 6%), 0 .0417rem .125rem rgb(30 41 59 / 4%);
	}
}

.public-profile__footer {
	width: 100%;
	padding: 3rem 1.5rem 1.5rem;
	margin-top: auto;
	font-size: .8rem;
	line-height: 1.4;
	color: var(--profile-secondary-text-color);
	background-color: transparent;
}

.public-profile__cta {
	--bs-btn-active-color: var(--bs-dark);
	--bs-btn-active-bg: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(100%, 28rem);
	padding: .75rem 1.5rem;
	margin: 0 auto 2rem;
	background-color: #fff;
}

.public-profile__cta:hover,
.public-profile__cta:focus,
.public-profile__cta:active {
	color: var(--bs-dark);
	background-color: #fff;
}

.public-profile__cta-title {
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.25;
}

.public-profile__cta-subtitle {
	font-size: .85rem;
	font-weight: 500;
	opacity: .85;
}

.public-profile__footer-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 620px;
	margin: 0 auto;
}

.public-profile__footer-item {
	display: inline-flex;
	align-items: center;
}

.public-profile__footer-item + .public-profile__footer-item::before {
	margin: 0 .45rem;
	content: '\2022';
	opacity: .7;
}

.public-profile__footer-link {
	color: var(--profile-text-color);
	text-underline-offset: .15em;
}

.public-profile__footer-link:hover,
.public-profile__footer-link:focus-visible,
.public-profile__footer-link:active {
	color: var(--profile-secondary-text-color);
}

.public-profile__blocks {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
}

.public-profile__block {
	min-width: 0;
}

.public-profile__social-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75rem;
	margin-bottom: 0;
}

.public-profile__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: calc(var(--bs-border-radius) * .75);
	transition: transform .15s ease-in-out, box-shadow .15s ease-in-out;
}

.public-profile__social-link:hover,
.public-profile__social-link:focus-visible,
.public-profile__social-link:active {
	transform: translateY(-.125rem);
}

.public-profile__social-link:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.public-profile__social-link-image {
	display: block;
	width: 2rem;
	height: 2rem;
	border-radius: var(--profile-media-radius);
}

.public-profile__platform-icon.public-profile__platform-icon--monochrome {
	display: none;
	background-color: transparent;
	border-radius: 22%;
	overflow: hidden;
}

.public-profile__platform-icon-glyph {
	display: block;
	width: 100%;
	height: 100%;
	background-image: var(--profile-platform-icon-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.public-profile--platform-icons-rounded .public-profile__platform-icon {
	border-radius: 22%;
}

.public-profile--platform-icons-circle .public-profile__platform-icon {
	border-radius: 50%;
}

.public-profile--platform-icons-monochrome .public-profile__platform-icon--brand {
	display: none;
}

.public-profile--platform-icons-monochrome .public-profile__platform-icon--monochrome {
	display: block;
}

@supports ((-webkit-mask-image: linear-gradient(#000, #000)) or (mask-image: linear-gradient(#000, #000))) {
	.public-profile--platform-icons-background .public-profile__platform-icon--monochrome {
		background-color: var(--profile-platform-icon-bg-color);
	}

	.public-profile__platform-icon-glyph {
		background-color: var(--profile-platform-icon-color);
		background-image: none;
		-webkit-mask-image: var(--profile-platform-icon-image);
		mask-image: var(--profile-platform-icon-image);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		-webkit-mask-size: contain;
		mask-size: contain;
	}
}

@media (min-width: 768px) {
	.public-profile__social-link,
	.public-profile__social-link-image {
		width: 2.2rem;
		height: 2.2rem;
	}
}

.public-profile__links {
	display: grid;
	min-width: 0;
	gap: .75rem;
}

.public-profile__links-heading {
	margin: .5rem 0 0;
	padding: 0 .5rem;
	color: var(--profile-text-color);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	overflow-wrap: anywhere;
}

.public-profile__links-heading:first-child {
	margin-top: 0;
}

.public-profile__link {
	position: relative;
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr) 3rem;
	gap: 1rem;
	align-items: center;
	min-width: 0;
	min-height: 4rem;
	padding: .5rem;
	color: var(--profile-button-text-color);
	text-align: center;
	text-decoration: none;
	background-color: var(--profile-button-color);
	border: 0;
	border-radius: var(--profile-button-radius);
	box-shadow: var(--profile-button-shadow);
	overflow: hidden;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	isolation: isolate;
}

.public-profile__link--without-icon {
	grid-template-columns: minmax(0, 1fr);
}

.public-profile__link:hover,
.public-profile__link:focus-visible,
.public-profile__link:active {
	color: var(--profile-button-text-color);
	background-color: color-mix(in srgb, var(--profile-button-color) 96%, black);
	background-color: oklch(from var(--profile-button-color) calc(l - .03) c h);
}

.public-profile--buttons-outline .public-profile__link {
	background-color: transparent;
	border: 2px solid var(--profile-button-color);
}

.public-profile--buttons-outline .public-profile__link:hover,
.public-profile--buttons-outline .public-profile__link:focus-visible,
.public-profile--buttons-outline .public-profile__link:active {
	background-color: color-mix(in srgb, var(--profile-button-color) 8%, transparent);
}

.public-profile__link:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.public-profile__link-image {
	display: block;
	justify-self: center;
	width: 2.75rem;
	height: 2.75rem;
	object-fit: cover;
	border-radius: var(--profile-media-radius);
}

.public-profile__link-name {
	min-width: 0;
	font-weight: 500;
	overflow-wrap: anywhere;
}

.public-profile__connections-heading {
	position: relative;
}

.public-profile__connections-controls {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.public-profile__connections-button {
	position: absolute;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	color: var(--profile-secondary-text-color);
	background-color: transparent;
	border: 0;
	border-radius: 50%;
	pointer-events: auto;
	transform: translateY(-50%);
	transition: color .15s ease-in-out, background-color .15s ease-in-out, box-shadow .15s ease-in-out, opacity .15s ease-in-out;
}

.public-profile__connections-button[data-profile-connections-previous] {
	left: 0;
}

.public-profile__connections-button[data-profile-connections-next] {
	right: 0;
}

.public-profile__connections-button:not(.swiper-button-disabled):hover,
.public-profile__connections-button:not(.swiper-button-disabled):active {
	color: var(--profile-text-color);
}

.public-profile__connections-button:not(.swiper-button-disabled):focus-visible {
	color: var(--profile-text-color);
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.public-profile__connections-button.swiper-button-disabled {
	opacity: .35;
}

.public-profile__connections-button.swiper-button-lock {
	display: none;
}

.public-profile__connections-slider {
	width: 100%;
	min-width: 0;
	--profile-connections-slide-width: 100%;
}

.public-profile__connections-track {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(6rem, 1fr));
	gap: 1rem .75rem;
}

.public-profile__connections-track.swiper-wrapper {
	display: flex;
	gap: 0;
}

.public-profile__connection-slide {
	min-width: 0;
}

.public-profile__connection-slide.swiper-slide {
	height: auto;
	margin-right: 12px;
	width: var(--profile-connections-slide-width);
}

.public-profile__connections-pagination {
	position: relative;
	inset: auto;
	margin: 0 auto;
	transform: none;
	--swiper-pagination-color: var(--profile-secondary-text-color);
	--swiper-pagination-bullet-opacity: .8;
	--swiper-pagination-bullet-inactive-color: var(--profile-text-color);
	--swiper-pagination-bullet-inactive-opacity: .35;
}

.public-profile__connections-pagination.is-required {
	min-height: var(--swiper-pagination-bullet-size, 8px);
	margin-top: .75rem;
}

.public-profile__connections .public-profile__connections-pagination.swiper-pagination-horizontal {
	position: relative;
	inset: auto;
	margin-right: auto;
	margin-left: auto;
	transform: none;
}

.public-profile__connection {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5rem;
	min-width: 0;
	padding: .5rem 0 0 0;
	font-size: .85rem;
	color: var(--bs-body-color);
	text-align: center;
	text-decoration: none;
	border-radius: var(--bs-border-radius);
	transition: color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.public-profile__connection:hover,
.public-profile__connection:focus-visible,
.public-profile__connection:active {
	color: var(--bs-primary);
}

.public-profile__connection:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.public-profile__connection-avatar {
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	flex: 0 0 4.5rem;
	object-fit: cover;
	border-radius: 50%;
}

.public-profile__connection-name {
	display: -webkit-box;
	max-width: 100%;
	min-height: 2.5em;
	min-width: 0;
	overflow: hidden;
	color: var(--profile-text-color);
	line-height: 1.25;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

@media (max-width: 767.98px) {
	.public-profile__connections-controls {
		display: none;
	}
}

@media (min-width: 768px) {
	.public-profile__connections-heading {
		padding-right: 5rem;
		padding-left: 5rem;
	}

	.public-profile__connections-pagination {
		display: none;
	}
}

.public-profile__header {
	display: grid;
	grid-template-columns: 3.5rem minmax(0, 1fr) 3.5rem;
	gap: 1rem;
	align-items: start;
	margin-bottom: 1.5rem;
}

.public-profile__logo {
	display: block;
	width: 1.75rem;
	height: 1.75rem;
}

.public-profile__home,
.public-profile__share,
.public-profile__favorite,
.public-profile__message {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	padding: 0;
	color: var(--profile-system-control-color);
	text-decoration: none;
	background-color: var(--profile-system-control-bg);
	border: 0;
	border-radius: 50%;
	outline: 1px solid var(--profile-system-control-outline);
	opacity: 1;
	transition: background-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

button.public-profile__share:focus:not(:focus-visible),
button.public-profile__favorite:focus:not(:focus-visible),
button.public-profile__message:focus:not(:focus-visible) {
	outline: 1px solid var(--profile-system-control-outline);
}

.public-profile__favorite-solid {
	display: none;
}

.public-profile__favorite.is-active .public-profile__favorite-outline {
	display: none;
}

.public-profile__favorite.is-active .public-profile__favorite-solid {
	display: block;
}

.public-profile__identity {
	min-width: 0;
	padding-top: 2rem;
}

.public-profile__avatar {
	display: block;
	width: min(10rem, 100%);
	height: auto;
	aspect-ratio: 1;
	margin: 0 auto;
	object-fit: cover;
	border-radius: 50%;
}

.public-profile__actions {
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

.public-profile__actions svg {
	width: 1.75rem;
	height: 1.75rem;
}

.public-profile__home:focus-visible,
.public-profile__share:focus-visible,
.public-profile__favorite:focus-visible,
.public-profile__message:focus-visible {
	color: var(--profile-system-control-color);
	box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.public-profile__favorite.is-active {
	color: var(--profile-system-control-color);
}

.public-profile__inbox-badge {
	position: absolute;
	top: -.25rem;
	right: -.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.4rem;
	height: 1.4rem;
	padding: 0 .3rem;
	font-size: .7rem;
	font-weight: 700;
	line-height: 1;
	color: var(--bs-white);
	background-color: var(--bs-danger);
	border: 2px solid var(--bs-white);
	border-radius: 999px;
}

.modal--title-in-body > .modal-dialog > .modal-content > .modal-header {
	padding-bottom: 0;
}

.modal--title-in-body > .modal-dialog > .modal-content > .modal-body {
	padding-top: 0;
}

.public-profile-share-modal__profile {
	display: grid;
	grid-template-columns: 5rem minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: center;
	gap: .5rem 1rem;
	padding: 1.25rem;
	border-radius: 1.25rem;
}

.public-profile-share-modal__avatar {
	grid-row: 1 / 3;
	display: block;
	width: 5rem;
	height: 5rem;
	object-fit: cover;
	border-radius: 50%;
}

.public-profile-share-modal__name {
	grid-column: 2;
	min-width: 0;
	overflow: hidden;
	font-size: 1.125rem;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.public-profile-share-modal__copy-row {
	grid-column: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: stretch;
	min-width: 0;
	background-color: rgb(255 255 255);
	border: var(--bs-border-width) solid var(--bs-border-color);
	border-radius: 1rem;
}

.public-profile-share-modal__url {
	align-self: center;
	min-width: 0;
	padding: .75rem 1rem;
	overflow: hidden;
	font-size: .9375rem;
	line-height: 1.5;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.public-profile-share-modal__copy {
	min-width: 8rem;
	margin: .25rem;
	padding-right: 1rem;
	padding-left: 1rem;
	white-space: nowrap;
	border-radius: .75rem;
}

.public-profile-share-modal__profile > [data-share-copy-error] {
	grid-column: 2;
	margin-top: 0 !important;
}

.public-profile-share-modal__qr {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin-top: 1rem;
	padding: 1rem;
	border-radius: 1.25rem;
}

.public-profile-share-modal__qr-image {
	display: block;
	width: 5rem;
	height: 5rem;
	flex: 0 0 5rem;
	background-color: var(--bs-white);
	border-radius: .875rem;
}

.public-profile-share-modal__qr-content {
	min-width: 0;
}

.public-profile-share-modal__qr-title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
}

.public-profile-share-modal__qr-description {
	margin: .5rem 0 0;
	color: var(--bs-secondary-color);
	line-height: 1.5;
}

.public-profile-share-modal__share {
	margin-top: 1.75rem;
}

.public-profile-share-modal__share-title {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
}

.public-profile-share-modal__services {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: .75rem;
	padding: .125rem .125rem .75rem;
}

.public-profile-share-modal__secondary {
	display: contents;
}

.public-profile-share-modal__service {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: .65rem;
	min-width: 0;
	min-height: 7rem;
	padding: .75rem .5rem;
	background: transparent;
	border: 0;
	color: var(--bs-body-color);
	cursor: pointer;
	font: inherit;
	text-align: center;
	text-decoration: none;
	border-radius: 1rem;
	transition: background-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.public-profile-share-modal__service:hover,
.public-profile-share-modal__service:active {
	background-color: var(--project-surface-bg);
}

.public-profile-share-modal__service:focus-visible {
	color: var(--bs-body-color);
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .2);
}

.public-profile-share-modal__service-image {
	display: block;
	width: 3rem;
	height: 3rem;
	object-fit: contain;
	border-radius: .8rem;
}

.public-profile-share-modal__more-image {
	color: var(--bs-secondary-color);
	border-radius: 50%;
}

.public-profile-share-modal__more-background {
	fill: var(--project-surface-bg);
	transition: fill .15s ease-in-out;
}

.public-profile-share-modal__service[data-share-more]:hover .public-profile-share-modal__more-background,
.public-profile-share-modal__service[data-share-more]:active .public-profile-share-modal__more-background {
	fill: #fff;
}

.public-profile-share-modal__service-name {
	max-width: 100%;
	overflow: hidden;
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (min-width: 576px) {
	.public-profile-share-modal__service {
		border: var(--bs-border-width) solid var(--bs-border-color);
	}
}

@media (max-width: 575.98px) {
	.public-profile-share-modal__profile {
		grid-template-columns: 3.5rem minmax(0, 1fr);
		padding: 1rem;
	}

	.public-profile-share-modal__avatar {
		grid-row: 1;
		width: 3.5rem;
		height: 3.5rem;
	}

	.public-profile-share-modal__copy-row,
	.public-profile-share-modal__profile > [data-share-copy-error] {
		grid-column: 1 / -1;
	}

	.public-profile-share-modal__copy {
		min-width: 0;
	}

	.public-profile-share-modal__qr {
		gap: 1rem;
	}

	.public-profile-share-modal__service {
		gap: .35rem;
		min-height: 5rem;
		padding: .5rem .1rem;
		border-radius: .75rem;
	}

	.public-profile-share-modal__services {
		gap: .25rem;
		padding-right: 0;
		padding-left: 0;
	}

	.public-profile-share-modal__service-image {
		width: 2.25rem;
		height: 2.25rem;
		border-radius: .6rem;
	}

	.public-profile-share-modal__service-name {
		font-size: .6875rem;
	}
}

.modal-message .modal-content {
	min-height: min(46rem, calc(100vh - 3.5rem));
}

.modal-message .modal-body {
	display: flex;
}

.message-modal {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
}

.message-modal > .js-message-error {
	flex: 0 0 auto;
	margin: 1rem 1rem 0;
}

.message-modal--name {
	align-items: center;
	justify-content: center;
	padding: 2rem;
}

.message-modal__name-card {
	width: min(100%, 30rem);
}

.message-modal--inbox {
	--message-modal-inbox-gutter: .75rem;
}

.message-modal__inbox {
	flex: 1 1 auto;
	min-height: 0;
	margin-right: calc(-1 * var(--message-modal-inbox-gutter));
	margin-left: calc(-1 * var(--message-modal-inbox-gutter));
	overflow-y: auto;
}

.message-modal__inbox > .message-modal__conversation {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .25rem;
	align-items: center;
	margin-right: calc(var(--message-modal-inbox-gutter) - .75rem);
	margin-left: calc(var(--message-modal-inbox-gutter) - .75rem);
	padding: 0 .25rem;
	text-align: left;
	border-radius: 1rem;
	transition: background-color .15s ease-in-out;
	border: none;
}

.message-modal__inbox > .message-modal__conversation:hover {
	background-color: var(--project-surface-bg);
}

@media (min-width: 576px) {
	.message-modal--inbox {
		--message-modal-inbox-gutter: 1.5rem;
	}
}

.message-modal__conversation-open {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	min-width: 0;
	width: 100%;
	padding: .75rem;
	color: inherit;
	text-align: left;
	background: transparent;
	border: 0;
	border-radius: .75rem;
}

.message-modal__conversation-avatar,
.message-modal__dialog-avatar {
	display: block;
	width: 3rem;
	height: 3rem;
	object-fit: cover;
	border-radius: 50%;
}

.message-modal__conversation-content {
	min-width: 0;
}

.message-modal__conversation-menu {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	border-radius: 50%;
}

.message-modal__conversation-menu:hover {
	background-color: var(--bs-white);
}

.message-modal__empty {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 12rem;
	padding: 2rem;
}

.message-modal__dialog-header {
	display: grid;
	grid-template-columns: auto 3rem minmax(0, 1fr);
	gap: .75rem;
	align-items: center;
	flex: 0 0 auto;
	padding: 0 0 .75rem;
}

.message-modal__back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border-radius: 50%;
}

.message-modal__messages {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: .65rem;
	min-height: 0;
	padding: 1.25rem;
	overflow-y: auto;
}

.message-modal__message-row {
	display: flex;
	justify-content: flex-start;
}

.message-modal__message-row--own {
	justify-content: flex-end;
}

.message-modal__message {
	max-width: min(75%, 38rem);
	padding: .7rem .85rem .5rem;
	background-color: var(--bs-body-bg);
	border: var(--bs-border-width) solid var(--bs-border-color);
	border-radius: 1rem 1rem 1rem .25rem;
}

.message-modal__message--own {
	background-color: #dbe8f9;
	border-color: #d1deef;
	border-radius: 1rem 1rem .25rem 1rem;
}

.message-modal__message-body {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.message-modal__message-time {
	display: block;
	margin-top: .3rem;
	font-size: .7rem;
	line-height: 1;
	text-align: right;
	opacity: .7;
}

.message-modal__composer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .75rem;
	align-items: end;
	flex: 0 0 auto;
	padding-top: 1rem;
	background-color: var(--bs-body-bg);
}

.message-modal__composer textarea {
	max-height: 9rem;
	resize: vertical;
}

.message-modal__sending-blocked {
	grid-column: 1 / -1;
}

.message-modal__send {
	min-height: 3.6rem;
}

@media (max-width: 767.98px) {
	.modal-message .modal-content {
		min-height: 100%;
	}

	.message-modal__message {
		max-width: 88%;
	}

	.message-modal__composer {
		grid-template-columns: minmax(0, 1fr);
	}

	.message-modal__send {
		min-height: 2.75rem;
	}
}
