:root {
    --background: #121216;
    --background-fill: #17171C;
    --background-fill-hover: #19191F;
    --secondary-background-fill: #132431;
    --background-input-focus: #17171C;
    --main-color: #52B2FF;
    --inactive-color: #4597da;
    --secondary-inactive-color: #030405;
    --header-color: #D7DEEE;
    --description-color: #4E4F5E;
    --secondary-description-color: #40424d;
    --input-color: #313339;
    --outline-color: #1f2d3b;
    --description-font-size: 13px;
    --default-font-size: 14px;
    --header-font-size: 18px;
    --default-font-weight: 600;
    --header-font-weight: 700;
    --default-border-radius: 9px;
    --full-border-radius: 1000000px;

    --main-filter: invert(56%) sepia(95%) saturate(770%) hue-rotate(180deg) brightness(100%) contrast(102%);

    --inactive-filter: invert(51%) sepia(14%) saturate(1974%) hue-rotate(165deg) brightness(104%) contrast(88%);
}

body {
    font-family: Inter;
    font-weight: var(--default-font-weight);
    font-size: var(--default-size-text);
    background: var(--background);
    color: var(--description-color);
    margin: 12px 16px;
    user-select: none;
}

button {
    font-family: Inter;
    font-weight: var(--default-font-weight);
    font-size: var(--default-font-size);
    background: var(--background-fill);
    color: var(--inactive-color);
    cursor: pointer;
    border-radius: var(--default-border-radius);
    padding: 16px;
    outline: none;
    border: none;
}

button:hover {
    color: var(--main-color);
    background: var(--background-fill-hover);
}

a {
    font-family: Inter;
    font-weight: var(--default-font-weight);
    font-size: var(--default-font-size);
    color: var(--inactive-color);
    text-decoration: none;
    -webkit-user-drag: none;
    cursor: pointer;
    outline: none;
    border: none;
}

a:hover { 
    color: var(--main-color); 
}

input {
    font-family: Inter;
    font-weight: var(--default-font-weight);
    font-size: var(--default-font-size);
    background: var(--background-fill);
    color: var(--input-text);
    border-radius: var(--default-border-radius);
    box-sizing: border-box;
    width: 100%;
    padding: 16px;
    border: none;
    outline: none;
}

input::placeholder {
    font-family: Inter;
    font-weight: var(--default-font-weight);
    font-size: var(--default-font-size);
    color: var(--input-text);
}

input:focus {
    background: var(--background-input-focus);
    outline: 2px solid var(--outline-color);
}

.emoji {
    -webkit-user-drag: none;
    width: auto;
    height: auto;
}

.menu-bar { /*   Верхнее меню   */
    display: flex;
    font-weight: var(--header-font-weight);
    font-size: 16px;
}

/*   Логотип   */
.menu-bar-logo {
    cursor: pointer;
    margin: 0 auto 0 0;
    -webkit-user-drag: none;
}

/*   Финансовая часть   */
.finance-bar-wrapped {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-column-gap: 12px;
    background: var(--background-fill);
    padding: 14px 16px;
    border-radius: var(--full-border-radius);
}

.finance-balance-wrapped {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-column-gap: 6px;
    color: var(--header-color);
    justify-content: center;
    align-items: center;
}

.balance {
    font-size: 16px;
}

.balance-icon {
    -webkit-user-drag: none;
}

.finance-control-wrapped {
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-column-gap: 6px;
    text-align: center;
    justify-content: center;
    align-items: center;
}

.finance-topup, .finance-withdraw, .finance-referral {
    display: flex;
    filter: var(--inactive-filter);
}

.finance-icon {
    -webkit-user-drag: none;
    cursor: pointer;
    padding: 6px;
    width: 12px;
}

.finance-topup:hover, .finance-withdraw:hover, .finance-referral:hover {
    filter: var(--main-filter);
}


.nav-bar { /*   Навигация   */
    display: grid;
    position: fixed;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 6px;
    background: var(--background-fill);
    color: var(--inactive-color);
    font-size: var(--default-font-size);
    padding: 12px 0 16px 0;
    bottom: 0;
    left: 0;
    right: 0;
}


