*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: "Montserrat", sans-serif;
}

body{
	/* overflow-x: clip вместо hidden — hidden делает body скролл-контейнером
	   и ломает position:sticky у вложенных элементов (нужно для split-карточки).
	   Обе строки намеренно: Safari < 16 не знает clip и возьмёт hidden. */
	overflow-x: hidden;
	overflow-x: clip;
	max-width: 100%;
	padding-top: 110px;
	background: #EBEDF7;
	color: #11183e;
	transition: all .2s;
}

.breadcrumbs{
	display: flex;
	gap: 5px;
	font-size: 16px;
	margin-bottom: 30px;
}

.breadcrumbs a, .breadcrumbs span{
	transition: all .2s;
	color: #11183e;
}

.breadcrumbs a:hover{
	text-decoration: underline;
}

.breadcrumbs p{
	color: #3c4fff;
}

/* Cookie Consent Banner */
.cookie-consent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #1a1a2e;
    color: #fff;
    padding: 15px 20px;
    z-index: 99999;
    border-top: 2px solid #3C4FFF;
    box-shadow: 0 -5px 20px rgba(0,0,0,0.3);
}

.cookie-consent-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.cookie-consent-content p {
    margin: 0;
    font-size: 14px;
    flex: 1;
}

.cookie-consent-content a {
    color: #3C4FFF;
    text-decoration: underline;
}

.cookie-consent-content a:hover {
    color: #5a6bff;
}

.cookie-accept-btn {
    background: #3C4FFF;
    color: white;
    border: none;
    padding: 10px 25px;
    border-radius: 30px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.cookie-accept-btn:hover {
    background: #2a3be0;
    transform: scale(1.02);
}

@media (max-width: 768px) {
    .cookie-consent-content {
        flex-direction: column;
        text-align: center;
    }
}

/* End Cookie */

#custom-cart .category{
	display: grid;
	background: #fff;
	padding: 20px;
	border-radius: 20px;
	margin-top: 0;
	grid-template-columns: repeat(4, 1fr);
}

#custom-cart .category .item{
	display: flex;
	align-items: center;
	gap: 14px;
	flex-direction: row;
}

#custom-cart .category .item .remove-item{
	background: rgba(0, 0, 0, 0.3);
	width: 40px;
	height: 40px;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

#custom-cart .category .item .remove-item img{
	width: 60%;
}

#custom-cart .category .item a{
	width: 90px;
	height: 90px;
}

#custom-cart .category .item a .image{
	width: 90px;
	border-radius: 15px;
}

#custom-cart .category .item h4{
	margin-top: 0;
	font-weight: normal;
}

#custom-cart .category .item .price{
	margin-top: 5px;
}

#custom-cart .category .item .groupped{
	display: flex;
	flex-direction: column;
	text-align: left;
}

#custom-cart .category .item .groupped .remove-button{
	width: 24px;
	height: 24px;
	border-radius: 5px;
	background: #3C4FFF;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

#custom-cart .category .item .groupped .price{
	font-size: 16px;
	display: flex;
	gap: 15px;
}



.notice {
          background: #059105 !important;
          padding: 12px 10px;
           !important;
          border-radius: 15px !important;
          margin-top: 20px !important;
          gap: 7px;
        }

        .notice .description {
          line-height: 18px !important;
          margin-left: 0px !important;
        }

        .edit-buttons {
          display: flex;
          align-items: center;
          gap: 10px;
        }

        .edit-buttons button {
          color: #000;
          border-radius: 50%;
          background: #EBEDF7;
          border: 0px;
          width: 24px;
          height: 24px;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 20px;
          line-height: 20px;
        }

        .edit-buttons button:disabled {
          opacity: 0.3;
        }

#button-coupon{
	background: transparent;
	border: 1px solid #3C4FFF;
	color: #3C4FFF;
	font-size: 14px!important;
	font-weight: 500;
	width: 354px;
	height: 60px;
	margin-top: 20px;
	border-radius: 20px;
	transition: all .2s;
	cursor: pointer;
}

#button-coupon:hover{
	background: #3C4FFF;
	color: #fff;
}

#custom-module .input-group{
	display: flex;
	gap: 20px;
}

#input-coupon{
	width: calc(50% - 10px);
  height: 60px;
  background: #EBEDF7;
  color: ##11183E;
  padding: 0px 24px;
  font-size: 16px;
  border: 1px solid transparent;
  border-radius: 20px;
  margin-top: 20px;
  transition: all .2s;
  outline: none;
}

#input-coupon::placeholder{
	color: #11183E;
}


.btn-default{
	width: 100%;
	min-width: 260px;
	height: 72px;
	border: 0px;
	border-radius: 20px;
	font-size: 18px;
	background: #3C4FFF;
	border: 1px solid transparent;
	transition: all .3s;
	color: #fff;
	cursor: pointer;
	font-weight: 500;
}

.btn-default:hover{
	border: 1px solid #11183E;
	color: #11183E;
	background: #fff;
}

.home-button{
	width: 100%;
  text-align: center;
  font-size: 18px;
  background: #3C4FFF;
  font-weight: 500;
  color: #fff;
  border-radius: 15px;
  height: 60px;
  line-height: 60px;
  margin-top: 40px;
}

.follow-cart{
	width: 100%;
	min-width: 260px;
	height: 72px;
	border: 0px;
	border-radius: 10px;
	font-size: 18px;
	background: #2ec242;
	transition: all .3s;
	color: #fff;
	cursor: pointer;
	transform: translateY(-10px);
}

#empty-cart{
	color: #fff;
}

.inclsub{
	width: 100%;
  height: 70px!important;
  background: #000;
  border-radius: 15px!important;
  margin-top: 10px;
  background-size: cover;
  background-position: center;
}

.btn-filter{
	width: 100%;
	height: 61px;
	border: 0px;
	border-radius: 10px;
	font-size: 16px;
	background: #4168A6;
	transition: all .3s;
	color: #fff;
	cursor: pointer;
	margin-top: 20px;
}

.btn-filter:hover{
	background: #3574FF;
}

a{
	text-decoration: none;
  color: #5da7ff;
}

h2, h1{
	font-size: 30px;
	color: #11183E;
	font-weight: 600;
	position: relative;
	z-index: 2;
}

.container{
	max-width: 1300px;
	display: block;
	margin: auto;
}

#main-nav{
	width: calc(100% - 30px);
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
	position: fixed;
	z-index: 9999;
	display: flex;
	justify-content: flex-end;
	visibility: hidden;
	opacity: 0;
	transition: all .2s;
	left: 15px;
	top: 110px;
}

#main-nav.active{
	visibility: visible;
	opacity: 1;
}

#main-nav ul{
	min-width: 600px;
	background: rgb(16 19 52 / 80%);
	height: 100%;
	list-style-type: none;
	display: flex;
	flex-direction: column;
	border-radius: 30px;
}

#main-nav ul li{
	width: 100%;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	padding: 30px;
/*	background: rgba(256, 256, 256, 0.05);*/
	border-bottom: 1px solid rgba(256, 256, 256, 0.2);
	transition: all .2s;
}

#main-nav ul li:hover{
	background: #fff;
	color: #3c4fff;
}

#main-nav ul a:last-child li{
	border-bottom: 0px;
}

#hamburger-close{
	display: none;
}

header{
	background: #D8DDF3;
	width: 100%;
	height: 110px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	transition: all .3s;
}

header .container{
	height: 110px;
	transition: all .3s;
}

header .header{
	height: 110px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
	transition: all .3s;
}


header.small{
	height: 80px;
	box-shadow: 2px 1px 10px #0b0b7136;
}

header.small .container{
	height: 80px;
}

header.small .header{
	height: 80px;
}

.mobile-home{
	display: none;
	width: 45px;
    height: 45px;
    cursor: pointer;
    transition: all .2s;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    background: #fff;
    position: relative;
    transition: all .2s;
    flex-shrink: 0;
}

header .header input{
	height: 48px;
	background: #fff;
	font-size: 16px;
	padding: 0px 22px;
	border-radius: 20px;
	color: #11183E;
	border: 0px;
	font-weight: 500;
	outline: none;
	transition: all .2s;
	width: 600px;
}

header .header input::placeholder{
	color: rgba(17, 24, 62, 0.5);
}

header .header .nav-buttons{
	display: flex;
	align-items: center;
	gap: 10px;
}

header .header .nav-buttons .nav-button{
	width: 45px;
	height: 45px;
	cursor: pointer;
	transition: all .2s;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	position: relative;
	transition: all .2s;
}

header .header .nav-buttons .nav-button:hover{
	background: #3C4FFF;
}

header .header .nav-buttons .nav-button svg path{
	transition: all .2s;
}

header .header .nav-buttons .nav-button:hover svg path{
	fill: #fff;
}

header .header .nav-buttons .mobile-button{
	display: none;
}

header .header .nav-buttons .nav-button .amount{
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	background: #3C4FFF;
	border-radius: 50%;
	position: absolute;
	font-weight: bold;
	font-size: 12px;
	right: -5px;
	top: -5px;
	color: #fff;
}

header .header .nav-buttons .nav-button:hover{
	background: #3C4FFF;
}

header .header .nav-buttons .nav-button a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

