body {
    background: url(../img/rules_background.png) no-repeat;
    background-position: center;
    background-size: cover;
    /* Важно для корректного масштабирования */
    overflow-x: hidden;
    width: 100%;
    margin: 0;
}
.header__main {
    height: 100vh;
}

.slider {
    margin-top: 160px;
    width: 100%;
    height: 340px;
    padding: 0 45px 0;
}
.slider__title {
    font-size: 75px;
    letter-spacing: 4px;
    color: #ffffff;
    font-weight: 800;
    font-family: "Futura Now Headline";
    filter: drop-shadow(2.121px 2.121px 0px rgba(0,0,0,0.4));
}
.slider__text {
    max-width: 725px;
    color: #d3d3d3;
    font-size: 40px;
    padding: 35px 0 50px;
}
.slider__group {
    display: flex;
    grid-gap: 0 25px;
}
.slider__play,
.slider__down {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 305px;
    height: 100px;
    
    border-radius: 25px;
    font-size: 28px;
    font-weight: 800;
    text-transform: uppercase;
    color: white;
}

.slider__play {
    filter: drop-shadow(2.121px 2.121px 3.5px rgba(0,0,0,0.2));
    background-color: rgba(207,125,255,1);
    border: 8px solid rgb(115, 81, 144);

}
.slider__down {
    filter: drop-shadow(2.121px 2.121px 20px rgba(0,0,0,0.35));
    background-color: rgba(85,81,231,1);
    border: 8px solid rgb(55, 53, 124);
}

.slider__pagination {
    display: flex;
    flex-direction: column;
    grid-gap: 35px;
    padding-right: 45px;
}
.swiper-pagination-bullet-active,
.swiper-pagination-bullet {
    width: 51px !important;
    height: 51px !important;
}
.swiper-pagination-bullet-active {
    border-radius: 25px;
    background-color: #cf7dff!important;
    outline: 8px solid rgb(115, 81, 144)!important;
}
.swiper-pagination-bullet {
    background-color: #999999;
    border: 0px;
}

.event__section {
    padding-bottom: 350px;
}
.event {
    display: grid;
    grid-template-columns: repeat(2, auto);
}
.event__card {
    width: 1242px;
}
.event__card:not(:last-child) {
    margin-bottom: 150px;
}

.event__block {
    min-height: 532px;
    border-radius: 25px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-position: center;
}
.event__info {
    padding: 0 22px;
    display: grid;
    grid-gap: 30px 0;
    grid-template-columns: repeat(2, auto);
}
.event__info-date,
.event__info-time {
    font-size: 36px;
    letter-spacing: 4px;
    color: #cbcbcb;
    font-weight: 800;
}
.event__info-text {
    max-width: 725px;
    font-size: 36px;
    letter-spacing: 2px;
    line-height: 41px;
    color: #999999;
    font-weight: 500;
}
.event__info-link {
    font-size: 36px;
    letter-spacing: 2px;
    color: #cca7ff;
    font-weight: 800;
}
.event__info-time,
.event__info-link {
    justify-self: end;
}

.event__servers-frame {
    max-width: 451px;
    padding: 50px 38px 32px;
    border-radius: 30px;
    filter: drop-shadow(2.121px 2.121px 25.5px rgba(0,0,0,0.4));
    background-color: rgba(33,33,33,0);
    border: 6px solid #c9c9c9;
}
.event__servers-title {
    font-size: 36px;
    letter-spacing: 4px;
    color: #ffffff;
    font-weight: 800;
    text-align: center;
    margin-bottom: 55px;
}
.event__list {

}
.event__list-item {
    display: grid;
    grid-gap: 8px;
    grid-template-columns: repeat(2, auto);
    align-items: center;
}
.event__list-item:not(:last-child) {
    margin-bottom: 15px;
}
.event__list-title {
    font-size: 30px;
    color: #ffffff;
    font-weight: 800;
}
.event__list-info {
    font-size: 18px;
    color: #999999;
    font-weight: 800;
}
.event__list-visited {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    justify-self: end;
    font-weight: 800;
    max-width: 52px;
    text-align: right;
}