.navbar-icon {
    -webkit-user-drag: none;
    width: 20px;
    height: 20px;
    margin: 0 0 3px 0;
}

.navbar-text {
    padding: 0;
}


.navbar-home, .navbar-reviews, .navbar-profile {
    filter:var(--inactive-filter);
    display: block;
    cursor: pointer;
    text-align: center;
    padding: 6px 0;
}

.navbar-home-active, .navbar-reviews-active, .navbar-profile-active {
    filter: var(--main-filter);
    display: block;
    text-align: center;
    padding: 6px 0;
}

.navbar-home:hover, .navbar-reviews:hover, .navbar-profile:hover {
    filter: var(--main-filter)
}


.content-home { /*   Главная страница   */
    margin: 24px 0 96px 0;
}

/*   Новостная лента   */
.news-wrapped { 
    display: flex;
    overflow: hidden;
    margin: 0 0 16px 0;
    gap: 6px;
}

.news-banner {
    min-height: 166px;
    min-width: 144px;
    display: flex;
    background: var(--background-fill);
    border-radius: var(--default-border-radius);
}

.news-logo {
    -webkit-user-drag: none;
    width: 101px;
    margin: auto;
}

/*   Поиск товаров   */
.section-search-wrapped {
    display: block;
    margin: 0 0 32px 0;
}


.section-search-input {
    background: var(--background-fill) url(assets/search.svg) no-repeat;
    font-size: var(--default-font-size);
    background-size: 16px;
    background-position: 16px;
    padding: 16px 48px;
}

.section-search-input:focus {
    background: var(--background-input-focus) url(assets/search.svg) no-repeat;
    font-size: var(--default-font-size);
    background-size: 16px;
    background-position: 16px;
    padding: 16px 48px;
}

/*   Товары   */
.section-products {
    display: grid;
    grid-template-rows: repeat(2, auto);
    grid-row-gap: 32px;
}

/*   Заголовок категории товаров   */
.section-category-header-wrapped {
    display: flex;
    margin: 0 0 16px 0;
}

.section-category-header {
    font-size: var(--header-font-size);
    font-weight: var(--header-font-weight);
    color: var(--inactive-color);
    font-weight: var(--header-font-weight);
    font-size: var(--header-font-size);
    margin: 0 6px 0 0;
}

#emoji {
    width: 12px;
}

/*   Список товаров   */
.section-product-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
    grid-column-gap: 6px;
    grid-row-gap: 9px;
}

.section-home-wrapped {
    display: flex;
    cursor: pointer;
    align-items: center;
    padding: 6px 0;
}

.section-icon {
    -webkit-user-drag: none;
    width: 32px;
    height: 32px;
    border-radius: var(--default-border-radius);
    margin: 0 12px 0 0;
}

.section-name-wrapped { 
    display: block;
}

.section-name {
    font-size: var(--description-font-size);
    font-weight: var(--header-font-weight);
    color: var(--header-color);
    margin: 0 0 6px 0;
}

.section-categories { 
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-column-gap: 6px;
}

.section-category {
    font-size: 11px;
    color: var(--inactive-color);
}


.content-reviews { /*   Отзывы   */
    margin: 24px 0 96px 0; 
}

/*   Заголовок раздела */
.reviews-header-wrapped {
    text-align: center;
    display: block;
    margin: 0 0 32px 0;
}

.reviews-icon {
    -webkit-user-drag: none;
    width: 80px;
    margin: 0 0 32px 0;
}

.reviews-header {
    font-weight: var(--header-font-weight);
    font-size: var(--header-font-size);
    color: var(--main-color);
    margin: 0 0 9px 0;
}

.reviews-header-description {
    font-size: var(--description-font-size);
    color: var(--description-color);
    margin: 0 0 24px 0;
}

.leave-a-review {
    padding: 12px 64px;
}

/*   Информация о отзывах   */
.reviews-info-wrapped { 
    display: flex;
    margin: 0 0 16px 0;
}

