#listStickers {
	padding: 0;
	overflow: hidden;
}

#listStickers > .items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;

	padding: 30px;
}

#listStickers .swiper-slide > .action > img {
	width: 100%;
	height: 291px;
	object-fit: cover;
	object-position: center center;
	pointer-events: none;
}

#listStickers:hover .swiper-button-next,
#listStickers:hover .swiper-button-prev {
	opacity: 1;
}

#listStickers .swiper-button-next,
#listStickers .swiper-button-prev {
	opacity: 0;
	color: #fff;
	text-shadow: 0px 0px 4px rgb(0 0 0);
	transition: 1s;
}

#listStickers .swiper-button-next:after,
#listStickers .swiper-button-prev:after {
	font-size: 2rem;
}

#listStickers .swiper-slide > .action[data-packid] {
	cursor: pointer;
}

#listStickers > .items > .Item {
	display: flex;
    flex-direction: column;
	cursor: pointer;
	transition: .3s;
	border: 1px solid #3b3b46;
	overflow: hidden;
    border-radius: 8px;
}

#listStickers > .items > .Item:hover {
	transform: translateY(-6px);
}

#listStickers > .items > .Item > .Promo > img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

#listStickers > .items > .Item > .Info {
	display: flex;
    justify-content: start;
    align-items: center;
    padding: 12px;
	height: 60px;
	background-color: #343441;
	border-radius: 0 0 8px 8px;
	overflow: hidden;
}

#listStickers > .items > .Item > .Info {
	font-size: 15px;
	font-weight: 600;
}

#listStickers > .items > .Item > .Info > .Buttons {
	display: flex;
	gap: 8px;
	margin-left: auto;
}

#listStickers > .items > .Item > .Info > .Buttons > button {
	margin: 0;
    height: 34px;
    font-size: 13px;
}

#packGive #friends,
#packBuyContent {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	height: calc(100vh - 170px);
	overflow: auto;
}

#packGive #friends::-webkit-scrollbar-track,
#packBuyContent::-webkit-scrollbar-track {
	background-color: transparent;
}

#packBuyContent > .items {
	display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;

	padding: 1rem;
	padding-top: 1rem;
	padding-bottom: 0;
	border-top: 1px solid #3b3b46;
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
}

#packGive #friends > .items {
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;

	padding: 1rem;
	padding-top: 1rem;
	padding-bottom: 0;
	border-top: 1px solid #3b3b46;
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
}

#packGive #friends > .Head,
#packBuyContent > .Head {
	display: flex;
	gap: 1rem;
	padding: 1rem;
	padding-bottom: 0;
}

#packGive #friends > .Head > .image,
#packBuyContent > .Head > .image {
	min-width: 124px;
	width: 124px;
	min-height: 124px;
	height: 124px;

	border-radius: 10px;
	overflow: hidden;
}

#packGive #friends > .Head > .image > img,
#packBuyContent > .Head > .image > img {
	width: 124px;
	height: 124px;
	object-fit: cover;
	pointer-events: none;
}

#packGive #friends > .Head > .info,
#packBuyContent > .Head > .info {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#packGive #friends > .Head > .info > .name,
#packBuyContent > .Head > .info > .name {
	font-weight: 600;
	color: #000;
}

#packGive #friends > .Head > .info > .name > h5,
#packBuyContent > .Head > .info > .name > h5 {
	margin: 0;
	color: #fff;
}

#packGive #friends .items .item img,
#packBuyContent .items .item img {
	width: 100%;
	height: auto;
	pointer-events: none;
}

#packGive > .modal-dialog > .modal-content,
#packBuy > .modal-dialog > .modal-content {
	border-radius: 8px;
	padding: 0;
}

#packGive > .modal-dialog > .modal-content > .modal-body,
#packBuy > .modal-dialog > .modal-content > .modal-body {
	padding: 0;
	padding-bottom: 1rem;
}

#packGive > .modal-dialog > .modal-content > .modal-footer,
#packBuy > .modal-dialog > .modal-content > .modal-footer {
	border: 0;
	padding: 0 1rem 14px 1rem;
}

form#packGiveFriend > span,
#packGive > .modal-dialog > .modal-content > .modal-footer > form#buyPack > span,
#packBuy > .modal-dialog > .modal-content > .modal-footer > form#buyPack > span {
	color: #939393;
}

