@font-face {
    font-family: 'Muller Next Wide';
    src: url('/local/templates/main/fonts/Muller Next Wide Trial.woff2') format('woff2'),
    url('/local/templates/main/fonts/Muller Next Wide Trial.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Muller Next Trial';
    src: url('/local/templates/main/fonts/Muller Next Trial.woff2') format('woff2'),
    url('/local/templates/main/fonts/Muller Next Trial.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Muller Next Wide';
    src: url('/local/templates/main/fonts/Muller Next Wide Trial Heavy.woff2') format('woff2'),
    url('/local/templates/main/fonts/Muller Next Wide Trial Heavy.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Muller Next Wide';
    src: url('/local/templates/main/fonts/Muller Next Wide Trial ExBold.woff2') format('woff2'),
    url('/local/templates/main/fonts/Muller Next Wide Trial ExBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}

.text-upper{
    text-transform: uppercase;
}

body {
    margin: 0;
    padding: 0;
    background-image: url('/local/templates/main/images/bg-image.jpg');
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    position: relative;
    font-family: 'Muller Next Wide', sans-serif;
    color: #434343;
    overflow-x: hidden;
    cursor: none;
}

body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: inherit;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    filter: blur(8px);
    z-index: -1;
}

body::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.3);
    z-index: -1;
}



#customCursor {
    position: fixed;
    width: 60px; /* Размер курсора */
    height: 60px;
    background: url('/local/templates/main/images/cursor.png') no-repeat center center;
    background-size: contain;
    pointer-events: none; /* Исключаем взаимодействие */
    transform: translate(-50%, -50%); /* Центрируем относительно указателя */
    transition: transform 0.1s ease, opacity 0.2s ease;
    z-index: 9999999; /* Поверх всех элементов */
    opacity: 1; /* Курсор видим */
}


.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
    color: #434343;
    margin: 0;
    padding-bottom: 10px;
}

a {
    text-decoration: none;
    color: #434343;
}

.pt10 {
    padding-top: 10px;
}

.pt50 {
    padding-top: 50px;
}

.pt100 {
    padding-top: 100px;
}

.w-100 {
    width: 100% !important;
    max-width: 100% !important;
}

.yellow-txt {
    color: #FBDD2D;
}

.red-txt {
    color: #F44F25;
}

main {
    position: relative;
    z-index: 999;
}

.close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    background: transparent;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #888;
}

.close-btn:hover {
    color: #333;
}

.button {
    display: inline-block;
    padding: 10px 40px;
    font-size: 8px;
    color: #564EE3;
    border: 1px solid #564EE3;
    border-radius: 90px;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    text-decoration: none;
    background: #fff;
    font-family: 'Muller Next Trial';
    font-weight: 750;
    text-transform: uppercase;
}

body .button-loyalty {
    font-size: 14px;
    background: transparent;
}

.button:hover {
    background-color: #564EE3;
    color: #fff;
}

.header {
    -webkit-backdrop-filter: blur(55px);
    backdrop-filter: blur(55px);
    background: #FFFFFF33;
    position: sticky;
    top: -1px;
    z-index: 1000;
    font-family: 'Muller Next Trial';
    padding: 4px 0;
}

.nav-header__logo {
    display: flex;
}

.nav-header__logo img {
    height: auto;
}

.nav-header__nav {
    display: flex;
    padding: 15px 0;
    gap: 5px;
}

.posikunchiki-vector {
    position: absolute;
    right: 0;
    top: 0;
    max-width: 1000px;
    width: 100%;
    opacity: 0.5;
}

.posikunchiki-vector-index {
    top: -150px;
}

.posikunchiki-vector-bottom {
    position: absolute;
    left: 0;
    bottom: 350px;
    max-width: 1000px;
    width: 100%;
    opacity: 0.5;
}

.nav-header__link {
    text-decoration: none;
    color: #000000;
    font-size: 12px;
    transition: background-color 0.3s, color 0.3s;
    padding: 10px 25px;
    border-radius: 90px;
    text-transform: uppercase;
    border: 1.5px solid transparent;
}

.nav-header__link--active,
.nav-header__link:hover {
    color: #ffffff !important;
    background-color: #564EE3 !important;
    border: 1.5px solid #564EE3 !important;
}



.footer__social-link:hover {
    color: #ffffff;
    background-color: #564EE3;
}