header .header .nav-buttons .nav-button a img{
	width: 60%;
}

header .header .nav-buttons #hamburger-close, header .header .nav-buttons #hamburger{
	width: 60%;
}


/* Контейнер для селекта */
        .custom-select-wrapper {
            position: relative;
            width: 320px;
        }

        /* Стилизованный триггер */
        .select-trigger {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 11px 18px;
            background: #fff;
            border: 1px solid #e0e0e0;
            border-radius: 14px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 15px;
            color: #11183E;
            font-weight: 500;
        }

        .custom-select-wrapper:hover .select-trigger {
            border-color: #3C4FFF;
        }

        .custom-select-wrapper.active .select-trigger {
            border-color: #3C4FFF;
            border-radius: 14px 14px 0 0;
            border-bottom: 1px solid transparent;
        }

        /* Левая часть с иконкой и текстом */
        .select-selected {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .select-selected svg {
            width: 24px;
            height: 24px;
            border-radius: 4px;
            flex-shrink: 0;
        }

        .select-selected span {
            font-size: 15px;
            font-weight: 500;
        }

        /* Стрелка */
        .select-arrow {
            width: 20px;
            height: 20px;
            transition: transform 0.3s ease;
            flex-shrink: 0;
        }

        .custom-select-wrapper.active .select-arrow {
            transform: rotate(180deg);
        }

        /* Выпадающий список */
        .select-dropdown {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: #fff;
            border: 1px solid #3C4FFF;
            border-top: none;
            border-radius: 0 0 14px 14px;
            /* Без обрезки: разделов немного, зато подсказка у «Сплита» видна целиком.
               Если разделов станет заметно больше — вернуть max-height и overflow-y,
               но тогда подсказку придётся выносить из списка. */
            overflow: visible;
            z-index: 100;
            display: none;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }

        .custom-select-wrapper.active .select-dropdown {
            display: block;
        }

        /* Элементы списка */
        .select-option {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 18px;
            cursor: pointer;
            transition: background 0.2s ease;
            font-size: 14px;
            color: #11183E;
        }

        .select-option:hover {
            background: #f8f8f8;
        }

        .select-option.selected {
            background: #f0f0f0;
        }

        .select-option svg {
            width: 24px;
            height: 24px;
            border-radius: 4px;
            flex-shrink: 0;
        }

        /* Значок «i» с подсказкой (раздел «Сплит») */
        .select-option .option-info {
            position: relative;
            margin-left: auto;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            border: 0;
            background: transparent;
            color: #6B7090;
            cursor: pointer;
            flex-shrink: 0;
        }

        .select-option .option-info svg {
            width: 16px;
            height: 16px;
            border-radius: 0;
        }

        .select-option .option-info:hover {
            color: #3C4FFF;
        }

        /* На десктопе подсказка выезжает справа от списка, на узких экранах — вниз */
        .option-tooltip {
            position: absolute;
            top: 50%;
            left: calc(100% + 14px);
            transform: translateY(-50%);
            z-index: 101;
            width: 240px;
            padding: 10px 14px;
            background: #11183E;
            color: #fff;
            border-radius: 12px;
            font-size: 12px;
            line-height: 17px;
            font-weight: 400;
            text-align: left;
            opacity: 0;
            visibility: hidden;
            transition: opacity .2s ease;
            pointer-events: none;
        }

        .option-tooltip::before {
            content: '';
            position: absolute;
            top: 50%;
            left: -4px;
            width: 10px;
            height: 10px;
            background: #11183E;
            border-radius: 2px;
            transform: translateY(-50%) rotate(45deg);
        }

        .option-info:hover .option-tooltip,
        .option-info.open .option-tooltip {
            opacity: 1;
            visibility: visible;
        }

        /* Планшеты и телефоны: справа места нет — показываем подсказку под строкой */
        @media screen and (max-width: 1100px) {
            .option-tooltip {
                top: calc(100% + 8px);
                left: auto;
                right: -6px;
                transform: none;
                width: 230px;
            }

            .option-tooltip::before {
                top: -4px;
                left: auto;
                right: 12px;
                transform: rotate(45deg);
            }
        }

        /* Стили для скролла */
        .select-dropdown::-webkit-scrollbar {
            width: 6px;
        }

        .select-dropdown::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 3px;
        }

        .select-dropdown::-webkit-scrollbar-thumb {
            background: #11183E;
            border-radius: 3px;
        }



#banner{
	margin-top: 60px;
}


#banner .swiper-container {
  width: 100%;
  padding: 20px 0;
}

#banner .swiper-slide{
	border-radius: 40px;
	transition: all .2s;
	background-size: cover;
	background-position: center;
	/* На мониторе (4 слайда по ~292px) — пропорции 3:4. Для остальных ширин высота
	   задаётся ниже формулой от ширины экрана. aspect-ratio здесь не используем:
	   Safari на iPhone/iPad считает его у слайдов Swiper иначе, чем Chrome */
	height: 388px;
	border: 3px solid transparent;
}

/* Высота баннера под каждую точку перехода карусели (см. .swiper-actions в main1.js),
   чтобы слайд сохранял пропорции 3:4, как на мониторе */
@media screen and (min-width: 1170px) and (max-width: 1399.98px){
	/* 3 слайда, отступ 30px, контейнер до 1300px */
	#banner .swiper-slide{
		height: calc((min(100vw - 30px, 1300px) - 60px) * 4 / 9);
	}
}

@media screen and (min-width: 768px) and (max-width: 1169.98px){
	/* 3 слайда, отступ 20px */
	#banner .swiper-slide{
		height: calc((100vw - 70px) * 4 / 9);
	}
}

@media screen and (min-width: 611px) and (max-width: 767.98px){
	/* 2 слайда, отступ 20px */
	#banner .swiper-slide{
		height: calc((100vw - 50px) * 2 / 3);
	}
}

#banner .swiper-slide:hover{
	border: 3px solid #3C4FFF;
}

#banner .swiper-slide a{
	display: block;
	width: 100%;
	height: 100%;
}

#banner .swiper-slide-active{
	transition: all .2s;
}

.category-short{
	margin-top: 60px;
}

.category-short:nth-child(even){
	padding: 60px 0px;
	position: relative;
}

.subscribtions .text-block{
	position: relative;
	z-index: 2;
}

.subscribtions:nth-child(even){
	padding: 60px 0px;
	position: relative;
}

.subscribtions:nth-child(even)::before{
	background: #D8DDF3;
	display: block;
	content: "";
	height: 100%;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 90px);
	position: absolute;
	border-radius: 40px;
}

.category-short:nth-child(even)::before{
	background: #D8DDF3;
	display: block;
	content: "";
	height: 100%;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 90px);
	position: absolute;
	border-radius: 40px;
}

.category-short:nth-child(odd) .container{
	position: 2px;
}

.category-short .inner-slide{
	max-width: 100%;
	overflow-x: scroll;
	padding-bottom: 23px;
}

.inner-slide .item{
	margin-right: 20px;
	margin-top: 30px;
}

/* Define the scrollbar style */
.category-short .inner-slide::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

/* Define the thumb style */
.category-short .inner-slide::-webkit-scrollbar-thumb {
  background: #1a56ff;
  border-radius: 0px;
}

/* Define the track style */
.category-short .inner-slide::-webkit-scrollbar-track {
  background-color: #a1ccfff5;
}

/* Define the button style */
.category-short .inner-slide::-webkit-scrollbar-button {
  background-color: #4d7fff;
  border-radius: 0px;
}

/* Define the button style when being hovered over */
.category-short .inner-slide::-webkit-scrollbar-button:hover {
  background-color: #999999;
}

.category-short .category{
	display: flex;
}

.category-full{
	min-height: 100vh;
}

.category .item .remove-item:hover{
	background: #3574FF;
}

.category .item .remove-item img{
	width: 16px;
	height: 16px;
}


.swiper-outer{
	margin-top: 40px;
	position: relative;
}

.swiper-outer .arrow-prev{
	position: absolute;
	top: 30%;
	transform: translateY(-50%);
	z-index: 3;
	left: -17px;
}

.swiper-outer .arrow-next{
	position: absolute;
	top: 30%;
	transform: translateY(-50%);
	z-index: 3;
	right: -17px;
}

.swiper-outer .nav-buttons img{
	transition: all .2s;
	cursor: pointer;
}

.swiper-outer .nav-buttons img:hover{
	opacity: 0.8;
}

/* Карточка товара в множестве */

.item{
	width: 100%;
	display: flex;
	flex-direction: column;
	text-align: center;
	gap: 10px;
}

.item .image{
	width: 100%;
	aspect-ratio: 1/1;
	background-size: cover;
	border-radius: 20px;
	margin-bottom: 10px;
	position: relative;
	overflow: hidden;
}

.item .more{
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(60, 79, 255, 0.5);
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
	transition: all .2s;
	opacity: 0;
	transform: scale(1.2);
	z-index: 2;
	top: 0;
	left: 0;
}

/* Оверлей только на устройствах с курсором: на сенсорных экранах hover съедает первое касание */
@media (hover: hover) and (pointer: fine){
	.item .image:hover .more{
		opacity: 1;
		transform: scale(1);
	}
}