.event__list-visited strong:first-child {
    font-size: 48px;
    color: #cca7ff;
}
.event__list-visited strong:last-child {
    font-size: 20px;
    color: #ffffff;
}
.event__servers-bottom {
    margin-top: 45px;
    text-align: center;
}
.event__servers-bottom {
    display: flex;
    justify-content: space-between;
}
.event__servers-bottom p {
    display: flex;
    flex-direction: column;
}
.event__servers-bottom p strong:first-child {
    font-size: 48px;
    color: #cca7ff;
    font-weight: 800;
}
.event__servers-bottom p {
    font-size: 20px;
    color: #ffffff;
    font-weight: 800;
}

.event__servers-btn {
    margin-top: 28px;
    border-radius: 25px;
    background-color: #5551e8;
    border: 8px solid rgb(59, 57, 127);

    padding: 48px 38px;

    font-size: 42px;
    color: #ffffff;
    font-weight: 800;
    text-transform: uppercase;
}
/* --- Стили модального окна авторизации --- */

/* Фон-затемнение с размытием */
.login-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* Полупрозрачный черный */
    backdrop-filter: blur(10px);    /* Эффект размытия заднего фона */
    z-index: 9999;
    
    /* Скрыто по умолчанию */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.4s ease;
    
    /* Центрирование окна */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Состояние "активно" (открыто) */
.login-overlay.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Контейнер формы (из login.css, но адаптированный) */
.login__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 720px;
    /* Убрали фиксированную высоту, чтобы контент не обрезался, добавили отступы */
    padding: 40px; 
    
    /* Анимация вылета */
    transform: translateY(-100px) scale(0.9);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Пружинистый эффект */
}

/* Состояние окна при открытии */
.login-overlay.open .login__inner {
    transform: translateY(0) scale(1);
}

/* Стили элементов формы (перенесены из login.css) */
.login__title {
    color: #c9c9c9;
    font-weight: 800;
    font-size: 40px;
    font-family: "Futura Now Headline", sans-serif;
    margin-bottom: 40px;
    text-align: center;
}

.login__options {
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: 26px;
}

.login__input {
    width: 500px;
    height: 60px;
    border-radius: 15px;
    filter: drop-shadow(2.121px 2.121px 10px rgba(0,0,0,0.3));
    background-color: #313131;
    border: 6px solid #444444;
    color: #999999;
    outline: none;
    font-family: "Futura Now Headline";
    font-weight: 800;
    font-size: 24px;
    padding: 0 16px;
}

.login__input::placeholder {
    color: #999999;
    font-weight: 800;
}

.login__checkbox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 500px; /* Выравнивание по ширине инпутов */
    padding-top: 47px;
}

.login__label {
    display: flex;
    align-items: center;
    font-size: 20px;
    color: #999999;
    font-weight: 800;
    cursor: pointer;
}

.login__label-input {
    display: none;
}

.login__checkbox-custom {
    display: inline-block;
    width: 27px;
    height: 27px;
    border-radius: 7px;
    transition: background-color 0.3s, border-color 0.3s;
    margin-right: 8px;
    background-color: #313131; 
    border: 4px solid #444444;
}

.login__label-input:checked ~ .login__checkbox-custom {
    background-color: #cf7dff; 
    border-color: #555555;
}

.login__pass {
    font-size: 20px;
    color: #c9c9c9;
    font-weight: 800;
    text-decoration: none;
}

.login__btn {
    padding-top: 65px;
    text-align: center;
}

.login__log {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 250px;
    height: 60px;
    border-radius: 15px;
    filter: drop-shadow(2.121px 2.121px 10px rgba(0,0,0,0.3));
    background-color: #5551e8;
    border: 6px solid rgb(56, 58, 126);
    font-size: 24px;
    color: #ffffff;
    font-weight: 800;
    font-family: "Futura Now Headline";
    cursor: pointer;
    transition: .2s ease background;
}

.login__log:hover {
    background-color: #524de7;
}

.login__reg {
    display: block;
    padding-top: 35px;
    text-decoration: none;
    font-size: 24px;
    color: #999999;
    font-weight: 800;
    font-family: "Futura Now Headline";
}