.nav-header__icons {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nav-header__icon {
    height: 40px;
    border-radius: 90px;
    background-color: #FBDD2D;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s, color 0.3s;
    gap: 5px;
}

.profile-block {
    display: flex;
    align-items: center;
    background-color: transparent;
    border: 1px solid #FBDD2D;
    border-radius: 90px;
    padding-left: 10px;
    position: relative;
    cursor: no-drop;
}

.profile-name {
    font-size: 16px;
    color: #333;
    margin-right: 10px;
}

.profile-icon {
    background-color: #ffd600;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 90px;
}

.profile-icon svg {
    fill: #333;
}

/*.nav-header__icon:hover .profile-icon {
    background-color: #564EE3;
}*/


/*.nav-header__icon:hover {
    border: 1px solid #564EE3;
}

.nav-header__icon:hover .svg-path {
    fill: #fff;
}*/

.nav-header__icon img {
    width: 15px;
}

.nav-header__social-icons {
    display: flex;
    gap: 10px;
}

.nav-header__social-icon {
    height: 30px;
    width: 30px;
    background-color: #434343;
    border-radius: 50%;
    padding: 5px;
    transition: background-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-header__social-icon:hover {
    background-color: #564EE3;
}

.nav-header__social-icon img,
.footer__social-link img {
    width: 20px;
}


.container-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Стили для бургер-меню */
.mobile-menu-button {
    display: none;
    position: relative;
    width: 20px;
    height: 26px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1001;
    padding: 0;

}

.mobile-menu-button span {
    display: block;
    height: 2px;
    width: 20px;
    margin: 5px 0;
    background-color: #333;
    transition: 0.3s;
}

/* Меняем иконку на крестик при открытом меню */
.mobile-menu-button.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.mobile-menu-button.open span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-button.open span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* Мобильное меню */
.mobile-menu {
    position: fixed;
    top: 74px; /* Задаем точную высоту шапки */
    right: 0;
    width: 100%;
    height: calc(100vh - 60px);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    z-index: 999;
    padding-top: 40px;
    background: url('/local/templates/main/images/bg-image.jpg') no-repeat center;
}

.mobile-menu-nav {
    display: grid;
    justify-items: center;
    gap: 15px;
    padding: 0 50px;
    text-align: center;
}

/* Открытие меню */
.mobile-menu.open {
    transform: translateX(0);
}

.mobile-menu-button span:last-child {
    height: 2px;
}

.main-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 999;
}

.promo__content {
    padding-top: 45px;
    position: relative;
    padding-bottom: 65px;
}

.promo__text {
    max-width: 65%;
}

.promo__title {
    font-size: 95px;
    line-height: 1.0;
    color: #564EE3;
    font-weight: 750;
    margin-bottom: 20px;
}

.promo__title-loyalty {
    font-size: 70px;
    font-weight: 750;
    color: #564EE3;
    line-height: 67px;
}

.promo__text-loyalty {
    max-width: 60%;
    position: relative;
}

.promo__subtitle {
    font-size: 50px;
    line-height: 55px;
    font-weight: 750;
    color: #564EE3;
    margin: 0;
    padding-bottom: 10px;
}

.promo__desc {
    font-size: 24px;
    font-weight: 400;
    line-height: 33.6px;
    max-width: 500px;
    width: 100%;
    display: block;
    color: #564EE3;
}

.promo__subtitle span {
    font-weight: 400;
    font-size: 24px;
    line-height: 33px;
}

.promo__images {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    right: 0;
    bottom: 10px;
}

.promo__main-image {
    position: relative;
    right: 0;
    bottom: 0;
    width: 100%;
}

.promo__main-image img {
    width: 100%;
    height: 445px;
}


body .promo__overlay-image {
    position: absolute;
    top: -170px;
    right: -20px;
    width: 100%;
    height: auto;
}

.promo__badge {
    position: absolute;
    bottom: -20px;
    left: -20px;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.promo__badge img {
    width: 100%;
    height: auto;
    border-radius: 50%;
}

/* Основные стили секции */
.flavors {
    padding: 60px 0;
}

/* Верхняя часть */
.flavors__header {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 100px;
    margin-bottom: 40px;
    background-color: #FFE33C;
    padding: 60px 30px;
}

.flavors__image-container {
    position: relative;
    width: 200px;
    height: 200px;
    z-index: 99;
}

.flavors__image {
    bottom: -55px;
    width: 300px;
    height: auto;
    right: 0;
    position: absolute;
}

.flavors__text {
    max-width: 525px;
    z-index: 99;
}

.flavors__title {
    font-size: 34px;
    color: #564EE3;
    margin: 0;
    font-weight: 750;
}

.flavors__subtitle {
    font-size: 24px;
    color: #434343;
    margin-top: 10px;
}

/* Карточки с вкусами */
.flavors__cards {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 50px;
    padding-bottom: 90px;
    width: 100%;
    overflow: hidden;
}

.swiper-wrapper .flavor-card {
    width: 185px;
    text-align: center;
    transition: transform 0.3s;
}

.flavors-swiper {
    justify-content: space-between;
    height: auto !important;
    padding-top: 7px;
}

.flavor-card:hover {
    transform: translateY(-5px);
}

.flavor-card__icon {
    width: 60px;
    height: 60px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 auto 10px;
}

.flavor-card__name {
    font-size: 14px;
    font-weight: bold;
    color: #333;
}

.swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-banner-container {
    height: 640px;
    position: relative;
}

.banner-slide {
    text-align: center;
    color: white;
    width: 100%;
}

.marquee-container {
    overflow: hidden;
    position: relative;
    background-color: #F44F25;
    padding: 10px;
    font-size: 22px;
    font-weight: 750;
    color: #FFFFFF;
    white-space: nowrap;
}

.marquee {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    animation: marquee-animation 300s linear infinite;
}

.marquee p {
    margin: 0;
    white-space: nowrap;
}

.marquee img {
    padding-bottom: 5px;
}

body .blue-mark {
    top: -70px;
}

@keyframes marquee-animation {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}


.banner__content {
    padding: 40px;
}

.banner__title {
    font-size: 48px;
    font-weight: bold;
    color: white;
}

.banner__title span {
    color: #FF3D00;
}

.banner__image {
    width: 100%;
    height: 100%;
}

.swiper-pagination-bullet {
    background-color: #bbb;
    opacity: 1;
    transition: background-color 0.3s;
}

.swiper-pagination-bullet-active {
    background-color: #FF3D00;
}

.slider-banner {
    overflow: hidden;
    padding-bottom: 20px;
}

.banner-pagi {
    bottom: -20px !important;
}

body .swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: #564EE3;
}

.loyalty {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 50px 0;
    position: relative;
}

.loyalty__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-image: url('/local/templates/main/images/bg-block.png');
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    padding: 60px;
    margin-top: 40px;
}