.swiper .item img, .swiper .item a{
	-webkit-user-drag: none;
	user-select: none;
}

.item h4{
	font-size: 16px;
	font-weight: 500;
}

.item .edition_title{
	font-size: 14px;
	font-weight: normal;
}

.item .price{
	font-size: 16px;
}

.item .price b{
	color: #3C4FFF;
}

.homePage .item .price b{
	color: #11183E;
}

.homePage .item .price s{
	display: none;
}

.item .edition_platform{
	position: absolute;
	width: 80px;
	height: 28px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	color: #3C4FFF;
	border-radius: 15px;
	bottom: 12px;
	right: 12px;
	font-weight: 500;
}


.item .discount{
	position: absolute;
	width: 66px;
	height: 28px;
	background: linear-gradient(45deg, #00B9E2, #D153FF);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	color: #fff;
	border-radius: 15px;
	bottom: 12px;
	left: 12px;
	font-weight: bold;
}

/* End */

.category-short .btn-default{
	display: block;
	margin: auto;
	margin-top: 23px;
}

.subscribtions{
	margin-top: 60px;
}

.subscribtions:last-child{
	padding-top: 0;
}

.subscribtions .tabs{
	width: 100%;
	height: 60px;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	margin-top: 40px;
	gap: 1px;
}

.subscribtions .tabs .tab{
	flex-grow: 1;
	text-align: center;
	height: 60px;
	line-height: 60px;
	background: #fff;
	transition: all .2s;
	font-size: 18px;
	font-weight: 500;
	cursor: pointer;
	color: #11183E;
}

.subscribtions .tabs .tab:hover{
	background: #D8DDF3;
}

.subscribtions .tabs .tab.active{
	color: #fff;
	background: #3C4FFF;
}

.item-info .tabs{
	width: 100%;
	height: 60px;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	margin-top: 40px;
	gap: 1px;
	margin-bottom: 20px;
}

.item-info .tabs a{
	flex-grow: 1;
}

.item-info .tabs .tab{
	flex-grow: 1;
	text-align: center;
	height: 60px;
	line-height: 60px;
	background: #fff;
	transition: all .2s;
	font-size: 18px;
	font-weight: 500;
	cursor: pointer;
	color: #11183E;
}

.item-info .tabs .tab:hover{
	background: #D8DDF3;
}

.item-info .tabs .tab.active{
	color: #fff;
	background: #3C4FFF;
}

.tab-inner{
	display: none;
}

.tab-inner.active{
	display: block;
}

.subscribtions .subs{
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 40px;
	text-align: center;
}

.subscribtions .subs.double{
	grid-template-columns: repeat(2, 1fr);
}

.category-full .category{
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 20px;
	margin-top: 40px;
}

.subscribtions .subs .sub{
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: all .2s;
	color: #11183E;
}

.subscribtions .subs .sub .sub-image{
	width: 100%;
	height: 250px;
	background-size: cover;
	background-position: center;
	border-radius: 20px;
	position: relative;
}

.subscribtions .subs .sub .platform{
	position: absolute;
	width: 80px;
	height: 28px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	color: #3C4FFF;
	border-radius: 15px;
	bottom: 12px;
	right: 12px;
	font-weight: 500;
}


.subscribtions .subs .sub .discount{
	position: absolute;
	width: 66px;
	height: 28px;
	background: linear-gradient(45deg, #00B9E2, #D153FF);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	color: #fff;
	border-radius: 15px;
	bottom: 12px;
	left: 12px;
	font-weight: bold;
}

.subscribtions .sub .sub-image .discount{
	left: inherit;
	right: 12px;
}

.subscribtions .subs .sub .mobile-discount{
	width: 60px;
	height: 24px;
	background: linear-gradient(45deg, #00B9E2, #D153FF);
	display: none;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: #fff;
	border-radius: 15px;
	font-weight: bold;
	margin-left: 10px;
}

.subscribtions .subs .sub h4{
	font-weight: 500;
	font-size: 16px;
	margin-top: 20px;
	transition: all .2s;
}

.subscribtions .subs .sub .price{
	font-size: 16px;
	margin-top: 12px;
	transition: all .2s;
}

.subscribtions .subs .sub:hover h4{
	color: #3C4FFF;
}

.subscribtions .subs .sub:hover .price{
	color: #3C4FFF;
}

footer{
	background: #3C4FFF;
	width: calc(100% - 90px);
	margin: 45px;
	margin-top: 60px;
	padding: 26px 0px;
	border-radius: 40px;
}

footer img{
	transition: all .2s;
}

footer img:hover{
	opacity: 0.8;
}

footer .top-footer{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

footer .top-footer .links{
	display: flex;
	gap: 50px;
}

footer .top-footer .links a{
	color: #fff;
	font-size: 16px;
	transition: all .2s;
}

footer .top-footer .links a:hover{
	opacity: 0.8;
}

footer .footer-description p{
	color: #fff;
	font-size: 14px;
	margin-top: 18px;
}

footer .social-links{
	display: flex;
	gap: 10px;
}


#success-order{
	margin-top: 60px;
	min-height: calc(100%);
}

#success-order .success-order{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	margin: auto;
	margin-top: 60px;
	gap: 20px;
	padding: 34px 27px;
	background: #fff;
	border-radius: 30px;
	max-width: 528px;
	text-align: center;
}

#success-order .success-order{
	text-align: center;
}

#success-order .success-order h1{
	font-size: 28px;
}

#success-order .success-order h2{
	font-size: 24px;
	font-weight: 500;
}


#success-order .success-order h2 span{
	color: #3C4FFF;
}

#success-order .pay-button{
	width: 100%;
	min-width: 260px;
	height: 72px;
	border: 0px;
	border-radius: 20px;
	font-size: 18px;
	background: #3C4FFF;
	border: 1px solid transparent;
	transition: all .3s;
	color: #fff;
	cursor: pointer;
	font-weight: 500;
}

#success-order .pay-button:hover{
	opacity: 0.8;
}

#success-order .contact-button{
	width: 100%;
	min-width: 260px;
	height: 72px;
	border: 0px;
	border-radius: 20px;
	font-size: 18px;
	background: transparent;
	border: 1px solid #3C4FFF;
	transition: all .3s;
	color: #3C4FFF;
	cursor: pointer;
	font-weight: 500;
}

#success-order .contact-button:hover{
	border: 1px solid #3C4FFF;
	color: #fff;
	background: #3C4FFF;
	opacity: 0.8;
}



#auth{
	margin-top: 60px;
	min-height: calc(100%);
}

#auth .auth{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	margin: auto;
	margin-top: 60px;
	gap: 20px;
	padding: 34px 27px;
	background: #fff;
	border-radius: 30px;
	max-width: 528px;
	text-align: center;
}

#auth .auth{
	text-align: center;
}

#auth .success-order h1{
	font-size: 28px;
}

#auth .success-order p{
	font-size: 14px;
	color: #11183E;
}

#auth a{
	width: 100%;
}

#auth .auth-button{
	width: 100%;
	min-width: 260px;
	height: 72px;
	border-radius: 20px;
	font-size: 18px;
	border: 1px solid transparent;
	transition: all .3s;
	color: #fff;
	cursor: pointer;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

#auth .auth-button:hover{
	opacity: 0.8;
}

/* ---- Вход и регистрация по e-mail ---- */

.auth-screen[hidden], .auth-form[hidden], .auth-alert[hidden]{
	display: none !important;
}

.auth-screen{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.auth-screen p{
	line-height: 1.45;
}

.auth-tabs{
	width: 100%;
	display: flex;
	gap: 5px;
	padding: 5px;
	background: #EBEDF7;
	border-radius: 20px;
}

.auth-tab{
	flex: 1;
	height: 50px;
	border: 0;
	border-radius: 16px;
	background: transparent;
	font-size: 16px;
	font-weight: 500;
	color: #11183E;
	cursor: pointer;
	transition: all .2s;
}

.auth-tab.active{
	background: #fff;
	box-shadow: 0 2px 8px rgba(17, 24, 62, 0.08);
}

.auth-form{
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-align: left;
}

.auth-input{
	width: 100%;
	height: 60px;
	padding: 0 24px;
	background: #EBEDF7;
	border: 1px solid transparent;
	border-radius: 20px;
	outline: none;
	font-size: 18px;
	color: #11183E;
	transition: all .2s;
}

.auth-input::placeholder{
	color: #6B7090;
}

.auth-input:focus{
	border-color: #3C4FFF;
	background: #fff;
}

.auth-input.invalid{
	border-color: #E5484D;
}

.auth-password{
	position: relative;
}

.auth-password .auth-input{
	padding-right: 60px;
}

.auth-eye{
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	cursor: pointer;
	opacity: 0.5;
	transition: opacity .2s;
}

.auth-eye:hover{
	opacity: 1;
}

.auth-eye .eye-off, .auth-eye.shown .eye-on{
	display: none;
}

.auth-eye.shown .eye-off{
	display: block;
}

.auth-hint{
	margin-top: -4px;
	padding: 0 8px;
	font-size: 13px;
	color: #6B7090;
}

#auth a.auth-link, .auth-link{
	width: auto;
	font-size: 14px;
	font-weight: 500;
	color: #3C4FFF;
	text-decoration: none;
}