.reviews-info { 
    display: flex;
    align-items: center;
    margin: 0 auto 0 0;
}

.reviews-logo-icon {
    display: block;
    width: 48px;
    margin: 0 16px 0 0;
    -webkit-user-drag: none;
}

/*   Счётчик отзывов   */
.reviews-counter-wrapped { 
    display: block; 
}

.reviews-counter-header {
    color: var(--header-color);
    font-weight: var(--header-font-weight);
    font-size: var(--default-font-size);
    margin: 0 0 9px 0;
}

.reviews-counter { 
    display: grid;
    grid-template-columns: repeat(2, auto); 
    grid-column-gap: 12px;
}

.reviews-counter-positive  {
    display: flex; 
}


.reviews-counter-negative {
    display: flex;
}





.reviews-counter-positive-count { 
    color: var(--main-color);
    font-size: 13px;
}

.reviews-counter-negative-count { 
    color: var(--inactive-color);
    font-size: 13px;
}

.positive-rate {
    filter: var(--main-filter);
}

.negative-rate {
    filter: var(--inactive-filter);
}

.positive-rate, .negative-rate {
    width: 10px;
    -webkit-user-drag: none;
    margin: 0 0 0 6px;
}

 /*   Фильтрация отзывов   */
.reviews-filter {
    display: flex;
    align-items: center;
    justify-content: center;
}

.reviews-filter-icon {
    filter: var(--inactive-filter);
    width: 12px;
    -webkit-user-drag: none;
}

.reviews-filter-icon:hover {
    filter: var(--main-filter);
}

.reviews-filter:hover {
    background-color: var(--background-fill-hover);
}

/*   Список отзывов   */
.reviews-list {
    display: grid;
    grid-template-rows: repeat(auto, 1fr);
    grid-row-gap: 6px;
}

.review-wrapped { 
    background: var(--background-fill);
    border-radius: var(--default-border-radius);
    padding: 16px 16px 24px 16px;
}

/*   Верхняя часть отзыва   */
.review-header-wrapped {
    display: flex;
    margin: 0 0 16px 0;
}

.review-avatar {
    width: 32px;
    border-radius: var(--full-border-radius);
    margin: 0 12px 0 0;
    -webkit-user-drag: none;
}

.review-contact-wrapped {
    display: block;
    margin: 0 auto 0 0;
}

.review-username {
    font-size: var(--description-font-size);
    color: var(--header-color);
    font-weight: var(--header-font-weight);
}

.review-purchase {
    font-size: 11px;
    color: var(--inactive-color);
}

.review-purchase:hover {
    color: var(--main-color);
}

.review-date {
    font-size: 11px;
    color: var(--description-color);
}
 
/*   Текст отзыва   */
.review-text {
    font-size: var(--description-font-size);
    padding: 0 3px;
}

/*   Без текста   */
.review-text-no {
    font-size: var(--description-font-size);
    color: var(--secondary-description-color);
    padding: 0 3px;
}


.content-profile { /*   Профиль   */
    display: block;
    margin: 32px 0 96px 0;
}

/*   Информация о пользователе   */
.profile-user-wrapped { 
    text-align: center;
    margin: 0 0 32px 0
}

.user-picture {
    width: 112px;
    border-radius: var(--full-border-radius);
    margin: 0 0 12px 0;
    -webkit-user-drag: none;
}

.profile-user-name {
    display: flex;
    justify-content: center;
}

.profile-username {
    font-weight: var(--header-font-weight);
    font-size: var(--header-font-size);
    color: var(--header-color);
    margin: 0 6px 0 0;
}

.profile-user-role {
    filter: var(--main-filter);
    width: 12px;
    -webkit-user-drag: none;
}

/*   История пользователя   */
.user-history-wrapped {
    display: flex;
}

.user-history-filter {
    font-weight: var(--default-font-weight);
    font-size: var(--default-font-size);
    color: var(--inactive-color);
    width: 100%;
    cursor: pointer;
    text-align: center;
    padding: 9px 0;
}