/* Левая часть с текстом */
.loyalty__text {
    max-width: 50%;
}

.loyalty__title {
    font-size: 36px;
    font-weight: bold;
    color: #4F46E5;
    margin-bottom: 20px;
}

.loyalty__description {
    font-size: 18px;
    line-height: 1.5;
    color: #333;
}

.loyalty__button {
    display: block;
    padding: 20px 20px;
    font-size: 16px;
    font-weight: 750;
    color: #fff;
    background-color: #564EE3;
    border: none;
    border-radius: 90px;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    max-width: 350px;
    text-align: center;
}

.loyalty__button-wrap {
    margin-top: 30px;
}

.loyalty__button:hover {
    background-color: #fff;
    color: #434343;
}

/* Правая часть с изображением */
.loyalty__image-container {
    max-width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: -10px;
}

.loyalty__image {
    width: 100%;
    height: auto;
}

.locations {
    padding: 40px 0;
    text-align: left;
    position: relative;
    z-index: 999;
}

.locations__title {
    font-size: 32px;
    font-weight: bold;
    color: #4F46E5;
    margin-bottom: 20px;
}

.loc-dsc {
    font-size: 12px;
    color: #4F46E5;
    font-weight: 400;
}

.locations__city-select {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.locations__city-label {
    font-size: 16px;
    color: #333;
    margin-right: 10px;
    text-transform: none;
}

.choice-city-wrap {
    padding-top: 20px;
    font-family: 'Muller Next Trial';
}

.locations__city-dropdown {
    font-size: 20px;
    padding: 7px 18px;
    border: none;
    background: #fff;
    cursor: pointer;
    font-weight: 400;
    color: #434343;
    font-family: 'Muller Next Trial';
}

/* Стили для списка адресов */
.locations__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.locations__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 0;
    font-size: 24px;
    font-weight: 750;
    color: #434343;
    border-bottom: 1px solid #564EE3;
    text-transform: none;
}

.locations__icon {
    margin-left: 10px;
    border: 1px solid #564EE3;
    border-radius: 90px;
    padding: 5px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.locations__icon img {
    width: 16px;
    height: 16px;
    transition: transform 0.3s;
}

.locations__icon .loc-dsc {
    display: none;
}

.locations__icon:hover .loc-dsc {
    display: block;
}

.locations__icon:hover img {
    transform: scale(1.1);
}

.gallery {
    position: relative;
    z-index: 999;
}

.gallery__title {
    font-size: 32px;
    font-weight: bold;
    color: #4F46E5;
    margin-bottom: 20px;
}

body .gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 колонки */
    gap: 20px;
    padding-top: 35px;
    height: auto;
}

.gallery__item {
    overflow: hidden;
}

.gallery__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.gallery__image:hover {
    transform: scale(1.05);
}

.news {
    padding: 40px 0;
}

.container-news{
    position: relative;
    z-index: 999;
}

.news .news-container {
    display: flex;
    gap: 20px;
    padding: 30px 0;
    height: auto;
}

.news .news-item {
    width: calc(33.333% - 10px);
    flex-direction: column;
    overflow: hidden;
    text-decoration: none;
}