.auth-link:hover{
	text-decoration: underline;
}

.auth-forgot{
	align-self: flex-end;
}

.auth-form .btn-default{
	margin-top: 8px;
}

.btn-default.loading, .btn-outline.loading{
	opacity: 0.6;
	pointer-events: none;
}

.btn-outline{
	width: 100%;
	height: 60px;
	border: 1px solid #3C4FFF;
	border-radius: 20px;
	background: #fff;
	font-size: 16px;
	font-weight: 500;
	color: #3C4FFF;
	cursor: pointer;
	transition: all .3s;
}

.btn-outline:hover:not(:disabled){
	background: #3C4FFF;
	color: #fff;
}

.btn-outline:disabled{
	opacity: 0.5;
	cursor: default;
}

.auth-alert{
	width: 100%;
	padding: 12px 16px;
	border-radius: 16px;
	font-size: 14px;
	line-height: 20px;
	text-align: left;
}

.auth-alert.error{
	background: #FFE9EA;
	color: #B4232A;
}

.auth-alert.success{
	background: #E3F6E8;
	color: #1B7A35;
}

.auth-check{
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 4px;
}

.auth-check input{
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.auth-checkbox{
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #3C4FFF;
	border-radius: 5px;
}

.auth-check input:checked + .auth-checkbox::after{
	content: '';
	width: 12px;
	height: 12px;
	border-radius: 3px;
	background: #3C4FFF;
}

.auth-check input:focus-visible + .auth-checkbox{
	box-shadow: 0 0 0 3px rgba(60, 79, 255, 0.25);
}

.auth-check input.invalid + .auth-checkbox{
	border-color: #E5484D;
}

/* Квадратик не должен растягиваться по высоте текста согласия */
.auth-check .auth-checkbox{
	flex: 0 0 20px;
	align-self: flex-start;
	width: 20px !important;
	height: 20px !important;
	min-height: 0;
	max-height: 20px;
	margin: 0;
	padding: 0;
	cursor: pointer;
}

#auth .auth-check .auth-terms{
	margin: 0;
	text-align: left;
	color: #6B7090;
	cursor: pointer;
	user-select: none;
}

#auth .auth-terms a{
	width: auto;
	color: #3C4FFF;
	text-decoration: none;
}

#auth .auth-terms a:hover{
	text-decoration: underline;
}

.auth-divider{
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	color: #6B7090;
}

.auth-divider::before, .auth-divider::after{
	content: '';
	flex: 1;
	height: 1px;
	background: #E1E4F2;
}

#auth .auth-terms{
	font-size: 12px;
	line-height: 18px;
	color: #6B7090;
}

.auth-sent-icon{
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #EBEDF7;
}

.auth-sent-icon.success{
	background: #E3F6E8;
}

.auth-sent-icon.error{
	background: #FFE9EA;
}

.auth-muted{
	font-size: 14px;
	color: #6B7090;
}

/* Вход по почте в личном кабинете */
.email-login{
	padding: 30px;
	border-bottom: 1px solid #EBEDF7;
}

.email-login > p{
	margin-top: 10px;
	font-size: 14px;
}

.email-login .auth-form{
	max-width: 560px;
	margin-top: 20px;
}

.email-login .auth-form .btn-default{
	height: 60px;
}

.email-login-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
}

.email-login-actions .btn-default{
	width: auto;
	padding: 0 32px;
}

@media screen and (max-width: 450px){
	.auth-input{
		font-size: 16px;
	}
	.email-login{
		padding: 20px;
	}
	.email-login-actions .btn-default{
		width: 100%;
	}
}



.category-full{
	margin-top: 60px;
}

.category-full .has-filter{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.category-full .has-filter .filter{
	width: 55px;
	height: 55px;
	cursor: pointer;
	transition: all .2s;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #3574FF;
	margin-left: 27px;
	position: relative;
}

.category-full .has-filter .filter:hover{
	background: #000;
}

.category-full .has-filter .filter-block{
	position: absolute;
	background: #000;
	color: #fff;
	right: 0;
	top: 80px;
	z-index: 3;
	width: 400px;
	border-radius: 20px;
	padding: 30px;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-20px);
	transition: all .2s;
}

.category-full .has-filter .filter-block.active{
	visibility: visible;
	opacity: 1;
	transform: translateY(0px);
}

.category-full .has-filter .filter-block h5{
	font-size: 20px;
}

.category-full .has-filter .filter-block .chooses{
	display: flex;
}

.category-full .has-filter .filter-block a{
	color: #fff;
	margin-right: 15px;
}

.category-full .has-filter .filter-block a:last-child{
	margin-right: 0;
}

.category-full .has-filter .filter-block .chooses .choose{
	font-size: 16px;
	padding: 10px 15px;
	border-radius: 10px;
	border: 1px solid #fff;
	margin-top: 20px;
	text-align: center;
	margin-right: 15px;
	cursor: pointer;
	transition: all .2s;
}

.category-full .has-filter .filter-block .chooses .choose:last-child{
	margin-right: 0;
}

.category-full .has-filter .filter-block .chooses .choose:hover{
	background: rgba(256, 256, 256, 0.2);
}

.category-full .has-filter .filter-block .chooses .choose.active{
	background: #fff;
	color: #000;
}
#empty-cart{
	margin-top: 60px;
	min-height: calc(100%);
}

#empty-cart .contaner{
	height: 100%;
}

#empty-cart .empty-cart{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	margin: auto;
	margin-top: 60px;
	gap: 30px;
	padding: 34px 27px;
	background: #fff;
	border-radius: 30px;
	max-width: 470px;
}

#empty-cart .empty-cart h2{
	font-size: 30px;
}

#empty-cart .empty-cart a, #empty-cart .empty-cart button{
	width: 100%;
}

.form-order{
	padding: 30px;
	background: #fff;
	border-radius: 20px;
	margin-top: 20px;
}

.form-order .message{
	width: 100%;
	font-size: 14px;
	color: #c1c1c1;
	margin-top: 15px;
}

.form-order .links{
	display: flex;
	flex-wrap: wrap;
	background: rgba(256, 256, 256, 0.1);
	border-radius: 15px;
	border: 1px solid rgba(256, 256, 256, 0.2);
	margin-top: 15px;
}

.form-order .links .link{
	display: flex;
	align-items: center;
	padding: 15px;
	padding-right: 41px;
	transition: all .2s;
	border-bottom: 1px solid rgba(256, 256, 256, 0.2);
}

.form-order .links a:last-child .link{
	border-bottom: 0px;
}

.form-order .links .link:hover{
	background: #3574FF;
}

.form-order .links .link p{
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 500;
	margin-left: 15px;
	color: #fff;
}

.form-order .links .link .icon{
	display: block;
	width: 36px;
	height: 36px;
	border-radius: 5px;
	background: rgba(256, 256, 256, 0.2);
	position: relative;
}

.form-order .links .link .icon img{
	width: 25px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.head-btn{
	display: flex;
	align-items: center;
	gap: 40px;
}

.method-change{
	background: #3C4FFF;
	width: 250px;
	height: 44px;
	font-size: 14px;
	font-weight: 500;
	border-radius: 14px;
	color: #fff;
	border: 1px solid transparent;
	transition: all .2s;
	cursor: pointer;
}

.method-change:hover{
	border: 1px solid #3C4FFF;
	background: transparent;
	color: #3C4FFF;
}

.form-order .tabs{
	margin-top: 20px;
	display: flex;
}

.form-order .tab{
	transition: all .2s;
	padding: 13px 50px;
	cursor: pointer;
	font-size: 18px;
	font-weight: 500;
	border-radius: 15px;
	border: 1px solid transparent;
	background: #E5E8FF;
}

#custom-cart{
	margin-top: 60px;
}

.form-order .tab:first-child{
	margin-right: 20px;
}

.form-order .tab.active{
	border: 1px solid #3C4FFF;
	color: #3C4FFF;
}

.form-order .tab-inner{
	display: none;
}

.form-order .tab-inner.active{
	display: block;
}

.form-order .descr-type{
	font-size: 18px;
	line-height: 18px;
	color: #fff;
	font-weight: 500;
	border-radius: 15px;
	margin-top: 20px;
	padding: 16px 22px;
	background: #40C540;
}

.form-order .inputs{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
}

.form-order .inputs input{
	height: 60px;
	background: #EBEDF7;
	padding: 0px 24px;
	font-size: 21px;
	font-weight: 500;
	border-radius: 20px;
	margin-top: 20px;
	transition: all .2s;
	outline: none;
	border: 1px solid transparent;
	flex-grow: 1;
	font-weight: normal;
}

#input-coupon{
	font-size: 21px!important;
}

.form-order .btn-default{
	margin-top: 20px;
}

@media screen and (max-width: 450px){
	.form-order .inputs input{
		font-size: 16px;
	}
	#input-coupon{
		font-size: 16px!important;
	}
}

.form-order .inputs input.long{
	width: 712px;
}

.form-order .inputs input::placeholder{
	color: #11183E;
}

.form-order .inputs input:focus{
	border: 1px solid #3C4FFF;
}