.user-history-filter:hover {
    color: var(--main-color);
}

.user-history-filter-active {
    font-weight: var(--default-font-weight);
    font-size: var(--default-font-size);
    background: var(--background-fill);
    color: var(--main-color);
    width: 100%;
    text-align: center;
    border-radius: var(--default-border-radius);
    padding: 9px 0;
}

/*   Если история пуста   */
.user-history-list-none { 
    margin: 48px auto 0 auto;
    justify-content: center;
    text-align: center;
}

#emoji-sick { 
    width: 32px;
    height: 32px;
    margin: 0 0 9px 0;
}

.user-history-list-none-text {
    font-size: 14px;
    color: var(--secondary-description-color);
    justify-content: center;
    text-align: center;
}


.content-topup, .content-withdraw { /*   Пополнение/вывод   */
    margin: 16px 0 96px 0; 
} 

/*   Ввод суммы пополнения/вывода   */
.topup-input, .withdraw-input {
    margin: 0 0 9px 0; 
}

.topup-amount-helper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 9px;
}

.topup-amount {
    display: flex;
    padding: 9px 0;
    justify-content: center;
}

.topup-amount-icon {
    -webkit-user-drag: none;
    width: 16px;
    margin: 0 0 0 6px;
}

.withdraw-exchange-rate-list {  
    display: grid;
    grid-column-gap: 9px;
    grid-template-columns: repeat(2, auto);
}

.exchange-rate-wrapped {
    display: flex;
    background: var(--background-fill);
    justify-content: center;
    border-radius: var(--default-border-radius);
    padding: 9px 0;
}

.exchange-rate { 
    font-size: var(--default-font-size);
    color: var(--description-color);
}

.rate {
    color: var(--main-color);
    margin: 0 6px 0 0;
}

.exchange-rate-currency {
    width: 16px;
    -webkit-user-drag: none;
}

/*   Вывод/пополнение средств   */
.payment-list, .withdraw-list {
    display: grid;
    grid-row-gap: 6px;
    margin: 24px 0 32px 0;
}

/*   Стиль для способов платежей   */
.payment-wrapped, .withdraw-wrapped { 
    display: flex;
    background: var(--background-fill);
    color: var(--inactive-color);
    cursor: pointer;
    padding: 16px 24px;
    align-items: top;
    border-radius: var(--default-border-radius);
}

.payment-wrapped-active, .withdraw-wrapped-active {
    display: flex;
    background: var(--background-fill-hover);
    color: var(--main-color);
    border-radius: var(--default-border-radius);
    padding: 16px 24px;
    align-items: center;
}

.payment-wrapped:hover, .withdraw-wrapped:hover {
    background: var(--background-fill-hover);
    color: var(--main-color);
}

.payment-icon {
    width: 22px;
    margin: 0 12px 0 0;
    -webkit-user-drag: none;
}

.withdraw-name-wrapped, .payment-name-wrapped {
    text-align: left;
}

.payment-name {
    font-weight: var(--default-font-weight);
    font-size: var(--description-font-size);
    color: var(--header-color);
    margin: 0 0 6px 0;
}

.payment-fee-text, .withdraw-fee-text { 
    font-weight:var(--default-font-weight);
    font-size: 11px; 
}

.withdraw-details-input {
    display: none;
    font-family: Inter;
    font-weight: var(--header-font-weight);
    font-size: var(--description-font-size);
    margin: 0 0 6px 0;
}

/*   Инпут для реквизитов   */
.withdraw-details-input::placeholder { 
    font-family: Inter;
    font-weight: var(--header-font-weight);
    font-size: var(--description-font-size);
} 

/*   Итоговая сумма   */
.payment-total-amount { 
    display: flex;
    margin: 0 0 24px 0;
    padding: 0 3px;
    align-items: center;
}

.payment-total-amount-wrapped {
    display: block;
    margin: 0 auto 0 0;
}

.total-amount {
    display: flex;
    margin: 0 0 6px 0;
}