.news-image {
    width: 100%;
    height: 100%;
}

.news-content {
    padding: 30px 0;
}

.news-content h3 {
    font-size: 24px;
    font-weight: 750;
    margin: 0;
    padding-bottom: 10px;
    transition: color 0.3s;
}

.news-content h3:hover {
    color: #4F46E5;
}

.news-content p {
    font-size: 16px;
    color: #434343;
    line-height: 17px;
    margin: 0;
    font-family: 'Muller Next Trial';

}

.view-all {
    display: inline-block;
    margin-top: 20px;
    text-align: center;
    color: #007bff;
    font-weight: bold;
    text-decoration: none;
    border: 1px solid #007bff;
    padding: 10px 20px;
    border-radius: 8px;
    transition: background-color 0.3s, color 0.3s;
}

.view-all:hover {
    background-color: #007bff;
    color: #fff;
}

.footer {
    padding: 40px 0;
    background-color: #FFFFFF;
    text-align: center;
    position: relative;
    z-index: 999;
}

.footer__container {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding-bottom: 20px;
    border-bottom: 1px solid #E9E9E9;
}

.footer__title {
    font-size: 24px;
    font-weight: bold;
    color: #4F46E5;
    margin-bottom: 10px;
}

.footer__contacts {
    text-align: left;
}

.footer__phone,
.footer__email {
    font-size: 16px;
    margin: 0;
    font-weight: 750;
    padding-bottom: 15px;
}

.footer__socials {
    display: flex;
    gap: 10px;
}

.footer__social-link {
    width: 30px;
    height: 30px;
    background-color: #434343;
    border-radius: 50%;
    padding: 5px;
    transition: background-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* Нижняя часть подвала */
.footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 10px;
    font-size: 12px;
    color: #434343;
    font-family: 'Muller Next Trial';
}

.footer__bottom a {
    text-decoration: underline;
}

.footer__link,
.footer__credits {
    color: #888;
    margin: 5px 10px;
    transition: color 0.3s;
}

.footer__link:hover,
.footer__credits:hover {
    color: #4F46E5;
}

.flavor-card img {
    width: 100%;
}

.bg-line {
    position: relative;
}

.bg-line-img {
    position: absolute;
    top: 15px;
    z-index: 1;
    width: 100%;
    bottom: 0;
    height: 90%;
}

.loyalty__description div {
    font-size: 34px;
    font-weight: 750;
    color: #564EE3;
    line-height: 37px;
    padding-bottom: 10px;
}

.loyalty__description span {
    font-size: 24px;
    font-weight: 400;
    color: #434343;
}


.circle-with-image {
    position: relative;
    width: 175px;
    height: 175px;
    border-radius: 50%;
    background: url('/local/templates/main/images/cirlce-logo.png') no-repeat center;
    background-size: contain;
    animation: rotate-image 15s linear infinite;
}

.circle-gift-wrap {
    position: relative;
    display: inline-block;
    top: -80px;
    right: 55px;
}

.mark-soon-circle {
    transition: transform 0.3s ease;
}

.mark-soon-big-img {
    position: absolute;
    top: -30px;
    left: -20px;
}

/*.circle-gift-wrap .loyalty-program-img {
    transition: transform 0.3s ease;
}

.circle-gift-wrap:hover .loyalty-program-img {
    transform: scale(1.05);
}*/

.circle-gift-wrap img {
    width: 125px;
    position: absolute;
    top: 25px;
    right: 25px;
}

.loyalty-program-img {
    height: auto !important;
}

body .gallery-swiper {
    height: auto;
}

.no-scroll {
    overflow: hidden;
}

.contacts-wrap {
    display: grid;
}

.contacts-wrap a {
    color: #434343;
    text-decoration: none;
}

/* Анимация для вращения изображения */
@keyframes rotate-image {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.how-it-works {
    position: relative;
    background-color: #FBDD2D;
}

.how-it-works-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 40px;
    padding-bottom: 50px;
    position: relative;
    z-index: 999;
}

.how-it-works__content {
    max-width: 100%;
    color: #2E2E2E;
}

.how-it-works__steps {
    list-style: none;
    padding-top: 20px;
    padding-bottom: 10px;
    margin: 0;
    font-size: 18px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.how-it-works__steps li {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
}

.step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    color: #564EE3;
    font-weight: 750;
    width: 50px;
    height: 50px;
    font-size: 30px;
    flex-shrink: 0;
}

.how-it-works-li {
    display: flex;
    align-items: center;
    gap: 25px;
}

.step-dec {
    font-size: 20px;
}

.step-dec span {
    font-weight: 750;
    color: #564EE3;
}

.how-it-works__buttons {
    margin-top: 20px;
    display: flex;
    gap: 10px;
}