.form-order .inputs .check{
	display: flex;
	margin-top: 25px;
	cursor: pointer;
}

.form-order .inputs .check .checkbox{
	width: 20px;
	height: 20px;
	border: 1px solid #3C4FFF;
	display: flex;
	margin-right: 12px;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
	flex-shrink: 0;
}

.form-order .inputs .check .checkbox .dot{
	width: 12px;
	height: 12px;
	border-radius: 3px;
	background: #3C4FFF;
	display: none;
}

.form-order .inputs .check .checkbox.active .dot{
	display: block;
}

.form-order .inputs .check p{
	font-size: 16px;
}

.form-order .total{
	margin-top: 30px;
	margin-bottom: 10px;
}

.form-order .total p{
	font-size: 28px;
	text-transform: uppercase;
}

.form-order .total p b{
	margin-left: 20px;
}

.form-order button{
	margin-top: 40px;
}

.history{
	padding: 34px 44px;
	background: #F5F5F5;
	border-radius: 20px;
	margin-top: 40px;
}

.history .items{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.history h3{
	width: 100%;
	font-size: 18px;
	font-weight: normal;
}

.history .item{
	margin-top: 47px;
	width: 437px;
	max-width: 100%;
	text-align: left;
	margin-right: 44px;
	position: relative;
	display: flex;
	align-items: center;
}

.history .item:nth-child(even){
	margin-right: 0;
}

.history .item h4{
	font-size: 18px;
	font-weight: normal;
}

.history .item .price{
	margin-top: 23px;
	font-size: 16px;
	color: #6c6c6c;
}

.history .item .image{
	width: 132px;
	height: 132px;
	margin-right: 45px;
	border-radius: 10px;
	position: relative;
	background-size: cover;
	overflow: hidden;
}

.history .item .item-text{
	max-width: 260px;
}

#cabinet{
	padding: 20px 0px;
}

#cabinet .form-order input{
	height: 64px;
	margin-right: 0;
	width: calc(50% - 17px);
}

#cabinet .form-order .inputs{
	justify-content: space-between;
}

#item{
	display: flex;
	justify-content: space-between;
	gap: 30px;
}

#item .image{
	width: 524px;
	aspect-ratio: 1/1;
	border-radius: 40px;
	margin-right: 85px;
	position: relative;
	background-size: cover;
	background-position: center;
	height: fit-content;
	flex-shrink: 0;
}

#item .image .tofavourite{
	height: 55px;
	width: 55px;
	border-radius: 10px;
	background: #fff;
	transition: all .2s;
	position: absolute;
	top: 24px;
	right: 26px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

#item .image .tofavourite.active{
	background: #FA4A9E;
}

#item .image .tofavourite.active svg path{
	fill: #fff;
}

#item .image .tofavourite:hover{
	opacity: 0.8;
}

#item .item-info{
	flex: 1;
    min-width: 0;               
    display: flex;
    flex-direction: column;
}

#item .item-info h1{
	font-size: 30px;
	color: #11183E;
	font-weight: bold;
}

#item .item-info .price-block{
	display: flex;
	align-items: center;
	margin-top: 20px;
}

#item .item-info .date_to{
	margin-top: 20px;
  font-size: 16px;
  color: #11183E;
}

#item .item-info .date_to span{
	margin-right: 10px;
}

#item .item-info .price-block .discount{
	width: 98px;
	height: 40px;
	font-size: 24px;
	font-weight: bold;
	background: linear-gradient(45deg, #00B9E2, #D153FF);
	border-radius: 14px;
	color: #fff;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
}

#item .item-info .price-block .price{
	color: #fff;
	font-size: 20px;
	font-weight: 500;
}

#item .item-info .price-block .price b{
	font-size: 28px;
	color: #3c4fff;
}

#item .item-info .types{
	margin-top: 20px;
}

#item .item-info .types h4{
	font-size: 16px;
	font-weight: 500;
	color: #fff;
}

#item .item-info .types .tabs-version{
	display: flex;
	width: 100%;
	overflow-x: auto;
	padding-bottom: 10px;
}

#item .item-info .types .tabs-version a:last-child .tab-version{
	margin-right: 0;
}

/* Define the scrollbar style */
#item .item-info .types .tabs-version::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

/* Define the thumb style */
#item .item-info .types .tabs-version::-webkit-scrollbar-thumb {
  background: #1a56ff;
  border-radius: 0px;
  border-radius: 5px;
  overflow: hidden;
}

/* Define the track style */
#item .item-info .types .tabs-version::-webkit-scrollbar-track {
  background-color: rgba(256, 256, 256, 0.1);
  border-radius: 5px;
  overflow: hidden;
}


#item .item-info .types .tab-version{
	width: 157px;
	height: 78px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	border-radius: 20px;
	margin-right: 20px;
	background: #D8DDF3;
}

#item .item-info .types .two-versions{
	justify-content: space-between;
}

#item .item-info .types .two-versions a{
	width: calc(50% - 10px);
}

#item .item-info .types .two-versions .tab-version{
	width: 100%;
}

#item .item-info .types .tab-version .title{
	font-size: 16px;
	color: #11183E;
	line-height: 22px;
}

#item .item-info .types .tab-version .price{
	font-size: 16px;
	color: #11183E;
	font-weight: bold;
	line-height: 22px;
}

#item .item-info .types .tab-version.active{
	background: #11183E;
}

#item .item-info .types .tab-version.active .price, #item .item-info .types .tab-version.active .title{
	color: #fff;
}

.currency-diff{
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 16px;
	padding: 15px;
	border-radius: 15px;
	background: #3fab3f;
	margin-top: 60px;
	color: #fff;
}


#item .item-info .dop{
	background: linear-gradient(90deg, rgba(154, 235, 253, 0.2), rgba(220, 193, 255, 0.2));
	border-radius: 20px;
	padding: 26px;
	margin-top: 20px;
	color: #11183E;
}

#item .item-info .dop h5{
	font-size: 16px;
	font-weight: normal;
	line-height: 20px;
}

#item .item-info .dop p{
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
}

#item .item-info strong{
	font-size: 16px;
	text-transform: none;
}

#item .item-info .description{
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#item .item-info ul, #item .item-info ol{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#item .item-info li{
	list-style-position: inside;
	line-height: 20px;
}

#item .item-info .dop p:first-child{
	text-transform: uppercase;
}

#item .item-info .description{
	margin-top: 20px;
	padding: 26px;
	background: #fff;
	border-radius: 20px;
}

#item .item-info .description p{
	font-size: 16px;
	line-height: 30px;
	color: #11183E;
}

#item .item-info .description p span{
	font-weight: 500;
	color: #11183E;
	margin-right: 10px;
}

#item .item-info button{
	margin-top: 20px;
}

#item .item-info .tabs-period{
	width: 100%;
	height: 39px;
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	margin-top: 20px;
	gap: 1px;
}

#item .item-info .tabs-period a{
	flex-grow: 1;
	color: #fff;
}

#item .item-info .tabs-period .tab-period{
	text-align: center;
	height: 39px;
	line-height: 39px;
	background: #454545;
	transition: all .2s;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}

#item .item-info .tabs-period .tab-period:hover{
	background: #c7c7c7;
}

#item .item-info .tabs-period .tab-period.active{
	color: #fff;
	background: #1A68FF;
}

#item .item-info .light-description{
	font-size: 14px;
	line-height: 30px;
	color: #565656;
	margin-top: 37px;
}

#not-found{
		min-height: 100vh;
		text-align: center;
		padding: 200px 0px;
}

#not-found button{
	margin-top: 60px;
}

.custom-modal{
	overflow-y: scroll!important;
  max-height: calc(100% - 40px)!important;
  max-width: 100%!important;
}

.custom-policy-modal{
	max-width: 100%!important;
}

.custom-policy-modal h2{
	font-size: 30px!important;
}

.custom-terms-modal{
	max-width: 100%!important;
}

.custom-terms-modal h2{
	font-size: 30px!important;
}


.subscribtions-new{
	margin-top: 60px;
}

.subscribtions-block{
	width: 710px;
	display: block;
	margin: auto;
}

.subscribtions-form{
	background: #fff;
	padding: 30px;
	border-radius: 20px;
}

.subscribtions-form .tabs{
	margin-top: 30px;
}

.subscribtions-form .tabs{
	display: flex;
	gap: 20px;
}

.subscribtions-form .tab{
	transition: all .2s;
	padding: 13px 0px;
	text-align: center;
	cursor: pointer;
	font-size: 18px;
	font-weight: 500;
	border-radius: 15px;
	border: 1px solid transparent;
	background: #E5E8FF;
	flex-grow: 1;
}

.subscribtions-form .tab.active{
	border: 1px solid #3C4FFF;
	color: #3c4fff;
}

.text-coins{
	font-size: 16px;
	line-height: 26px;
	color: #11183E;
	margin-top: 40px;
	text-align: center;
}

.input-edits{
	display: flex;
	gap: 20px;
	margin-top: 20px;
}

.input-edit{
	flex-grow: 1;
	display: flex;
}

.icon-block{
	height: 60px;
	width: 60px;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	background: #3C4FFF;
	display: flex;
	align-items: center;
	justify-content: center;
}