.total-count {
    font-weight: var(--header-font-weight);
    font-size: var(--header-font-size);
    color: var(--header-color);
    margin: 0 6px 0 0;
}

.finance-currency-icon {
    width: 20px;
    -webkit-user-drag: none;
}

.total-amount-title {
    color: var(--inactive-color);
    font-size: 11px;
}

/*   Кнопка для пополнения/вывода   */
.topup-process, .withdraw-process { 
    padding: 16px 48px; 
} 

.payment-description {
    text-align: center;
    margin: 0 12px;
}

.payment-description-text, .payment-description-text-a{
    font-size: 11px; 
}

.payment-description-text {
    color: var(--secondary-description-color);
}


.content-about { /*   О магазине   */
    margin: 24px 0 96px 0; 
} 

/*   Информация о магазине   */
.store-info-wrapped {
    display: block;
    text-align: center;
    margin: 0 0 24px 0;
}

.store-logo { 
    margin: 0 0 32px 0; 
}

.store-logo {
    width: 80px;
    -webkit-user-drag: none;
}

.store-description-wrapped { 
    display: block;
}

.store-header {
    font-weight: var(--header-font-weight);
    font-size: var(--header-font-size);
    color: var(--header-color);
    margin: 0 0 9px 0;
}

.store-header span { 
    color: var(--main-color);
}

.store-description {
    font-size: var(--description-font-size);
    color: var(--description-color);
}

/*   Юридическая часть   */
.store-legal-wrapped { 
    display: block;
    margin: 0 0 16px 0;
    text-align: center;
}

.store-legal-1row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 6px;
    margin: 0 0 6px 0;
}

.legal-refund, .legal-dataproc, .legal-eula {
    width: 100%;
    padding: 12px;
}

/*   Баннеры с контактами   */
.store-contacts { 
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 9px;
    grid-row-gap: 9px;
}

.store-contacts-banner {
    display: block;
    height: auto;
    background: var(--background-fill);
    padding: 12px 16px;
    border-radius: var(--default-border-radius);
}

.store-contacts-banner-header {
    font-weight: var(--header-font-weight);
    font-size: 14px;
    color: var(--main-color);
    margin: 0 0 9px 0;
}

.store-contacts-banner-description {
    font-size: 11px;
    color: var(--description-color);
    margin: 0 0 12px 0;
}


.content-404 { /*   Страница 404   */
    margin: 24px 0 0 0;
    text-align: center;
}

.icon404 {
    width: 80px;
    margin: 0 0 32px 0;
    -webkit-user-drag: none;
}

.header404 {
    font-weight: var(--header-font-weight);
    font-size: var(--header-font-size);
    color: var(--main-color);
    margin: 0 0 9px 0;
}

.description404 {
    font-size: var(--description-font-size);
    margin: 0 0 24px 0;
}

.button404 { 
    padding: 12px 32px; 
}


.content-legal { /*   Юридические страницы   */
    margin: 24px 0 96px 0;
    padding: 0 32px;
}

.content-legal-header {
    font-weight: var(--header-font-weight);
    font-size: 20px;
    color: var(--header-color);
    margin: 0 0 24px 0;
}

.legal-wrapped {
    display: block;
}

.legal-header {
    font-weight: var(--header-font-weight);
    font-size: var(--header-font-size);
    color: var(--description-color);
    margin: 16px 0;
}

.legal-text {
    color: #3f404b;
    font-size: var(--default-font-size);
    margin: 0 0 12px 0;
}


.content-product { /*   Товары   */
    margin: 24px 0 96px 0;
}

/*   Фильтры   */
.category-filters-wrapped {
    display: grid;
    grid-template-columns: repeat(2, auto);
    width: fit-content;
    background: var(--background-fill);
    border-radius: var(--full-border-radius);
    margin: 0 auto 32px auto;
    padding: 3px;
}

.category-filter {
    font-weight: var(--default-font-weight);
    font-size: var(--default-font-size);
    color: var(--inactive-color);
    padding: 9px 48px;
    border-radius: var(--full-border-radius);
    cursor: pointer;
}