.how-it-works__button {
    padding: 15px 40px;
    font-size: 14px;
    font-weight: 750;
    border-radius: 90px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
}

.how-it-works__button:hover,
.profile__button:hover {
    background-color: #3b3db3;
}

.step-number:last-child  {
    background-color: #564EE3;
    color: #FFF;
}

.primary {
    background-color: #564EE3;
    color: #FFF;
    text-align: center;
}

.secondary {
    background-color: #FFF;
    color: #2E2E2E;
    border: 2px solid #2E2E2E;
}

/* Стили для изображений */
.how-it-works__images {
    width: 50%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 200px;
}

.how-it-works__image {
    position: absolute;
}

.how-it-works__image--tshirt {
    right: 0;
    width: 100%;
}

.how-it-works__image--pie {
    bottom: 20%;
    right: 40%;
    width: 120px;
}

.how-it-works__image--hat {
    bottom: 0;
    right: 0;
    width: 100px;
}

.prizes {
    padding-top: 60px;
    padding-bottom: 60px;
    position: relative;
    z-index: 999;
}

.prizes__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 20px;
    justify-items: center;
    padding-top: 35px;
}

.prizes__item {
    transition: transform 0.3s;
    max-width: 180px;
    width: 100%;
}

.prizes__item:hover {
    transform: scale(1.05);
}

.prizes__item img {
    width: 100%;
    height: auto;
}

.loyalty__content {
    padding-top: 80px;
    padding-bottom: 70px;
    position: relative;
}

.contact-section {
    display: flex;
    gap: 100px;
    align-items: flex-start;
    padding-top: 45px;
    padding-bottom: 45px;
    position: relative;
    z-index: 999;
}

.contact-form {
    max-width: 510px;
    width: 100%;
}

.contact-form h2 {
    font-size: 30px;
    color: #564EE3;
    font-weight: 750;
    margin: 0;
    padding-bottom: 10px;
}


.contact-form form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

input[type="text"],
input[type="email"],
textarea {
    width: auto;
    padding: 15px 25px;
    border: 1.5px solid #564EE380;
    border-radius: 90px;
    outline: none;
    transition: border-color 0.3s;
}

.contact-form textarea {
    border-radius: 25px;
}

.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form textarea:focus {
    border-color: #564EE3;
}

input::placeholder,
input::placeholder,
textarea::placeholder {
    font-size: 14px;
    font-weight: 400;
    color: #B2B2B2;
}



.contact-form textarea {
    height: 150px;
    resize: vertical;
}

.contacts-btn {
    max-width: 300px;
}

.contacts-btn:hover,
.reward-button:hover,
.profile__button:hover {
    background-color: #FFFFFF;
    color: #434343;
}

.loyalty-container {
    position: relative;
}

.submit-button:hover {
    background-color: #F44F25;
}
.how-it-works__button:hover {
    background-color: #F44F25;
}

.contact-info {
    width: 100%;
    max-width: 440px;
    color: #434343;
}

.contact-info b {
    font-weight: 750;
}

.contact-info h3 {
    font-size: 18px;
    font-weight: 750;
    padding: 0;
    margin: 0;
}

.contact-info p {
    font-size: 16px;
    padding-bottom: 20px;
    margin: 0;
}

.contact-info a {
    color: #564EE3;
}

.border-purple {
    border: 1px solid #564EE3;
    width: 100%;
    margin: 30px 0;
}

.profile {
    display: flex;
    padding-top: 45px;
    padding-bottom: 45px;
    gap: 40px;
    position: relative;
    z-index: 999;
}

.profile-name-header{
    font-size: 10px;
}

.profile .border-personal {
    margin-top: 15px;
    margin-bottom: 15px;
}