.input-edit input{
	font-size: 20px;
	font-weight: 500;
	flex-grow: 1;
	background: #EBEDF7;
	height: 60px;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	border: 0px;
	padding-left: 20px;
}


input[type="range"]{
	width: 100%;
	margin-top: 30px;
	margin-bottom: 10px;
}


/*********** Baseline ***********/
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  cursor: pointer;
  width: 100%;
}

input[type="range"]:focus {
  outline: none;
}

/*********** Chrome, Safari, Edge ***********/
input[type="range"]::-webkit-slider-runnable-track {
  background-color: #D8DDF3;
  height: 12px;
  border-radius: 6px;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;

  height: 32px;
  width: 32px;
  border-radius: 50%;

  background: #fff;
  border: 10px solid #3C4FFF;

  /* центрирование */
  margin-top: -10px;
}

input[type="range"]:focus::-webkit-slider-thumb {
  outline: none;
}

/*********** Firefox ***********/
input[type="range"]::-moz-range-track {
  background-color: #D8DDF3;
  height: 12px;
  border-radius: 6px;
}

input[type="range"]::-moz-range-thumb {
  height: 32px;
  width: 32px;
  border-radius: 50%;

  background: #fff;
  border: 10px solid #3C4FFF;
}

input[type="range"]:focus::-moz-range-thumb {
  outline: none;
}

#bonus{
	margin-top: 20px;
	font-size: 18px;
	color: #11183e;
	text-align: center;
}

#full_coins{
	margin-top: 20px;
	font-size: 18px;
	color: #11183e;
	text-align: center;
}


.subscribtions-block .btn-default{
	width: calc(100% - 60px);
	display: block;
	margin: auto;
	margin-top: 30px;
}

#account{
	margin-top: 60px;
}

.account{
	display: flex;
	gap: 20px;
}

.account aside{
	width: 288px;
	padding: 30px 16px;
	background: #fff;
	border-radius: 30px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 312px;
	flex-shrink: 0;  
}

.account aside .link-block{
	padding: 0px 26px;
	display: flex;
	align-items: center;
	gap: 10px;
	height: 52px;
	color: #11183E;
	border-radius: 10px;
	transition: all .2s;
}

.account aside .link-block:hover{
	background: #eee;
}

.account aside .link-block.active{
	background: #D8DDF3;
}

.account aside .top-aside{
	display: flex;
	flex-direction: column;
	gap: 10px;
}


.account aside .logout-block{
	padding: 0px 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 52px;
	color: #800008;
	border-radius: 10px;
	transition: all .2s;
	background: #F3D8D8;
}

.account-profile h3{
	font-size: 18px;
	font-weight: 600;
}

.main-account{
	flex-grow: 1;
	color: #11183e;
}

.main-account h1{
	margin-bottom: 40px;
}

.account .accounts{
	display: flex;
	flex-wrap: wrap;        /* способов входа может быть много — переносим на новую строку */
	gap: 20px;
	margin-top: 20px;
}

.account-btn{
	border: 1px solid #000000;
	padding-left: 16px;
	padding-right: 36px;
	height: 56px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 20px;
	max-width: 100%;
	min-width: 0;
}

/* Иконки способов входа разного размера (VK/Яндекс — 43px, почта — 24px),
   поэтому задаём всем одну рамку — подписи встают в одну линию */
.account-btn img, .account-btn svg{
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	object-fit: contain;
	display: block;
}

/* Иконка почты — в светлом круге, как круглые иконки VK и Яндекса */
.account-btn[data-provider="email"] svg{
	padding: 6px;
	box-sizing: border-box;
	border-radius: 50%;
	background: #EBEDF7;
}

/* У ya-auth.svg вокруг значка большие пустые поля (значок ~60% холста), поэтому
   в той же рамке он мельче круга VK. Увеличиваем только картинку — transform
   не влияет на раскладку, подпись остаётся на месте */
.account-btn[data-provider="yandex"] img{
	transform: scale(1.5);
}

.account-btn p{
	font-size: 16px;
	font-weight: 500;
	/* длинная почта не растягивает карточку за пределы экрана */
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.account-profile{
	background: #fff;
	border-radius: 30px;
}

.my-accounts, .add-accounts{
	padding: 30px;
	border-bottom: 1px solid #EBEDF7;
}

.more-accounts{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

/* Телефоны: способы входа в столбик, чтобы ничего не вылезало за экран */
@media screen and (max-width: 600px){
	.account .accounts{
		gap: 12px;
	}
	.account-btn{
		width: 100%;
		justify-content: flex-start;
		padding-right: 16px;
	}
	.account-btn p{
		font-size: 14px;
	}
	.more-accounts{
		gap: 12px;
	}
}

.more-accounts .more-account{
	height: 56px;
	padding-left: 12px;
	padding-right: 20px;
	border-radius: 20px;
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	transition: all .2s;
}

.more-accounts .more-account:hover{
	opacity: 0.8;
}

.add-accounts{
	display: flex;
	gap: 20px;
	align-items: flex-end;
}

.add-accounts .left-part{
	max-width: 485px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.add-accounts .left-part p{
	font-size: 14px;
}

.cabinet-email{
	padding: 30px;
}

#cabinet-email{
	height: 60px;
    background: #EBEDF7;
    padding: 0px 24px;
    font-size: 21px;
    font-weight: 500;
    width: 660px;
    border-radius: 20px;
    transition: all .2s;
    outline: none;
    border: 1px solid transparent;
    flex-grow: 1;
    font-weight: normal;
}

.orders{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Пустая страница «Мои заказы» */
.empty-orders{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 60px 30px;
	background: #fff;
	border-radius: 30px;
	text-align: center;
	color: #11183E;
}

.empty-orders-icon{
	width: 140px;
	height: 140px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	border-radius: 50%;
	background: #EBEDF7;
}

.empty-orders-icon img{
	width: 80px;
	height: 80px;
}

.empty-orders h2{
	font-size: 30px;
}

.empty-orders p{
	max-width: 420px;
	font-size: 16px;
	line-height: 1.45;
	color: #6B7090;
}

.empty-orders-button{
	width: 100%;
	max-width: 360px;
	margin-top: 12px;
}

.empty-orders-help{
	border: 0;
	background: transparent;
	font-size: 14px;
	font-weight: 500;
	color: #3C4FFF;
	cursor: pointer;
}

.empty-orders-help:hover{
	text-decoration: underline;
}

@media screen and (max-width: 450px){
	.empty-orders{
		padding: 40px 20px;
	}
	.empty-orders-icon{
		width: 110px;
		height: 110px;
	}
	.empty-orders-icon img{
		width: 64px;
		height: 64px;
	}
	.empty-orders h2{
		font-size: 24px;
	}
}

.orders .order{
	background: #fff;
	border-radius: 20px;
	padding: 30px;
}

.orders .order .top-part{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
}

.orders .order .down-part{
	display: none;
}

.orders .order .left-top{
	display: flex;
	gap: 20px;
	align-items: center;
}

.orders .order .right-top{
	display: flex;
	gap: 20px;
	align-items: center;
}

.orders .order .order-number{
	font-size: 18px;
	font-weight: 600;
}

.orders .order .order-number b{
	color: #3C4FFF;
	font-weight: 600;
}


.orders .order .status{
	display: flex;
	align-items: center;
	height: 38px;
	border-radius: 10px;
	gap: 6px;
	font-weight: 500;
	font-size: 14px;
}

.orders .order .status.proccess{
	background: #FFE5B0;
	color: #543802;
}

.orders .order .status.ready{
	background: #B0FFC2;
	color: #025419;
}

.orders .order .pay-button{
	border-radius: 10px;
	background: #3C4FFF;
	color: #fff;
	border: 1px solid transparent;
	padding: 0px 10px;
	height: 36px;
	cursor: pointer;
	transition: all .2s;
}

.orders .order .pay-button:hover{
	border: 1px solid #3C4FFF;
	color: #3C4FFF;
	background: #fff;
}

.orders .order .order-date{
	font-size: 14px;
	font-weight: 500;
	color: #3C4FFF;
}

.orders .order .right-arrow{
	cursor: pointer;
	transition: all .2s;
}

.orders .order .right-arrow.active{
	transform: rotate(180deg);
}

.orders .order .games{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 30px;
    justify-content: space-between;
}

.orders .order .games .item {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-direction: row;
}

.orders .order .games .item .image{
	width: 60px;
	border-radius: 10px;
	margin-bottom: 0;
}

.orders .order .games .item .groupped{
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 5px;
}

.orders .order .games .item .groupped .description{
	font-size: 12px;
	color: #888B9E;
}

.orders .order .games .item .groupped h4{
	font-size: 14px;
	font-weight: 500;
}

.orders .order .order-title{
	font-size: 18px;
	font-weight: 600;
	margin-top: 30px;
}

.orders .order .button-codes{
	width: 330px;
	height: 50px;
	border: 1px solid #3C4FFF;
	color: #3C4FFF;
	border-radius: 10px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	transition: all .2s;
	margin-top: 30px;
	cursor: pointer;
}

.orders .order .button-codes svg path{
	transition: all .2s;
}

.orders .order .button-codes:hover{
	background: #3C4FFF;
	color: #fff;
}

.orders .order .button-codes:hover svg path{
	fill: #fff;
}

.subs a{
	position: relative;
	z-index: 2;
}

@media screen and (max-width: 1500px){
	.category-short:nth-child(even)::before {
        width: 100%;
    }
    .subscribtions:nth-child(even)::before {
        width: 100%;
    }
    footer{
		padding: 26px;
	}
}


@media screen and (max-width: 1300px){
	body, html{
		width: 100%;
	}
	.container{
		padding: 0px 15px;
		width: 100%;
	}
	.subscribtions .subs{
		flex-wrap: wrap;
	}
	#logo{
		display: none;
	}
	.mobile-home{
		display: flex;
	}
	header .header input{
		width: 100%;
		padding: 0px 20px;
	}
	header .header #search{
		width: max-content;
		flex-grow: 1;
	}
	#custom-cart .category{
		grid-template-columns: repeat(3, 1fr);
	}
	#main-nav ul{
		min-width: inherit;
		width: 100%;
	}
	.category-full .category .item .image{
		width: 100%;
	}
	#item{
		justify-content: space-between;
		flex-direction: column;
	}
	#item .image{
		margin-right: 0;
		width: 100%;
		
	}
	#item .item-info{
		margin-top: 37px;
		width: 100%;
	}
	#item .item-info .tabs-period{
		width: 100%;
	}
	#item .item-info .types .tabs-version.more{
		width: 100%;
		justify-content: space-between;
	}
	#item .item-info .types .tabs-version.more .tab-version{
		margin-right: 0;
	}

	.category-short:nth-child(odd)::before{
		width: 100%;
	}

	.category-full .category{
		grid-template-columns: repeat(4, 1fr);
	}
	footer .top-footer .links{
		gap: 10px;
	}

	.account{
		flex-direction: column-reverse;
	}

	.account aside{
		width: 100%;
		min-height: inherit;
		flex-direction: row;
	}

	.account aside .top-aside{
		flex-direction: row;
	}

	.add-accounts{
		flex-direction: column;
		align-items: flex-start;
	}

	#cabinet-email{
		width: 100%;
	}

	.account aside .link-block{
		font-size: 14px;
		padding: 0px 10px;
	}

	.logout-block{
		font-size: 14px;
		padding: 0px 10px;
	}

}