form#packGiveFriend > span label,
#packGive > .modal-dialog > .modal-content > .modal-footer > form#buyPack > span label,
#packBuy > .modal-dialog > .modal-content > .modal-footer > form#buyPack > span label {
	position: initial;
	cursor: default;
}

form#packGiveFriend,
form#buyPack {
	display: flex;
    align-items: center;
	width: 100%;
}

form#packGiveFriend > .Buttons,
form#buyPack > .Buttons {
	display: flex;
	gap: 8px;
	margin-left: auto;
}

form#packGiveFriend > .Buttons > button,
form#buyPack > .Buttons > button {
	margin: 0;
}

form#packGiveFriend > .Buttons > button > label,
form#buyPack > .Buttons > button > label {
	margin: 0;
}

#chat .Stickers {
	position: absolute;
	top: auto;
	bottom: 0;
	right: 0;
}

#chat .Stickers .Container.Show {
    display: flex;
}

#chat .Stickers .Container > .Stickers-Content {
	max-height: calc(100% - 47px);
	overflow: auto;
}

#chat .Stickers .Container > .Stickers-Content > img.loading {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

#chat .Stickers .Container {
	border: 1px solid rgb(0 0 0 / 0%);
	flex-direction: column;
	gap: 1rem;
	display: none;
    position: absolute;
    bottom: -10px;
    right: -40px;
	height: 300px;
    width: 300px;
    background: #353541;
	border-radius: 8px;
}

#chat .Stickers .Container .Packages {
	display: flex;
	flex-direction: column;
	padding: 1rem;
}

#chat .Stickers .Container .Packages .Name {
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 600;
}

#chat .Stickers .Container .Packages .Items {
	display: flex;
	flex-wrap: wrap;
}

#chat .Stickers .Container .Packages .Items .Item {
	cursor: pointer;
	flex: 0 0 25%;
	box-sizing: border-box;
}

#chat .Stickers .Container .Packages .Items .Item img {
	width: 100%;
	height: auto;
}

#chat .Stickers .Container .Packages .Items .Item [data-lottie] {
	width: 100%;
	height: auto;
}

#chat #chat_messages img.Sticker {
    width: 128px;
    height: 128px;
    pointer-events: none;
}

#chat .Stickers .Container .fullMessage {
	margin-top: 33.3%;
	padding: 1rem;
	text-align: center;
	color: #cbcbcb;
}

#chat .Sticker[data-lottie] {
	width: 120px;
	height: 120px;
}

#chat .Stickers .item_bar [id^="sticker_bar"],
#chat .Stickers .item_bar [id^="sticker_bar"] > img {
	width: 30px;
	height: 30px;
}

#chat .Stickers .Bar {
	border-top: 1px solid #3b3b46;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 4px;
}

#chat .Stickers .Bar:hover > .scroll-buttons > button {
	opacity: 1;
	background: #3b3b46;
}

#chat .Stickers .Bar > .scroll-buttons > button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	border: 0;
	background: transparent;
	padding: 10px 6px;
	margin: 0;
	line-height: 0;
	opacity: .2;
	cursor: pointer;
	border-radius: 8px;
	transition: .3s;
}

#chat .Stickers .Bar > .scroll-buttons > button > i {
	color: #fff;
}

#chat .Stickers .Bar > .scroll-buttons > #scrollLeft {
	left: 4px;
}

#chat .Stickers .Bar > .scroll-buttons > #scrollLeft::before {
	content: '';
}

#chat .Stickers .Bar > .scroll-buttons > #scrollRight {
	right: 4px;
}

#chat .Stickers .Bar > .scroll-buttons > #scrollRight::before {
	content: '';
}

#chat .Stickers .Bar > .Content {
	display: flex;
	width: 100%;
	overflow: hidden;
	column-gap: 10px;
	padding: 0 2rem;
}

#chat .Stickers .Bar > .Content > .item_bar {
	padding: 4px;
	border-radius: 8px;
	transition: .3s;
	cursor: pointer;
}

#chat .Stickers .Bar > .Content > .item_bar:hover,
#chat .Stickers .Bar > .Content > .item_bar.active {
	background: #3b3b46;
}

#chat .Stickers[data-pm] .Container {
	bottom: 6px;
	right: -40px;
}

#place_for_messages .im_message > div img.Sticker {
	width: 120px;
	height: 120px;
}

#packGive #friends > .items > .item {
	display: flex;
	gap: 10px;
	cursor: pointer;
	border-radius: 8px;
	padding: 8px;
}