.profile__sidebar {
    max-width: 180px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.profile__info h2 {
    font-size: 22px;
    color: #2E2E2E;
    font-weight: 700;
    margin-bottom: 10px;
}

.profile__info p {
    font-size: 14px;
    color: #333;
    margin: 0;
    padding-bottom: 10px;
}

.profile__info a {
    color: #434343;
    font-size: 14px;
}

.profile__points {
    color: #564EE3;
    font-size: 20px;
    font-weight: 750;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.profile__points span {
    font-size: 15px;
}

.profile__button-wrap {
    margin-top: 15px;
}

.profile__button {
    display: block;
    background-color: #564EE3;
    color: #FFF !important;
    border: none;
    padding: 10px 0 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    border-radius: 90px;
    cursor: pointer;
    text-align: center;
    transition: background-color 0.3s, color 0.3s;
}

.profile__button:hover {
    color: #434343 !important;
}

.modal-open .page-content {
    filter: blur(15px);
}

.profile__nav a {
    display: block;
    font-size: 16px;
    color: #434343;
    text-decoration: none;
    margin-top: 10px;
    transition: color 0.3s;
}

.profile__nav a:hover {
    color: #564EE3;
}

.profile__rewards {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 30px;
    align-items: center;
}

.reward-item {
    position: relative;
    height: 100%;
    max-height: 170px;
    text-align: center;
}


.reward-item img {
    width: 100%;
    height: 100%;
}

.reward-badge {
    background-color: #FFD700;
    color: #564EE3;
    padding: 10px 10px;
    font-size: 14px;
    font-weight: 750;
    border-radius: 90px;
}

.personal-badge-wrap {
    display: flex;
    gap: 5px;
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translate(-50%, 20%);
}

.reward-button {
    background-color: #564EE3;
    color: #FFF;
    border: none;
    padding: 10px 20px;
    font-size: 12px !important;
    font-weight: 750;
    border-radius: 90px;
    cursor: pointer;
    transition: background-color 0.3s;
    text-transform: uppercase;
}

.profile__nav a {
    text-decoration: none;
    color: #333;
    display: block;
    margin-bottom: 10px;
    cursor: pointer;
}

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(5px);
    align-items: center;
    justify-content: center;
    z-index: 999999;
}

.modal__content {
    background: url('/local/templates/main/images/modal-bg.jpg');
    padding: 40px 65px;
    width: 90%;
    max-width: 400px;
    text-align: center;
    position: relative;
    box-shadow: 0px 4px 55px 0px #00000040;
    font-family: 'Muller Next Trial';
}


.img-gift-modal {
    margin: 20px 0;
}

.img-gift-modal img {
    width: 100%;
    max-width: 100px;
}

.modal__close {
    position: absolute;
    top: -5px;
    right: 10px;
    font-size: 35px;
    color: #434343;
    cursor: pointer;
}

.modal__tabs {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 35px;
}

.tab-link {
    cursor: pointer;
    font-weight: 400;
    color: #B2B2B2;
    border: none;
    background: none;
}

.tab-link.active {
    color: #564EE3;
    border-bottom: 2px solid #FBDD2D;
}

.tab-content {
    display: none;
}

#authTab, #registerTab {
    display: block;
}

.modal h2 {
    font-size: 16px;
    color: #564EE3;
    margin-bottom: 10px;
    font-weight: 750;
}

/* Стили для формы */
.modal form input[type="password"] {
    padding: 15px 25px;
    border: 1.5px solid #564EE380;
    border-radius: 90px;
    outline: none;
    transition: border-color 0.3s
}

.modal form input::placeholder {
    color: #B2B2B2;
    font-size: 14px;
    font-weight: 400;
}

.submit-button {
    width: 100%;
    background-color: #564EE3;
    color: #FFF;
    border: none;
    padding: 15px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 30px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.request-form {
    display: grid;
    gap: 10px;
    margin-bottom: 0;
}

.history-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 230px;
    overflow-y: auto;
    height: 100%;
}

.history-item {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    color: #333;
    align-items: center;
    margin-bottom: 5px;
}

.amount.positive {
    color: #564EE3;
}

.positive, .negative {
    font-weight: 750;
}

.amount.negative {
    color: #F44F25;
}

.personal-name {
    font-size: 10px;
    color: #434343;
}

.how-it-works__images-mob {
    display: none;
}

.error-message {
    color: red;
    margin-bottom: 10px;
}

.date-history {
    flex: 2;
}

.item-history {
    flex: 2;
    display: grid;
}

.amount-history {
    flex: 2;
}

.pagination-controls {
    margin-top: 20px;
}

.pagination-controls button {
    border: none;
    background: none;
    cursor: pointer;
}

body .vk-svg {
    width: 25px;
}

input, textarea {
    font-family: 'Muller Next Trial';
}

.mobile-only {
    display: none;
}

.transaction-details-container {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.news-banner-item .button {
    color: #564EE3;
}

body .nav-loyalty-soon {
    color: #F44F25;
    border: 1.5px solid #F44F25;
    position: relative;
}

body .profile-soon {
    cursor: no-drop;
    position: relative;
}

.profile-block img {
    width: 25px;
    position: absolute;
    top: 0;
    right: 0;
}

.nav-loyalty-soon span {
    position: absolute;
    top: -2px;
    right: 10px;
}

.nav-loyalty-soon img {
    width: 25px;
}

body .nav-loyalty-soon:hover {
    border: 1.5px solid #564EE3;
}

.password-field {
    position: relative;
    display: flex;
    align-items: center;
}

.password-field input {
    flex: 1;
    padding-right: 40px; /* Оставляем место для иконки */
}

.toggle-password {
    position: absolute;
    right: 15px;
    cursor: pointer;
}

.toggle-password img {
    width: 17px;
    height: 17px;
}

body .mark-soon-circle {
    position: absolute;
    width: 100%;
    height: 100% !important;
    left: 50px;
    transform: rotate(230deg);
    max-width: 30px;
    border-radius: 0;
    top: 20px;
}

/* Основные стили */
.info-container {
    position: relative;
    display: inline-block;
}

/* Кнопка i */
.info-button {
    background-color: #FBDD2D;
    color: #564EE3;
    border: none;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    outline: none;
    margin-top: 40px;
}

/* Модальное окно */
.info-modal {
    position: absolute;
    top: 40px;
    left: 0;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    display: none; /* Скрыто по умолчанию */
    z-index: 1000;
    width: 300px;
}

/* Кнопка закрытия */
.modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    color: #000;
}