@media screen and (max-width: 910px){
	.category-full .category{
		display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
    margin-top: 30px;
	}
	.category-full .has-filter .filter-block{
		width: 100%;
	}
	.form-order{
		padding-left: 20px;
		padding-right: 20px;
		border-radius: 20px;
	}
	.form-order .tabs .tab{
		font-size: 16px;
		padding: 12px;
	}
	.form-order .inputs{
		flex-wrap: wrap;
		gap: 0;
	}

	#custom-cart .category{
		display: flex;
		flex-wrap: wrap;
	}

	input{
		font-size: 21px!important;
	}

	#custom-module .input-group{
		flex-direction: column;
		gap: 0;
	}

	#custom-module .input-group input{
		width: 100%;
	}

	.form-order .inputs input{
		margin-right: 0;
		width: 100%;
	}
	.history .item{
		width: 100%;
		margin-right: 0;
	}
	#cabinet .form-order input{
		width: 100%;
	}
	.form-order .links a{
		width: 100%;
	}
	.form-order .links .link{
		width: 100%;
		margin-right: 0;
	}
	.item .more{
		visibility: hidden;
	}
	#item .item-info .dop, #item .item-info .description, #item .item-info .light-description{
		width: 100%;
	}
	#item .item-info .dop h5, #item .item-info .dop p, #item .item-info .description p, #item .item-info .light-description{
		font-size: 16px;
	}
	#item .item-info .types h4{
		font-size: 22px;
	}
	#item .item-info .price-block .discount{
		font-size: 25px;
		width: 120px;
	    height: 50px;
	    line-height: 50px;
	}
	#item .item-info .date_to{
		font-size: 25px;
	}
	#item .item-info .price-block .price b{
		font-size: 35px;
	}
	#item .item-info .types .tab-version{
		width: 187px;
		height: inherit;
		min-height: 100px;
		border-radius: 15px;
	}
	#item .item-info .description p{
		font-size: 16px;
		font-weight: normal;
		line-height: 28px;
	}
	#item .item-info .types .tab-version .title{
		font-size: 18px;
		font-weight: normal;
	}
	#item .item-info .types .tab-version .price{
		font-size: 22px;
		font-weight: 600;
	}
	footer{
		height: inherit;
		padding: 30px 0px;
		width: calc(100% - 30px);
		margin-left: 15px;
		margin-right: 15px;
	}
	footer .footer{
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: inherit;
	}
	footer .container{
		height: inherit;
	}
	footer .socials{
		flex-direction: column;
		align-items: center;
		justify-content: center;
		margin-top: 15px;
	}
	footer .socials a{
		margin-right: 0!important;
		margin: 10px 0px;
	}
	footer .socials a img{
		margin-right: 0!important;
	}

	.top-footer{
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 20px;
	}

	footer .footer-description p{
		text-align: center;
	}

	footer .top-footer .links{
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 10px;
	}

	header .header{
		gap: 10px;
	}

	header .header .nav-buttons .nav-button{
		display: none;
	}

	header .header .nav-buttons .nav-button.mobile-button, header .header .nav-buttons .nav-button.cart-button{
		display: flex;
	}

	.select-trigger{
		width: 90px;
	}

	.select-selected span{
		display: none;
	}

	.custom-select-wrapper {
		width: inherit;
	}

	.custom-select-wrapper.active .select-dropdown{
		width: fit-content;
		min-width: 260px;   /* чтобы подсказка у «Сплита» помещалась в список */
		/* Кнопка выбора раздела стоит у правого края шапки, поэтому список
		   раскрываем влево — иначе он уезжает за край экрана */
		left: auto;
		right: 0;
		max-width: calc(100vw - 30px);
	}

	.subscribtions .subs{
		grid-template-columns: repeat(1, 1fr);
	}

	.subscribtions .subs .sub .discount{
		display: none;
	}

	.subscribtions .subs .sub .price {
		display: flex;
		align-items: center;
	}

	.subscribtions .subs .sub .mobile-discount{
		display: flex;
	}

	.subscribtions .subs .sub{
		flex-direction: row;
		gap: 30px;
	}

	.subscribtions .subs .sub .sub-image{
		width: 100px;
		height: inherit;
		aspect-ratio: 1 / 1;
	}

	.subscribtions .subs .sub h4{
		margin-top: 0;
	}

	.subscribtions .text-block{
		text-align: left;
	}

	.subscribtions-block{
		width: 100%;
	}

	.input-edits{
		flex-direction: column;
	}

	#item .item-info button{
		bottom: 20px;
		left: 15px;
		width: 100%;
		position: sticky;
		z-index: 2;
	}

	.orders .order .games{
		grid-template-columns: repeat(1, 1fr);
		gap: 15px;
	}

	.orders .order .top-part{
		flex-wrap: wrap;
		gap: 10px;
	}
	.orders .order .order-number{
		font-size: 16px;
	}

	.orders .order .left-top{
		flex-wrap: wrap;
	}

	#item{
		flex-wrap: wrap;
	}
	.category-full .category{
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 610px){
	#banner .swiper-actions .swiper-slide{
		height: calc(100vw - 30px);   /* прежняя высота на телефонах — выглядела правильно */
	}
	#banner .swiper-slide{
		transform: scale(0.8);
	}
	#banner .swiper-slide-active{
		transform: scale(1.0);
	}
	header .header #search{
		position: static!important;
	}

	.category-full .category{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 500px){
	#item .item-info .dop h5, #item .item-info .dop p, #item .item-info .description p, #item .item-info .light-description{
		font-size: 14px;
		line-height: 25px;
	}
	#item .item-info .types .tab-version{
		min-height: 90px;
		width: 167px;
	}
	#item .item-info .types .tab-version .title{
		font-size: 16px;
	}
	#item .item-info .types .tab-version .price{
	 font-size: 20px;
	}
	#item .item-info .description p{
		font-size: 13px;
		line-height: 25px;
	}
	.subscribtions .subs .sub img{
		width: 100px;
		height: 100px;
	}
	#item .item-info h1{
		font-size: 25px;
	}
	#item .item-info .price-block .price b{
		font-size: 25px;
	}
	#item .item-info .date_to{
		font-size: 18px;
	}
	.sub .text-block .discount{
		font-weight: 500!important;
		font-size: 16px!important;
	}
}


/* Стили для figure и picture (как у PlayStation) */
figure {
    margin: 0;
    padding: 0;
}

.image, .sub-image {
    position: relative;
    overflow: hidden;
    display: block;
}

.image picture, .sub-image picture {
    display: block;
    width: 100%;
    height: 100%;
}

.image img, .sub-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Элементы поверх изображения должны быть выше */
.image .more,
.image .discount,
.image .edition_platform,
.sub-image .discount {
    position: absolute;
    z-index: 2;
}

/* Skeleton loader (как у PlayStation) */
.image img, .sub-image img {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: ps-skeleton 1.5s infinite;
}

