@charset "UTF-8";

/* ==================================== */
/* Базовые стили и переменные */
/* ==================================== */
:root {
    /* Основные цвета сайта */
    --main-bg-color: #00C070; /* Основной фон */
    --main-bg-gradient: linear-gradient(to right, #F9FBE6, #F9FBE6);
    --text-color-white: #FFFFFF; /* Цвет основного текста, комментариев и ответа FAQ */
    --text-color-green: #ffffff; /* Цвет меню, в футере правила и политика и языки */
    --text-color-black: #1f1f1f;
    --text-color-menu: #00C070;
    --btn-primary-bg:#7E1D6C;
    --btn-primary-hover-bg: #00C070;

    --games-card-main: #260C3C; /* Цвет карточки слотов и оглавления*/
    --header: #F9FBE6;
    --footer: #F9FBE6;
    /*--all-box-shadow: #2C9CED;
    /* НОВЫЕ ПЕРЕМЕННЫЕ ДЛЯ АНИМАЦИИ: используем их вместо жестко закодированных оранжевых */
    --pulse-color-max: rgb(122, 0, 204); /* Яркий розовый для максимального свечения */
    --flash-color: #7E1D6C; /* Светло-розовый (почти белый) для вспышки */

    /* Цвета для фона контентных блоков и форм */
    --content-bg-dark: #A342AB; /* Цвет где располагается текст и комменты при раскладывании */
    --content-bg-medium: #7E1D6C; /* Цвет где располагается текст и комменты */
    --input-border-color: #00C070;
    --marquee-bg-gradient: linear-gradient(to right,#000000d2, #000000c2 ); /* Градиенты баннеров */

    --btn-login-gradient: linear-gradient(180deg, #00C070 0%, #00C070 100%); 
    --btn-login-shadow: 0 0 10px rgb(0, 179, 74);

    --btn-register-gradient: linear-gradient(180deg, #7E1D6C 0%, #7E1D6C 100%); 
    --btn-register-shadow: 0 0 10px rgba(122, 0, 204);

    --play-overlay-btn-bg: #00C070;
    --play-overlay-btn-hover-bg: #7E1D6C;

    /* Цвета для навигации и переключателя языков */
    --mobile-nav-bg: #F9FBE6; /* Мобильное меню */
    --lang-hoverdropdown-bg: #F9FBE6;
    --lang-hover-bg: #00C070; /* Язык ховер обои */
    --back-to-top-bg: #00C070; /* Мобильное меню разложенное и кнопка наверх */
}

body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: var(--main-bg-gradient);
    color: var(--text-color-white);
}
/* ==================================== */
/* Универсальные стили для кнопок */
/* ==================================== */
.btn {
 padding: 12px 25px; /* Увеличенный паддинг для 3D вида */
 border-radius: 50px; /* Сильнее закругление, как на скринах */
 font-weight: bold;
 text-decoration: none;
 border: none; /* Убран border */
 cursor: pointer;
 transition: all 0.1s ease; /* Ускоряем переход для "нажатия" */
 box-sizing: border-box;
 white-space: nowrap;
 display: inline-flex;
 justify-content: center;
 align-items: center;
 gap: 5px;
}

.btn-primary {
    background: var(--btn-register-gradient);
    color: var(--text-color-white);
    box-shadow: var(--btn-register-shadow), 0 4px 0 #031946; 
    transition: all 0.1s ease;
    /* Активируем анимацию */
    animation: pulse-flash 3s infinite 0.5s; /* 0.5s задержка для старта */
}

.btn-primary:hover {
    background: var(--btn-register-gradient);
    color: var(--text-color-white);
    box-shadow: var(--btn-register-shadow), 0 2px 0 #031946;
    transform: translateY(2px); 
    /* ПРИ НАВЕДЕНИИ ОТКЛЮЧАЕМ АНИМАЦИЮ для эффекта "нажатия" */
    animation: none; 
}

.btn-primary:active {
    /* Убираем 3D тень полностью */
    box-shadow: var(--btn-register-shadow), 0 0 0 #031946; 
    /* Утапливаем кнопку на 4px */
    transform: translateY(4px); 
    /* Отключаем анимацию */
    animation: none;
}

.btn-secondary {
    /* ЗАМЕНА: Использование Градиента и Тени */
    background: var(--btn-login-gradient); /* Теперь это Градиент */
    color: var(--text-color-white); /* Белый текст */
    border: none; /* Убираем белую рамку */
    box-shadow: var(--btn-login-shadow), 0 4px 0 #031946e3; /* Тень для свечения и 3D */
    padding: 12px 25px; /* Увеличиваем паддинг */
    /* Удаляем старые стили */
    /* color: var(--text-color-black); */
}

.btn-secondary:hover {
    background: var(--btn-login-gradient); /* Градиент остается */
    color: var(--text-color-white);
    box-shadow: var(--btn-login-shadow), 0 2px 0 #031946e3; /* Уменьшаем тень для эффекта "нажатия" */
    transform: translateY(2px); /* Сдвиг вниз для "нажатия" */
    
    /* Удаляем старые стили */
    /* background-color: var(--btn-secondary-hover-bg); */
    /* color: var(--btn-secondary-hover-text); */
}

/* Кнопка на баннере displaybonus.php */
.marquee-container .btn-primary {
    max-width: none;
    width: 150px;
}

/* Кнопка в сайдбаре: Корректировка и Z-index для кликабельности */
.bonus-banner .btn-primary {
    /* Добавляем Z-index для кликабельности поверх наложений */
    position: relative; /* Обязательно для z-index */
    z-index: 10;        /* Выше, чем наложение (z-index: 2 или 3) */
    
    width: 70%;
    margin: 0 auto;
    border: none;
}

/* !!! ИСПРАВЛЕНИЕ !!!: Удаляем перезапись :hover, чтобы использовался основной блок .btn-primary:hover */
.bonus-banner .btn-primary:hover {
    /* Единственное, что нам нужно: отключить пульсацию при наведении */
    animation: none; 
}

/* Добавляем :active для полного эффекта вдавливания при клике, если он не был применен ранее */
.bonus-banner .btn-primary:active {
    /* Берем стили из основного .btn-primary:active, но явно их дублируем для надежности */
    box-shadow: var(--btn-register-shadow), 0 0 0 #031946e3; 
    transform: translateY(4px); 
    animation: none;
}



/* ==================================== */
/* Стили для хедера */
/* ==================================== */
.site-header {
    background-color: var(--header);
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.site-header .logo img {
    height: 45px;
    object-fit: contain;
}

.site-header .main-nav {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.site-header .main-nav a {
    color: #7E1D6C;
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s;
}

.site-header .main-nav a:hover {
    color: var(--text-color-menu);
}

.site-header .header-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

/* Стили для бургера (мобильное меню) */
.burger {
    display: none;
    font-size: 28px;
    cursor: pointer;
    color: #7E1D6C;
}

/* ==================================== */
/* Стили для выпадающего меню языка */
/* ==================================== */
.lang-switch-container {
    position: relative;
    display: inline-block;
}

.lang-switch {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #7E1D6C;
    cursor: pointer;
    padding: 8px 10px;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.lang-switch:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.lang-switch .flag {
    height: 16px;
    vertical-align: middle;
}

.lang-switch .arrow-down {
    font-size: 12px;
    margin-left: 5px;
    transition: transform 0.3s;
}

.lang-switch-container.active .lang-switch .arrow-down {
    transform: rotate(180deg);
}

.lang-dropdown {
    display: none;
    position: absolute;
    background-color: var(--lang-hoverdropdown-bg);
    min-width: 120px;
    box-shadow: 0px 8px 16px 0px rgb(255, 255, 255);
    z-index: 1001;
    border-radius: 6px;
    padding: 5px 0;
    list-style: none;
    margin: 0;
    top: 100%;
    left: 0;
}

.lang-switch-container.active .lang-dropdown {
    display: block;
}

.lang-dropdown li a {
    color: var(--text-color-white);
    padding: 10px 15px;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background-color 0.3s;
    font-weight: normal;
}

.lang-dropdown li a:hover {
    background-color: var(--lang-hover-bg);
    color: var(--text-color-white);
}

.lang-dropdown li a .flag {
    height: 18px;
}

/* ==================================== */
/* Стили для макета страницы (Адаптировано) */
/* ==================================== */
.content-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin: 40px auto;
    max-width: 1200px;
    padding: 0 20px;
    box-sizing: border-box;
}

.main-content {
    flex-grow: 1;
}

.sidebar-right {
    position: sticky;
    top: 40px;
    align-self: flex-start;
    height: min-content;
    width: 280px;
}

/* ==================================== */
/* Стили для баннера бонусов (sidebar) */
/* ==================================== */
.bonus-banner {
    /* !!! ИЗМЕНЕНИЯ ДЛЯ БАННЕРА С КАРТИНКОЙ (img_banner) !!! */
    position: relative; /* Обязательно для позиционирования img_banner */
    overflow: hidden;
    min-height: 250px; /* Задайте высоту для баннера */
    color: var(--text-color-white);
    border-radius: 10px;
    box-shadow: 0 4px 10px var(--all-box-shadow);
    box-sizing: border-box;
    width: 100%;
    /* Убраны background и padding */
}

/* !!! НОВЫЙ БЛОК: Стили для фонового изображения !!! */
.bonus-banner .img_banner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    /* Растягиваем, сохраняя пропорции, чтобы заполнить контейнер */
    object-fit: cover; 
    
    /* Изображение находится на самом заднем плане */
    z-index: 1; 
}

.bonus-banner .banner-content {
    /* !!! ИЗМЕНЕНИЯ: Позиционирование контента и наложение !!! */
    position: relative; 
    z-index: 3; /* Контент всегда выше наложения (2) и изображения (1) */
    padding: 20px; /* Отступы для контента */
    min-height: 250px; /* Должен совпадать с min-height родителя */
    
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; /* Центрирует контент вертикально */
    gap: 15px;
}

.bonus-banner .casino-logo {
    max-width: 100px;
    height: auto;
    align-items: center;
    object-fit: contain;
}

.bonus-banner .casino-name {
    margin: 5px 0;
    font-size: 18px;
    font-weight: bold;
}

.bonus-banner .rating {
    display: flex;
    align-items: center;
    gap: 5px;
    color: yellow;
}

.bonus-banner .rating-value {
    color: var(--text-color-white);
    font-weight: bold;
}

.bonus-banner .bonus-details {
    text-align: center;
    background-color: transparent; /* Убрано полупрозрачное наложение, т.к. оно теперь на всем баннере */
    padding: 10px;
    border-radius: 8px;
    width: 100%;
}

.bonus-banner .bonus-details p {
    margin: 0;
    font-size: 35px;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 1px 1px 3px rgb(0, 0, 0), 
                 0 0 5px rgba(0, 0, 0, 0.8); /* Дополнительная тень для плотности */
}

/* ==================================== */
/* Marquee Bonus Banner (displaybonus.php) */
/* ==================================== */
.marquee-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--marquee-bg-gradient);
    padding: 10px 15px;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 999;
    flex-wrap: wrap;
    box-sizing: border-box;
}

.marquee-wrapper {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
}

.marquee-text {
    display: inline-block;
    padding-left: 100%;
    animation: scroll-left 12s linear infinite;
    color: var(--text-color-white);
    font-weight: bold;
    font-size: 16px;
    text-shadow: 1px 1px 3px rgb(0, 0, 0), 
                 0 0 5px rgba(0, 0, 0, 0.8);
}

@media (max-width: 768px) {
    .marquee-text {
        /* Значительно увеличиваем продолжительность анимации, чтобы замедлить текст.
        С 12 секунд до 20 секунд. Попробуйте это значение и скорректируйте. */
        animation-duration: 20s; 
    }
}

@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

/* ==================================== */
/* Сетка игр (games_grid.php) */
/* ==================================== */
.games-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 20px;
    padding-top: 0;
    padding-bottom: 30px;
    margin: 0;
}

.game-card {
    border-radius: 15px;
    overflow: hidden;
    text-align: center;
    background-color: transparent; /* Изменено на прозрачный */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform 0.3s ease;
}
.game-card:hover {
    transform: translateY(-5px);
}

.game-link {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    text-decoration: none;
    color: inherit;
}

.game-card img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 15px;
    object-fit: cover;
    aspect-ratio: 1/1;
    transition: filter 0.3s ease;
}