.category-filter-active {
    font-weight: var(--default-font-weight);
    font-size: var(--default-font-size);
    background: var(--secondary-background-fill);
    color: var(--main-color);
    border-radius: var(--full-border-radius);
    padding: 9px 48px;
}

.category-filter:hover {
    color: var(--main-color);
}

/*   Информация о разделе   */
.product-header-wrapped {
    display: block;
}

.product-logo-wrapped {
    text-align: center;
    margin: 0 0 24px 0;
}

.product-logo, .product-logo-opacity {
    width: 80px;
    border-radius: var(--default-border-radius);
    -webkit-user-drag: none;
}

.product-logo-opacity {
    opacity: 24%;
}

.product-header-text-wrapped {
    text-align: center;
}

.product-header-text {
    font-weight: var(--header-font-weight);
    font-size: var(--header-font-size);
    color: var(--inactive-color);
    margin: 0 0 9px 0;
}

.product-description {
    font-weight: var(--default-font-weight);
    font-size: var(--description-font-size);
    color: var(--description-color);
    margin: 0 0 24px 0;
}

/*   Категории    */
.method-filters-wrapped {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    border-radius: var(--default-border-radius);
    margin: 0 0 32px 0;
}

.method-filter {
    font-weight: var(--header-font-weight);
    font-size: var(--default-font-size);
    color: var(--inactive-color);
    text-align: center;
    padding: 9px;
    cursor: pointer;
}

.method-filter-active {
    font-weight: var(--header-font-weight);
    font-size: var(--default-font-size);
    background: var(--background-fill);
    color: var(--main-color);
    border-radius: var(--full-border-radius);
    text-align: center;
    padding: 9px;
}

.method-filter:hover {
    color: var(--main-color);
}

/*   Товары   */
.product-list {
    display: grid;
    grid-row-gap: 32px;
}

.product-category-wrapped {
    display: grid;
}

.product-category-header {
    font-weight: var(--header-font-weight);
    font-size: var(--header-font-size);
    color: var(--main-color);
    margin: 0 0 16px 0;
}

.products-list-wrapped {
    display: grid;
    grid-template-columns: repeat(2, minmax(165px, 1fr));
    grid-column-gap: 12px;
    grid-row-gap: 12px;
}

.product-wrapped {
    color: var(--inactive-color);
    padding: 9px 9px 16px 9px;
    cursor: pointer;
}

.product-wrapped:hover {
    color: var(--main-color);
    background: var(--background-fill-hover);
    border-radius: var(--default-border-radius);
    padding: 9px 9px 16px 9px;
}

.product-background-wrapped {
    display: flex;
    min-width: 152px;
    min-height: 152px;
    background: var(--background-fill);
    border-radius: var(--default-border-radius);
    justify-content: center;
    margin: 0 0 12px 0; 
    align-items: center;
}

.product-preview-icon {
    width: 96px;
    height: 96px;
    -webkit-user-drag: none;
}

.product-header {
    display: block;
    font-weight: var(--default-font-weight);
    font-size: 15px;
    margin: 0 0 6px 0;
    width: fit-content;
}

.product-header span {
    font-size: 11px;
}

.product-price-wrapped {
    display: flex;
}

.product-price {
    font-size: 16px;
    color: var(--header-color);
    margin: 0 6px 0 0;
}

.product-price-icon {
    width: 18px;
    height: 18px;
    -webkit-user-drag: none;
}









.content-successful { /*   Успешная странца   */
    margin: 24px 0 0 0;
    text-align: center;
}

.successful-icon {
    width: 80px;
    margin: 0 0 32px 0;
    -webkit-user-drag: none;
}

.successful-header {
    font-weight: var(--header-font-weight);
    font-size: var(--header-font-size);
    color: var(--main-color);
    margin: 0 0 9px 0;
}

.successful-description {
    font-size: var(--description-font-size);
    margin: 0 0 24px 0;
}

.successful-description span {
    color: var(--inactive-color)
}

.successful-button { 
    padding: 12px 32px; 
}