/* Стили списка */
.info-modal ol {
    margin: 0;
    padding: 0 0 0 20px;
}

.info-modal li {
    margin-bottom: 10px;
}

.info-modal a {
    color: blue;
    text-decoration: none;
    font-weight: bold;
}

.info-modal a:hover {
    text-decoration: underline;
}

.gallery-title-wrap {
    display: flex;
    position: relative;
    align-items: center;
    gap: 25px;
}

body .modal-index {
    position: absolute;
    backdrop-filter: none;
    right: 50px;
    left: 50px;
    top: 50px;
}

.gallery-info-wrap {
    position: relative;
    flex: 1;
}

.modal__content-gallery {
    text-transform: none;
    font-size: 18px;
    text-align: start;
}

.info-modal-item {
    display: flex;
    gap: 5px;
    padding-bottom: 20px;
}

.info-modal-item span {
    color: #564EE3;
    font-weight: 750;
    max-width: 20px;
    width: 100%;
}

.how-it-works__button,
.button-loyalty {
    opacity: 0.5;
}

.news-image-wrap {
    max-height: 240px;
    height: 240px;
}

@media (max-width: 1520px) {
    .swiper-banner-container {
        height: 575px;
    }
}

@media (max-width: 1320px) {
    body .promo__overlay-image {
        right: 0;
    }
    body .modal-index {
        left: 5px;
        top: 100px;
    }
}

@media (max-width: 1190px) {
    .profile__rewards {
        grid-template-columns: repeat(4, 1fr);
    }
    body .modal-index {
        left: -500px;
        top: 100px;
    }
}

@media (max-width: 1115px) {
    body .promo__overlay-image {
        right: 0;
    }
    .promo__title {
        font-size: 55px;
    }
    .promo__subtitle {
        font-size: 38px;
    }
    .promo__desc {
        font-size: 18px;
    }
    .promo__main-image img {
        height: 360px;
    }
    body .promo__overlay-image {
        top: 0;
    }
    .circle-gift-wrap {
        top: -15px;
        right: 0;
    }
    .promo__desc {
        max-width: 360px;
    }
    .swiper-banner-container {
        height: 465px;
    }
    .profile__rewards {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 993px) {
    #customCursor {
        display: none; /* Скрываем кастомный курсор */
    }

    body {
        cursor: auto; /* Возвращаем стандартный курсор */
    }
}

@media (max-width: 992px) {
    .nav-header__nav {
        display: none;
    }
    .nav-header__nav {
        display: none;
    }

    /* Показываем бургер-меню */
    .mobile-menu-button {
        display: inline-block;
    }
    .container-header {
        padding: 5px 10px;
    }
    .sc-icons-desctop {
        display: none;
    }
    .sc-icons-mob {
        display: flex;
        justify-content: center;
        padding-top: 50px;
        gap: 30px;
    }
    .promo__title-loyalty {
        font-size: 60px;
        line-height: 58px;
    }
    .promo__text-loyalty {
        max-width: 100%;
    }
    .contact-section {
        gap: 50px;
    }

    .how-it-works__images {
        display: none;
    }
    .container-header {
        padding: 5px 15px;
    }
    .gallery-info-wrap {
        position: static;
    }
    body .modal-index {
        top: 120px;
        right: 0;
        left: 0;
    }
    .modal__content-gallery {
        max-width: 360px;
    }
}

@media (max-width: 805px) {
    .contact-section {
        flex-direction: column-reverse;
    }
    .contact-form {
        max-width: 100%;
        width: 100%;
    }
    .footer__bottom {
        display: grid;
        justify-items: start;
    }
}


@media (max-width: 768px) {
    .button {
        font-size: 14px;
    }
    .swiper-banner-container {
        height: 315px;
    }

    .nav-header__link {
        font-size: 14px;
        width: 100%;
    }

    .nav-header__icons {
        gap: 10px;
    }
    .mobile-header-box {
        display: flex;
        gap: 10px;
    }
    .profile {
        flex-direction: column;
        align-items: center;
    }

    .profile__sidebar {
        max-width: 100%;
        text-align: center;
    }

    .profile__rewards {
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
    }
    .profile__points {
        justify-content: center;
    }
    .mobile-only {
        display: block;
    }
    .desktop-only {
        display: none;
    }
    .nav-loyalty-soon span {
        right: 50px;
    }

}