.game-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(206, 206, 206, 0.466);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 15px;
}

.game-card:hover .game-overlay {
    opacity: 1;
}

/* Стили для кнопок на оверлее */
.btn-play, .btn-demo {
    border: none;
    text-decoration: none;
    font-weight: bold;
    margin: 8px 0;
    border-radius: 50px;
    transition: background-color 0.2s ease, transform 0.2s ease;
    cursor: pointer;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.btn-play {
    background-color: var(--play-overlay-btn-bg);
    width: 60px;
    height: 60px;
    color: var(--text-color-white);
}

.btn-play img {
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 0;
    border-radius: 0;
    object-fit: contain;
}

.btn-play:hover {
    background-color: var(--play-overlay-btn-hover-bg);
    transform: scale(1.05);
}

.btn-demo {
    background-color: var(--demo-btn-bg);
    color: var(--text-color-white);
    padding: 10px 25px;
    display: none; /* СКРЫТА КНОПКА DEMO */
}

.btn-demo:hover {
    background-color: var(--demo-btn-hover-bg);
    transform: scale(1.05);
}

.game-info {
    padding: 15px 10px;
    flex-grow: 1;
    display: none; /* СКРЫТ БЛОК С ИНФОРМАЦИЕЙ */
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.game-title {
    font-size: 16px;
    font-weight: bold;
    color: var(--game-title-color);
    margin: 0 0 5px 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

.game-provider {
    font-size: 15px;
    font-weight: 600;
    color: var(--provider-text-color);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

/* ==================================== */
/* Стили для футера */
/* ==================================== */
.site-footer {
    background-color: var(--footer);
    color: var(--text-color-white);
    padding: 20px;
    text-align: center;
    font-size: 14px;
    position: relative;
    margin-top: 50px;
    padding-bottom: 70px;
}

.site-footer p {
    margin: 5px 0;
}

.site-footer a {
    color: var(--text-color-green);
    text-decoration: none;
    transition: color 0.3s;
}

.site-footer a:hover {
    color: var(--text-color-white);
}

.site-footer .back-to-top {
    position: fixed;
    bottom: 15%;
    right: 20px;
    background-color: var(--back-to-top-bg);
    color: var(--text-color-black);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: background-color 0.3s, transform 0.3s;
    z-index: 1000;
}

.site-footer .back-to-top:hover {
    background-color: var(--text-color-white);
    transform: translateY(-3px);
}

.site-footer .arrow-up {
    border: solid var(--text-color-black);
    border-width: 0 3px 3px 0;
    display: block; /* Изменено на block */
    width: 8px; /* Добавлено */
    height: 8px; /* Добавлено */
    position: absolute; /* Добавлено */
    top: 50%; /* Добавлено */
    left: 50%; /* Добавлено */
    transform: translate(-50%, -50%) rotate(-135deg); /* Изменено */
}

/* ==================================== */
/* Стили для форм */
/* ==================================== */
.content-block {
    background-color: var(--content-bg-medium);
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 15px var(--all-box-shadow);
}

.form-page {
    /* Обновлено: теперь это широкий контейнер */
    max-width: 900px;
    margin: 0 auto 40px auto; 
}

/* Новый класс для внутреннего контейнера формы */
.form-inner-content {
    max-width: 500px; /* Желаемая ширина формы */
    margin: 0 auto; /* Центрирует форму внутри .form-page */
}

.form-page h1 {
    color: var(--text-color-green);
    text-align: center;
    margin-bottom: 25px;
}

.form-page p {
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.6;
}

.form-page .btn {
    width: 100%;
    margin-top: 10px;
    font-size: 18px;
}

.form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}

.form-group label {
    margin-bottom: 8px;
    font-weight: bold;
    color: var(--text-color-white);
}

.form-group input {
    /* Обновлено: теперь поля будут занимать 100% от .form-inner-content */
    width: 80%;
    box-sizing: border-box; /* Важно для корректной ширины с padding */
    padding: 12px 15px;
    border: 1px solid var(--input-border-color);
    border-radius: 6px;
    background-color: var(--content-bg-medium);
    color: var(--text-color-white);
    font-size: 16px;
    outline: none;
    transition: border-color 0.3s, background-color 0.3s;
}

.form-group input::placeholder {
    color: #a0a0a0;
}

.form-group input:focus {
    border-color: var(--text-color-green);
    background-color: var(--content-bg-medium);
}

.form-links {
    text-align: center;
    margin-top: 15px;
    font-size: 14px;
}

.form-links a {
    color: var(--text-color-green);
    text-decoration: none;
    transition: color 0.3s;
}

.form-links a:hover {
    color: var(--text-color-white);
}

.social-login-section {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid rgba(255,255,255,0.1);
    text-align: center;
}

.social-login-section h2 {
    color: var(--text-color-white);
    font-size: 20px;
    margin-bottom: 20px;
}

.social-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.social-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    color: var(--text-color-white);
    transition: background-color 0.3s, transform 0.2s;
    min-width: 150px;
    justify-content: center;
}

.social-btn img {
    height: 24px;
    width: 24px;
}

.facebook-btn { background-color: #3b5998; }
.facebook-btn:hover { background-color: #2d4373; transform: translateY(-2px); }

.google-btn { background-color: #db4437; }
.google-btn:hover { background-color: #b73326; transform: translateY(-2px); }

.twitter-btn { background-color: #000000; }
.twitter-btn:hover { background-color: #00060a; transform: translateY(-2px); }

/* ==================================== */
/* Стили для Bonus Page (bonuses.php) */
/* ==================================== */
.bonus-section {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.bonus-section:last-child {
    border-bottom: none;
}

.bonus-section h2 {
    color: var(--text-color-green);
    text-align: center;
    margin-bottom: 20px;
}

.bonus-section p {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 15px;
}

.bonus-image {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin-top: 15px;
}

.accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 40px; /* Обнуляем отступ сверху */
    margin-bottom: 40px;
}

.accordion-item {
    background-color: var(--content-bg-medium);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 10px var(--all-box-shadow);
}

.accordion-header {
    background: none;
    border: none;
    color: var(--text-color-white);
    text-align: left;
    padding: 18px 20px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    width: 100%;
}

.accordion-header:hover {
    background-color: rgba(255,255,255,0.1);
}

.accordion-body {
    max-height: 0;
    overflow: hidden;
    padding: 0 20px;
    background-color: var(--content-bg-dark);
    transition: max-height 0.4s ease, padding 0.3s ease;
}

.accordion-body.open {
    padding: 15px 20px;
    max-height: 2000px; 
    overflow-y: auto; 
}

.testimonial-slider {
    max-width: 900px;
    margin: 40px auto;
    background-color: var(--content-bg-medium);
    border-radius: 12px;
    padding: 30px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 15px var(--all-box-shadow);
}

.testimonial-slide {
    display: none;
    text-align: center;
}

.testimonial-slide.active {
    display: block;
}

.testimonial-text {
    font-size: 16px;
    font-style: italic;
}

.testimonial-author {
    font-weight: bold;
    margin-top: 15px;
}

.testimonial-controls {
    text-align: center;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 15px;
}

.testimonial-controls button {
    background-color: var(--btn-primary-bg);
    color: var(--text-color-white);
    padding: 8px 16px;
    border-radius: 5px;
    border: none;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.testimonial-controls button:hover {
    background-color: var(--btn-primary-hover-bg);
    transform: translateY(-2px);
}

/* ==================================== */
/* ТАБЛИЦА С БОНУСАМИ */
/* ==================================== */
/* === БАЗА: белые рамки + переносы === */
.table-wrap {
    border: 1px solid #fff;
    border-radius: 12px;
    overflow: hidden;
    overflow-x: auto; /* горизонт. скролл при надобности */
    -webkit-overflow-scrolling: touch;
}

.table-wrap table {
    width: 100%;
    border-collapse: collapse; /* одинарные линии */
}

.table-wrap th,
.table-wrap td {
    border: 1px solid #fff; /* ВСЕГДА белые линии */
    padding: 10px 12px;
    vertical-align: top;

    /* чтобы длинные фразы не вылезали за ячейку */
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}

.table-wrap thead th {
    background: rgba(255,255,255,.06);
    text-align: left;
}

/* ==================================== */
/* 🚀 СТИЛИ ДЛЯ КНОПКИ ЗАБРАТЬ БОНУС (Окончательная версия) */
/* ==================================== */

.btn-take-bonus {
    /* Базовые стили должны быть простыми и не конфликтовать */
    background: var(--btn-register-gradient);
    width: 90%; 
    color: var(--text-color-white);
    box-shadow: var(--btn-register-shadow), 0 4px 0 #8b1e5a; 
    
    /* Анимация мигания */
    animation: pulse-flash 3s infinite; 
    
    /* Убедитесь, что transition здесь (иначе он берется из .btn) */
    transition: all 0.1s ease; 
    
    /* ... (Остальные стили наследуются от .btn) ... */
}
.btn.btn-take-bonus:hover { 
    /* Уменьшаем тень, сдвигаем вниз */
    box-shadow: var(--btn-register-shadow), 0 2px 0 #8b1e5a; 
    transform: translateY(2px); 
    /* Отключаем пульсацию, пока наведен курсор */
    animation: none; 
    /* Убедимся, что градиент остался, если его сбивает анимация: */
    background: var(--btn-register-gradient); 
}
.btn.btn-take-bonus:active {
    /* Убираем 3D тень полностью */
    box-shadow: var(--btn-register-shadow), 0 0 0 #8b1e5a; 
    /* Утапливаем кнопку на 4px (полностью) */
    transform: translateY(4px); 
    /* Отключаем анимацию */
    animation: none;
    background: var(--btn-register-gradient);
}

/* ==================================== */
/* Медиа-запросы для мобильных устройств */
/* ==================================== */
@media (max-width: 768px) {
    .burger { display: block; }

    .site-header .main-nav { display: none; }
    .site-header .main-nav.show {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: 100%;
        background-color: var(--mobile-nav-bg);
        margin-top: 10px;
        padding: 15px;
        border-radius: 6px;
    }
    .site-header .main-nav a {
        font-size: 16px;
        width: 100%;
        text-align: center;
    }

    .site-header .header-buttons {
        flex-direction: column;
        width: 100%;
        padding: 0 15px;
        margin-top: 10px;
        gap: 10px;
    }

    .site-header .header-buttons .btn {
        width: 100%;
        max-width: none;
    }

    .lang-switch-container {
        font-size: 16px;
        width: 100%;
        text-align: center;
    }
    .lang-switch {
        justify-content: center;
        width: 100%;
    }
    .lang-dropdown {
        position: static;
        width: 100%;
        box-shadow: none;
        border-radius: 0;
        margin-top: 5px;
    }
    .site-header .logo img {
        height: 35px;
    }

    .content-wrapper {
        flex-direction: column;
        gap: 20px;
        margin: 20px auto;
        width: 100%;
        padding: 0 15px;
    }
    .sidebar-right {
        order: -1;
        position: static;
        width: 100%;
        margin: 0 auto;
        max-width: 400px;
    }
    .main-content {
        order: 1;
        width: 100%;
    }
    .bonus-banner {
        width: 100%;
    }

    .marquee-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .marquee-container .btn {
        width: 100%;
        margin-top: 10px;
        text-align: center;
        max-width: none;
    }
    
    
    .games-grid {
        grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
        gap: 10px;
        padding: 20px 15px;
    }
    .game-card, .game-card img, .game-overlay, .game-link {
        border-radius: 15px;
    }
    .game-title {
        font-size: 14px;
    }
    .game-provider {
        font-size: 11px;
    }
    .game-info {
        padding: 10px 5px;
    }
    .btn-play {
        width: 45px;
        height: 45px;
    }
    .btn-play img {
        width: 18px;
        height: 18px;
    }
    .btn-demo {
        margin: 5px 0;
        font-size: 14px;
        padding: 8px 20px;
    }

    .form-page {
        padding: 20px;
        margin: 20px auto;
    }

    .form-page h1 {
        font-size: 28px;
    }

    .social-buttons {
        flex-direction: column;
        align-items: center;
    }

    .social-btn {
        width: 100%;
        max-width: 250px;
    }

    .site-footer {
        padding-bottom: 120px;
    }
    .site-footer .back-to-top {
        bottom: 15%;
    }
}

@media (max-width: 480px) {

.games-grid .game-card:nth-child(n + 7) {
        display: none;
    }


    .games-grid {
        grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
        gap: 8px;
        padding: 15px 10px;
    }
}
/* === МОБИЛКА: компактность и скролл для таблиц === */
@media (max-width: 768px) {
    .table-wrap { margin-inline: -16px; border-radius: 12px; }
    .table-wrap table { table-layout: fixed; min-width: 720px; } /* дефолт для любых таблиц */
    .table-wrap th, .table-wrap td { padding: 8px 10px; line-height: 1.3; }
}

/* === СПЕЦИФИКА: именно таблица бонусов (7 колонок) === */
@media (max-width: 768px) {
    .table-wrap.bonuses table { min-width: 900px; } /* шире сетка — меньше переносов */

    /* Ширины/nowrap только для коротких колонок */
    .table-wrap.bonuses th:nth-child(1),
    .table-wrap.bonuses td:nth-child(1) { width: 8rem; white-space: nowrap; }  /* Offer */
    .table-wrap.bonuses th:nth-child(2),
    .table-wrap.bonuses td:nth-child(2) { width: 12rem; } /* What you get */
    .table-wrap.bonuses th:nth-child(3),
    .table-wrap.bonuses td:nth-child(3) { width: 6rem; white-space: nowrap; } /* Min. deposit */
    .table-wrap.bonuses th:nth-child(4),
    .table-wrap.bonuses td:nth-child(4) { width: 10rem; } /* FS slot */
    .table-wrap.bonuses th:nth-child(5),
    .table-wrap.bonuses td:nth-child(5) { width: 8rem; white-space: nowrap; } /* Wagering */
    .table-wrap.bonuses th:nth-child(6),
    .table-wrap.bonuses td:nth-child(6) { width: 6rem; white-space: nowrap; } /* Time limit */
    .table-wrap.bonuses th:nth-child(7),
    .table-wrap.bonuses td:nth-child(7) { width: 16rem; } /* Key caps & rules */
}

/* Очень узкий экран — по желанию скрыть FS slot */
@media (max-width: 380px) {
    .table-wrap.bonuses th:nth-child(4),
    .table-wrap.bonuses td:nth-child(4) { display: none; }
}

.img-container {
    max-width: 700px; /* Задаём максимальную ширину для контейнера */
    margin: 0 auto;  /* Центрируем контейнер */
}

.img-container img {
    width: 100%;/* Заставляем изображение занимать 100% ширины контейнера */
    height: auto;
    display: block;
    border-radius: 10px;
}

.content-block a, 
.form-page a {
    color: var(--btn-secondary-bg); /* Цвет ссылок */
    text-decoration: underline; /* Подчёркивание */
    transition: color 0.3s;
}

.content-block a:hover,
.form-page a:hover {
    color: var(--text-color-white); /* Цвет при наведении */
}

/* ==================================== */
/* ОПРЕДЕЛЕНИЕ КЛЮЧЕВЫХ КАДРОВ ДЛЯ АНИМАЦИИ */
/* ==================================== */

/* АНИМАЦИЯ 1: Подпрыгивание (БЕЗ ИЗМЕНЕНИЙ) */
@keyframes bounce { 
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px); 
    }
    100% {
        transform: translateY(0);
    }
}
@keyframes pulse-flash {
    /* 1. Начало: Мягкое свечение + 3D */
    0% {
        box-shadow: var(--btn-register-shadow), 0 4px 0 #8b1e5a;
        transform: scale(1) translateY(0); /* Добавлен scale */
        background: var(--btn-register-gradient); 
    }
    
    /* 2. Середина: Максимальное плавное свечение + Легкое увеличение */
    45% {
        box-shadow: 0 0 15px 5px var(--pulse-color-max), 0 4px 0 #8b1e5a;
        transform: scale(1.005) translateY(-0.5px); /* Легкое увеличение */
        background: var(--btn-register-gradient); 
    }

    /* 3. Конец плавного цикла */
    90% {
        box-shadow: var(--btn-register-shadow), 0 4px 0 #8b1e5a;
        transform: scale(1) translateY(0);
        background: var(--btn-register-gradient);
    }
    
    /* 4. МОМЕНТ ВСПЫШКИ (Резко!) */
    95% {
        box-shadow: 0 0 25px 8px var(--flash-color), 0 4px 0 #8b1e5a; 
        transform: scale(1.02) translateY(-1px); /* Резкое увеличение */
        background: var(--btn-register-gradient); 
    }
    
    /* 5. Мгновенное возвращение */
    100% {
        box-shadow: var(--btn-register-shadow), 0 4px 0 #8b1e5a; 
        transform: scale(1) translateY(0);
        background: var(--btn-register-gradient);
    }
}

.logo-text {
  font-family: 'Arial Black', sans-serif; /* можешь выбрать свой шрифт */
  font-size: 35px; /* размер текста */
  font-weight: bolder;
  color: #dbdbdb; /* поставь нужный цвет логотипа */
  text-decoration: none; /* убираем подчёркивание ссылки */
  text-shadow: 1px 1px 3px rgb(0, 0, 0), 
                 0 0 5px rgba(0, 0, 0, 0.8); /* Дополнительная тень для плотности */
}

.toc a {
    color: #F8D673;        /* обычный цвет */
    text-decoration: none;
    transition: color 0.2s ease;
}

.toc a:hover {
    color: #9887C8;     /* цвет при наведении */
}