#packGive #friends > .items > .item > .image > img {
	width: 44px;
	height: 44px;
	border-radius: 8px;
}

#packGive #friends > .items > .item.select {
	background-color: #f3f3f3;
}

#packGive #friends > .items.empty {
	display: flex;
	justify-content: center;
	align-items: center;
}

#chat #chat_messages .chat_message .message .with_code img.Sticker,
#chat #messages .chat_message .message .with_code img.Sticker {
	width: 124px;
	height: 124px;
}

@media only screen and (max-width: 768px) {
	#listStickers .swiper-slide > .action > img {
		height: auto;
	}

	#listStickers > .items {
		grid-template-columns: repeat(1, 1fr);
	}

	#packGive #friends > .items {
		grid-template-columns: repeat(1, 1fr);
	}

	#packGive #friends > .Head,
	#packBuyContent > .Head {
		align-items: center;
		flex-direction: column;
	}

	#packGive #friends > .Head > .info > .desc,
	#packBuyContent > .Head > .info > .desc {
		font-size: 12px;
	}
}

/* Stickers 2.3.0 — unified composer UI */
#chat {
	position: relative;
}

#chat .Stickers-Toggle {
	position: absolute;
	top: auto;
	bottom: 6px;
	right: 94px;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent url(../img/sticker.svg) center / 22px 22px no-repeat;
	filter: invert(1);
	opacity: .45;
	box-shadow: none;
	cursor: pointer;
	z-index: 1002;
	transition: opacity .2s ease, transform .2s ease;
}

#chat .Stickers-Toggle:hover,
#chat .Stickers-Toggle:focus-visible {
	opacity: .9;
}

#chat .Stickers-Toggle:active {
	transform: scale(.94);
}

#chat .Stickers .Container {
	z-index: 1005;
}

#chat .Stickers .Container .Stickers-Empty {
	margin-top: 0;
	min-height: 250px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	align-content: center;
	gap: .3em;
}

#chat .Stickers .Stickers-ShopLink {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.Sticker--lottie,
[data-sticker-lottie] {
	width: 120px;
	height: 120px;
	display: inline-block;
}

.StickerPreview {
	width: 100%;
	min-height: 90px;
}

.sticker-place-button {
	padding: 0;
	border: 0;
	background: transparent;
	width: 100%;
	cursor: pointer;
}

@media (max-width: 600px) {
	#chat .Stickers .Container {
		right: 0;
		width: min(300px, 90vw);
	}
}

/* Stickers 2.5.0 NATIVE — search, recent, favorites */
#chat .Stickers .Container {
	width: 340px;
	height: 360px;
	gap: 0;
	overflow: hidden;
	box-shadow: 0 14px 45px rgba(0,0,0,.32);
}

#chat .Stickers .Stickers-Toolbar {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 9px 10px 8px;
	border-bottom: 1px solid #3b3b46;
	background: #353541;
}

#chat .Stickers .Stickers-Tabs {
	display: flex;
	align-items: center;
	gap: 5px;
}

#chat .Stickers .Stickers-Tab {
	border: 0;
	border-radius: 7px;
	background: transparent;
	color: #a7a7b3;
	font-size: 11px;
	line-height: 24px;
	padding: 0 9px;
	margin: 0;
	cursor: pointer;
	transition: background .18s ease,color .18s ease;
}

#chat .Stickers .Stickers-Tab:hover,
#chat .Stickers .Stickers-Tab.active {
	background: #454553;
	color: #fff;
}

#chat .Stickers .Stickers-SearchWrap {
	display: flex;
	align-items: center;
	gap: 7px;
	height: 30px;
	padding: 0 9px;
	border: 1px solid #454553;
	border-radius: 8px;
	background: #2f2f39;
	color: #858593;
}

#chat .Stickers .Stickers-SearchWrap > i {
	font-size: 11px;
}

#chat .Stickers .Stickers-Search {
	width: 100%;
	height: 28px;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	color: #fff;
	font-size: 12px;
}

#chat .Stickers .Stickers-Search::placeholder {
	color: #777785;
}

#chat .Stickers .Stickers-Body {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	padding-bottom: 47px;
	scrollbar-width: thin;
}

#chat .Stickers .Stickers-Body > .Packages {
	min-height: 100%;
	box-sizing: border-box;
}

#chat .Stickers .Container .Stickers-EmptySmall {
	min-height: 150px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	text-align: center;
	color: #a2a2ad;
}