@keyframes ps-skeleton {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Когда изображение загрузилось */
.image img:not([src=""]), .sub-image img:not([src=""]) {
    background: none;
    animation: none;
}

/* Приоритетная загрузка баннеров */
#banner .swiper-slide {
    content-visibility: auto;
    contain: paint;
}

#banner .swiper-slide:first-child {
    content-visibility: visible;
}

/* Баннеры загружаются первыми, товары - позже */
.category-short .image img,
.subscribtions .sub-image img {
    loading: lazy;
}


/* ==================== SPLIT: карточка товара ====================
   Только для раздела split (класс .split-layout проставляется в templates/product.php).
   Десктоп: картинка + кнопка — одна левая колонка, которая залипает при скролле.
   Мобильные (<=1300px): раскладка полностью прежняя — картинка, инфо, кнопка внизу.
   Остальные разделы (TR/IN/services) этот блок не затрагивает вообще.

   Важно: выше у body специально стоит `overflow-x: clip` вместо `hidden` —
   hidden делает body скролл-контейнером, и тогда position:sticky ниже не работает. */

#item.split-layout .item-media {
	width: 524px;           /* та же ширина, что была у .image на десктопе */
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-self: flex-start; /* обязательно: иначе flex растянет колонку и sticky не сработает */
	position: sticky;
	top: 130px;             /* ниже фиксированной шапки (110px, 80px в сжатом виде) */
}

#item.split-layout .item-media .image {
	width: 100%;
	margin-right: 0;        /* отступ между колонками теперь задаёт gap у #item */
}

#item.split-layout .item-media > button {
	margin-top: 0;
}

/* ---- Мобильная версия: возвращаем всё как было ---- */
@media screen and (max-width: 1300px) {
	/* display:contents убирает саму обёртку из раскладки — картинка, инфо и кнопка
	   снова становятся прямыми детьми #item, как в остальных разделах. Порядок
	   восстанавливаем через order, чтобы кнопка снова оказалась в самом низу. */
	#item.split-layout .item-media {
		display: contents;
	}
	#item.split-layout .image { order: 1; }
	#item.split-layout .item-info { order: 2; }
	#item.split-layout .item-media > button {
		order: 3;
		margin-top: 20px;
	}
}

@media screen and (max-width: 910px) {
	/* Та же залипающая кнопка внизу экрана, что и в остальных разделах
	   (в оригинале это правило висит на #item .item-info button, а наша кнопка
	   теперь лежит вне .item-info — поэтому дублируем его для неё). */
	#item.split-layout .item-media > button {
		bottom: 20px;
		left: 15px;
		width: 100%;
		position: sticky;
		z-index: 2;
	}
}

/* ---- SPLIT: описание, разбитое на блоки ---- */

#item .item-info .split-description{
	gap: 28px;
	padding: 30px;
}

.split-description .spec-grid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 10px;
}

.split-description .spec{
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 18px;
	background: #EBEDF7;
	border-radius: 16px;
}

.split-description .spec-key{
	font-size: 13px;
	line-height: 18px;
	color: #6B7090;
}

.split-description .spec-value{
	font-size: 16px;
	line-height: 22px;
	font-weight: 500;
	color: #11183E;
}

.split-description .desc-block{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

#item .item-info .split-description h3{
	font-size: 20px;
	font-weight: 600;
	line-height: 26px;
	color: #11183E;
}

.split-description .desc-cards{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 14px;
}

.split-description .desc-card{
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	background: #F4F5FB;
	border: 1px solid #E1E4F2;
	border-radius: 20px;
}

#item .item-info .split-description .desc-card h4{
	font-size: 17px;
	font-weight: 600;
	color: #3C4FFF;
}

/* Пункты внутри карточек «С активацией» / «Без активации» */
#item .item-info .split-description .desc-card-list{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#item .item-info .split-description .desc-card-list li{
	position: relative;
	list-style: none;
	padding-left: 18px;
	font-size: 15px;
	line-height: 22px;
	color: #11183E;
}

.split-description .desc-card-list li::before{
	content: '';
	position: absolute;
	top: 8px;
	left: 2px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #3C4FFF;
}

#item .item-info .split-description p,
#item .item-info .split-description .desc-card-text{
	font-size: 15px;
	line-height: 24px;
	color: #11183E;
}

#item .item-info .split-description .check-list{
	gap: 12px;
}

#item .item-info .split-description .check-list li{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	list-style: none;
	font-size: 15px;
	line-height: 22px;
}

.split-description .check-list li::before{
	content: '';
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #E3F6E8 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E9E4A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center / 13px no-repeat;
}

#item .item-info .split-description .rules-list{
	counter-reset: split-rule;
	gap: 12px;
}

#item .item-info .split-description .rules-list li{
	counter-increment: split-rule;
	position: relative;
	list-style: none;
	padding: 16px 18px 16px 56px;
	border: 1px solid #E1E4F2;
	border-radius: 16px;
	font-size: 15px;
	line-height: 22px;
}

.split-description .rules-list li::before{
	content: counter(split-rule);
	position: absolute;
	top: 15px;
	left: 16px;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #EBEDF7;
	font-size: 13px;
	font-weight: 600;
	color: #3C4FFF;
}

@media screen and (max-width: 450px){
	#item .item-info .split-description{
		gap: 22px;
		padding: 20px;
	}
	.split-description .desc-card{
		padding: 16px;
	}
	#item .item-info .split-description .rules-list li{
		padding: 14px 14px 14px 50px;
	}
}

/* ---- SPLIT: издания плиткой вместо горизонтальной прокрутки ----
   По два в ряд (4 издания → 2×2), одно издание — на всю ширину.
   Селекторы специально точнее мобильных правил .tab-version с фиксированной шириной */
#item.split-layout .item-info .types .tabs-version.split-versions{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	overflow: visible;
	padding-bottom: 0;
}

#item.split-layout .item-info .types .tabs-version.split-versions.single-version{
	grid-template-columns: 1fr;
}

#item.split-layout .item-info .types .split-versions a{
	display: block;
	width: auto;             /* сбрасываем 50% из .two-versions */
}

#item.split-layout .item-info .types .split-versions .tab-version{
	width: 100%;
	height: 100%;
	min-height: 78px;
	margin-right: 0;
	padding: 10px 12px;
}

@media screen and (max-width: 910px){
	#item.split-layout .item-info .types .split-versions .tab-version{
		min-height: 100px;
	}
}

@media screen and (max-width: 500px){
	#item.split-layout .item-info .types .tabs-version.split-versions{
		gap: 10px;
	}
	#item.split-layout .item-info .types .split-versions .tab-version{
		min-height: 90px;
	}
}

/* ---- SPLIT: ссылка на «Ограничения и запреты» под блоком «Описание» ---- */
#item .item-info .split-description a.rules-link{
	align-self: flex-start;
	margin-top: -8px;       /* ближе к заголовку «Описание», чем к карточкам */
	font-size: 15px;
	font-weight: 500;
	line-height: 22px;
	color: #3C4FFF;
	text-decoration: underline;
	text-underline-offset: 3px;
}

#item .item-info .split-description a.rules-link:hover{
	color: #2A3BD6;
}

/* ---- Страница «Ограничения и запреты» ---- */
.rules-page{
	margin-top: 60px;
}

.rules-page .rules-card{
	margin-top: 30px;
	padding: 36px 40px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	background: #fff;
	border-radius: 30px;
	color: #11183E;
}

.rules-page h1{
	font-size: 36px;
	line-height: 1.2;
}

.rules-page .rules-intro{
	font-size: 16px;
	line-height: 26px;
	color: #6B7090;
}

.rules-page .rules-list{
	counter-reset: page-rule;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.rules-page .rules-list li{
	counter-increment: page-rule;
	position: relative;
	list-style: none;
	padding: 18px 20px 18px 64px;
	border: 1px solid #E1E4F2;
	border-radius: 18px;
	font-size: 16px;
	line-height: 25px;
}

.rules-page .rules-list li::before{
	content: counter(page-rule);
	position: absolute;
	top: 17px;
	left: 20px;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #FFE9EA;
	color: #B4232A;
	font-size: 14px;
	font-weight: 600;
}

.rules-page .rules-list li b{
	display: block;
	margin-bottom: 4px;
}

.rules-page .rules-note{
	padding: 16px 20px;
	border-radius: 18px;
	background: #EBEDF7;
	font-size: 15px;
	line-height: 24px;
}

.rules-page .rules-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 24px;
}

.rules-page .rules-actions a{
	width: 100%;
	max-width: 320px;
}

.rules-page .rules-help{
	border: 0;
	background: transparent;
	font-size: 15px;
	font-weight: 500;
	color: #3C4FFF;
	cursor: pointer;
}

.rules-page .rules-help:hover{
	text-decoration: underline;
}

@media screen and (max-width: 600px){
	.rules-page{
		margin-top: 30px;
	}
	.rules-page .rules-card{
		padding: 24px 20px;
		border-radius: 24px;
	}
	.rules-page h1{
		font-size: 26px;
	}
	.rules-page .rules-list li{
		padding: 14px 14px 14px 54px;
		font-size: 15px;
	}
	.rules-page .rules-list li::before{
		top: 13px;
		left: 14px;
	}
	.rules-page .rules-actions a{
		max-width: none;
	}
}