@media (max-width: 725px) {
    .promo__text {
        max-width: 100%;
    }
    .promo__images {
        position: relative;
        width: 100%;
    }
    .promo__main-image img {
        height: 100%;
    }
    .promo__badge {
        right: 80px;
        left: auto;
    }
    .flavors__header {
        display: grid;
        gap: 70px;
    }
    .flavors {
        padding: 0;
    }

    .flavors__image-container {
        width: 100%;
    }
    .flavors__image {
        right: auto;
    }
    .flavors__text {
        width: 100%;
    }
    .bg-line-img {
        width: auto;
    }
    .flavors__header {
        padding: 30px;
    }
    .bg-line {
        overflow-x: clip;
    }
    .promo__content {
        padding-top: 35px;
    }
    .flavors-swiper {
        padding-bottom: 75px;
    }
    .loyalty__container {
        flex-direction: column;
        padding: 30px 15px;
    }
    .loyalty__text {
        max-width: 100%;
    }
    .loyalty__image-container {
        position: relative;
        right: auto;
        top: 50px;
    }
    .loyalty__button {
        width: 100%;
    }
    .loyalty__image-container {
        max-width: 100%;
    }
    .loyalty__description div {
        font-size: 20px;
        line-height: 22px;
    }
    .loyalty__description span {
        font-size: 20px;
        line-height: 28px;
    }
    .locations__item {
        font-size: 18px;
        justify-content: space-between;
    }
    .gallery__slider-container {
        padding-top: 20px;
    }
    body .gallery__grid {
        display: flex;
        height: auto;
        gap: 0;
    }
    .news .news-container {
        gap: 0;
    }
    .footer__container {
        display: grid;
    }
    .loyalty__button {
        width: 100%;
        max-width: 100%;
        padding: 20px 0;
    }
    .how-it-works__images-mob {
        display: block;
    }
    .how-it-works__image-mob {
        width: 100%;
    }
    .mark-soon-big-img {
        max-width: 140px;
        width: 100%;
    }
    body .blue-mark {
        top: -30px;
    }
    .

}

@media (max-width: 550px) {
    .promo__title {
        font-size: 30px;
    }
    .promo__subtitle {
        font-size: 30px;
        line-height: 33px;
    }
    body .promo__overlay-image {
        top: -30px;
    }
    .circle-gift-wrap img {
        width: 100px;
    }
    .circle-with-image {
        width: 150px;
        height: 150px;
    }
    .circle-gift-wrap {
        right: 80px;
    }
    .promo__badge {
        right: 0;
    }
    .promo__desc {
        line-height: 25px;
    }
    .swiper-wrapper .flavor-card {
        width: 175px;
    }
    .step-dec {
        font-size: 14px;
    }
    .how-it-works__content > *:last-child {
        align-self: center;
    }
    .how-it-works__buttons {
        display: grid;
    }
    .button-loyalty {
        padding: 15px 20px;
    }
    .promo__title-loyalty {
        font-size: 30px;
        line-height: 30px;
    }
    .loyalty__content {
        padding-top: 35px;
        padding-bottom: 35px;
    }
    .prizes__grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
    .profile__rewards {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    .reward-badge {
        font-size: 13px;
    }
    .reward-button {
        font-size: 11px;
    }
    .contact-section {
        padding-top: 35px;
        padding-bottom: 40px;
    }
    .contacts-btn {
        max-width: 100%;
    }
    .profile {
        padding-top: 35px;
        padding-bottom: 35px;
    }
    .flavors__title {
        line-height: 33px;
    }
    .loc-dsc {
        display: block !important;
        white-space: nowrap;
    }
    .locations__icon {
        padding: 5px 10px;
        max-width: 85px;
        width: 100%;
    }
    .posikunchiki-vector {
        top: 5%;
    }
    .modal__content {
        width: 60%;
        margin: 0px auto;
    }
    body .mark-soon-circle {
        max-width: 25px;
    }
    body .modal-index {
        top: 90px;
    }
    .info-button {
        margin-top: 20px;
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 526px) {
    .swiper-banner-container {
        height: 50%;
    }
    .modal__content-gallery {
        width: 80%;
        padding: 40px 40px;
    }
    .news-content h3 {
        line-height: 26px;
    }
    .news-content {
        padding-bottom: 0;
    }
    .button {
        font-size: 12px;
    }
    .news-image-wrap {
        max-height: 220px;
        height: 220px;
    }
    body .news-detail-image img {
        height: 230px !important;
    }
}


@media (max-width: 445px) {
    body .modal-index {
        top: 105px;
    }
}