#chat .Stickers .Sticker-Item {
	position: relative;
	padding: 3px;
	border-radius: 8px;
	transition: background .15s ease,transform .15s ease;
}

#chat .Stickers .Sticker-Item:hover {
	background: rgba(255,255,255,.055);
	transform: translateY(-1px);
}

#chat .Stickers .Sticker-Favorite {
	position: absolute;
	top: 2px;
	right: 2px;
	z-index: 3;
	width: 22px;
	height: 22px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(25,25,31,.78);
	color: #8e8e9b;
	font-size: 13px;
	line-height: 22px;
	text-align: center;
	opacity: 0;
	cursor: pointer;
	transition: opacity .15s ease,color .15s ease,transform .15s ease;
}

#chat .Stickers .Sticker-Item:hover .Sticker-Favorite,
#chat .Stickers .Sticker-Favorite.active,
#chat .Stickers .Sticker-Favorite:focus-visible {
	opacity: 1;
}

#chat .Stickers .Sticker-Favorite.active {
	color: #ffd45a;
}

#chat .Stickers .Sticker-Favorite:active {
	transform: scale(.88);
}

#chat .Stickers .Bar {
	z-index: 4;
	background: #353541;
}

#chat .Stickers .Bar > .Content > .item_bar {
	flex: 0 0 auto;
}

@media (max-width: 600px) {
	#chat .Stickers .Container {
		width: min(340px, 92vw);
		height: min(360px, 65vh);
	}
	#chat .Stickers .Stickers-Tab {
		padding: 0 7px;
	}
}


/* Stickers 2.5.5 — template-independent composer placement */
#chat .Stickers[data-stickers-widget="1"] {
    position: absolute !important;
    right: auto !important;
    bottom: auto !important;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    z-index: 1200;
    overflow: visible !important;
    pointer-events: none;
}

#chat .Stickers[data-stickers-widget="1"] > .Stickers-Toggle {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent !important;
    background-image: none !important;
    color: rgba(255,255,255,.48);
    filter: none !important;
    opacity: 1 !important;
    pointer-events: auto;
    cursor: pointer;
    z-index: 1202;
    transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

#chat .Stickers[data-stickers-widget="1"] > .Stickers-Toggle:hover,
#chat .Stickers[data-stickers-widget="1"] > .Stickers-Toggle:focus-visible {
    color: rgba(255,255,255,.9);
    background-color: rgba(255,255,255,.06) !important;
}

#chat .Stickers[data-stickers-widget="1"] > .Stickers-Toggle:active {
    transform: scale(.92);
}

#chat .Stickers .Stickers-ToggleIcon {
    display: block;
    width: 21px;
    height: 21px;
    pointer-events: none;
}

#chat .Stickers[data-stickers-widget="1"] > .Container,
#chat .Stickers[data-stickers-widget="1"][data-pm] > .Container {
    position: absolute !important;
    right: -4px !important;
    bottom: 42px !important;
    top: auto !important;
    left: auto !important;
    z-index: 1205 !important;
    pointer-events: auto;
}

@media (max-width: 600px) {
    #chat .Stickers[data-stickers-widget="1"] > .Container,
    #chat .Stickers[data-stickers-widget="1"][data-pm] > .Container {
        right: -42px !important;
        width: min(340px, calc(100vw - 24px));
    }
}

/* Stickers 2.5.8 — JSON/Lottie fallback */
.Sticker-LottieError{display:flex!important;align-items:center;justify-content:center;min-width:56px;min-height:56px;border:1px dashed rgba(255,255,255,.18);border-radius:10px;font-size:10px;opacity:.75}
.Sticker-LottieError>span{pointer-events:none}

/* v2.6.0: Lottie JSON can be used as a sticker-pack promo. */
.Sticker-PromoLottie{display:block;overflow:hidden}
.Sticker-PromoLottie svg{display:block;width:100%!important;height:100%!important}
#listStickers > .items > .Item > .Promo > .Sticker-PromoLottie--card{
    width:100%;
    aspect-ratio:16/9;
    min-height:140px;
    background:rgba(0,0,0,.08);
}
#packGive #friends > .Head > .image > .Sticker-PromoLottie--detail,
#packBuyContent > .Head > .image > .Sticker-PromoLottie--detail{
    width:124px;
    height:124px;
    background:rgba(0,0,0,.08);
}
