:root {
    --clr-primary: #FDE94E;
    --clr-secondary: #2B2A28;
    --clr-bg: #F8F9F9;
    --clr-white: #FFFFFF;
    --clr-text: #2B2A28;
    --clr-text-light: #555;
    --clr-border: #e0e0e0;
    --clr-card: #fff;
    --clr-gold: #FDE94E;
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 22px;
    --shadow: 0 4px 24px rgba(0, 0, 0, .10);
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, .07);
    --font: Arial, Tahoma, 'Comic Sans MS', sans-serif;
    --transition: .25s ease
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    scroll-behavior: smooth
}

body {
    background: var(--clr-bg);
    font-family: var(--font);
    color: var(--clr-text);
    line-height: 1.65;
    font-size: 16px;
    overflow-x: hidden
}

a {
    color: inherit;
    text-decoration: none;
    transition: opacity var(--transition)
}

a:hover {
    opacity: .8
}

img {
    max-width: 100%;
    height: auto;
    display: block
}

ul {
    list-style: none
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px
}

.wrapper {
    display: grid;
    grid-template-rows:auto 1fr auto;
    min-height: 100vh
}

.section {
    padding: 56px 0
}

.section--sm {
    padding: 32px 0
}

h1, h2, h3, h4 {
    line-height: 1.25;
    font-weight: 700
}

h1 {
    font-size: clamp(1.6rem, 4vw, 2.6rem);
    margin-bottom: .75rem
}

h2 {
    font-size: clamp(1.3rem, 3vw, 2rem);
    margin-bottom: .6rem
}

h3 {
    font-size: clamp(1.1rem, 2.5vw, 1.5rem);
    margin-bottom: .5rem
}

p {
    margin-bottom: .75rem
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 24px;
    border-radius: var(--radius-sm);
    font-family: var(--font);
    font-size: .95rem;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: transform .15s, box-shadow .15s, opacity .15s;
    text-decoration: none;
    white-space: nowrap
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
    opacity: 1
}

.btn:active {
    transform: translateY(0)
}

.btn--dark {
    background: var(--clr-secondary);
    color: #fff
}

.btn--yellow {
    background: var(--clr-primary);
    color: var(--clr-secondary)
}

.btn--outline {
    background: transparent;
    border: 2px solid var(--clr-secondary);
    color: var(--clr-secondary)
}

.btn--lg {
    padding: 14px 36px;
    font-size: 1.1rem
}

.btn--sm {
    padding: 7px 16px;
    font-size: .85rem
}

.header {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
    position: sticky;
    top: 0;
    z-index: 1000
}

.header__inner {
    display: grid;
    grid-template-columns:auto 1fr auto;
    align-items: center;
    gap: 16px;
    padding: 12px 20px;
    max-width: 1200px;
    margin: 0 auto
}

.header__logo {
    display: flex;
    align-items: center
}

.header__logo img {
    height: 46px;
    width: auto
}

.header__nav {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap
}

.header__nav a {
    padding: 7px 12px;
    border-radius: var(--radius-sm);
    font-size: .9rem;
    font-weight: 600;
    color: var(--clr-secondary);
    transition: background .2s, color .2s
}

.header__nav a:hover {
    background: var(--clr-primary);
    color: var(--clr-secondary);
    opacity: 1
}

.header__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap
}

.header__online {
    font-size: .78rem;
    color: #27ae60;
    font-weight: 600;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 4px
}

.header__online::before {
    content: '';
    width: 8px;
    height: 8px;
    background: #27ae60;
    border-radius: 50%;
    display: inline-block;
    animation: pulse 1.5s infinite
}

@keyframes pulse {
    0%, 100% {
        opacity: 1
    }
    50% {
        opacity: .4
    }
}

.burger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 6px;
    background: none;
    border: none
}

.burger span {
    width: 26px;
    height: 3px;
    background: var(--clr-secondary);
    border-radius: 2px;
    transition: transform .3s, opacity .3s
}

.burger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px)
}

.burger.active span:nth-child(2) {
    opacity: 0
}

.burger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px)
}

.hero {
    position: relative;
    overflow: hidden;
    background: #111
}

.hero__slider {
    position: relative;
    min-height: 420px
}

.hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .7s ease;
    display: flex;
    align-items: center
}

.hero__slide.active {
    opacity: 1;
    position: relative
}

.hero__slide img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .55
}

.hero__slide-content {
    position: relative;
    z-index: 2;
    max-width: 600px;
    padding: 60px 40px;
    color: #fff
}

.hero__slide-content h1 {
    color: #fff;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .5);
    margin-bottom: 1rem;
    font-size: clamp(1.8rem, 5vw, 3rem)
}

.hero__slide-content p {
    color: rgba(255, 255, 255, .9);
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .4)
}

.hero__dots {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10
}

.hero__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .5);
    border: none;
    cursor: pointer;
    transition: background .3s
}

.hero__dot.active {
    background: #fff
}

.hero__prev, .hero__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(255, 255, 255, .2);
    border: none;
    color: #fff;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s
}

.hero__prev {
    left: 16px
}

.hero__next {
    right: 16px
}

.hero__prev:hover, .hero__next:hover {
    background: rgba(255, 255, 255, .4)
}

.breadcrumbs {
    padding: 14px 0;
    font-size: .88rem;
    color: var(--clr-text-light)
}

.breadcrumbs a {
    color: var(--clr-secondary);
    text-decoration: underline
}

.breadcrumbs span {
    margin: 0 6px;
    color: #999
}

.card {
    background: var(--clr-card);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: 24px;
    transition: transform .2s, box-shadow .2s
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow)
}

.card--accent {
    border-left: 4px solid var(--clr-primary)
}

.grid-2 {
    display: grid;
    grid-template-columns:repeat(2, 1fr);
    gap: 24px
}

.grid-3 {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 24px
}

.grid-4 {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    gap: 24px
}

.jackpots {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    padding: 40px 0;
    overflow: hidden
}

.jackpots__title {
    text-align: center;
    color: #fff;
    margin-bottom: 24px;
    font-size: 1.8rem
}

.jackpots__title span {
    color: var(--clr-primary)
}

.jackpots__grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 20px
}

.jackpot-card {
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(253, 233, 78, .3);
    border-radius: var(--radius-md);
    padding: 28px 20px;
    text-align: center;
    position: relative;
    overflow: hidden
}

.jackpot-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(253, 233, 78, .05), transparent);
    pointer-events: none
}

.jackpot-card__label {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(255, 255, 255, .6);
    margin-bottom: 8px
}

.jackpot-card__amount {
    font-size: 2rem;
    font-weight: 700;
    color: var(--clr-primary);
    font-family: monospace;
    text-shadow: 0 0 20px rgba(253, 233, 78, .4)
}

.jackpot-card__name {
    font-size: .9rem;
    color: #fff;
    margin-top: 8px
}

.video-section {
    background: #fff;
    padding: 48px 0
}

.video-section__inner {
    display: grid;
    grid-template-columns:1fr 1fr;
    gap: 40px;
    align-items: center
}

.video-section__text h2 {
    margin-bottom: 16px
}

.video-section__text p {
    color: var(--clr-text-light);
    margin-bottom: 20px
}

.video-section__embed {
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow);
    aspect-ratio: 16/9
}

.video-section__embed iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block
}

.bonuses-grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 24px
}

.bonus-card {
    background: var(--clr-card);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform .2s, box-shadow .2s;
    border-top: 4px solid var(--clr-primary)
}

.bonus-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow)
}

.bonus-card__header {
    background: linear-gradient(135deg, #2B2A28, #444);
    padding: 20px;
    text-align: center;
    color: #fff
}

.bonus-card__icon {
    font-size: 2.5rem;
    margin-bottom: 8px
}

.bonus-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--clr-primary)
}

.bonus-card__body {
    padding: 20px
}

.bonus-card__amount {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--clr-secondary);
    margin-bottom: 8px
}

.bonus-card__desc {
    font-size: .9rem;
    color: var(--clr-text-light);
    margin-bottom: 16px
}

.bonus-card__terms {
    font-size: .78rem;
    color: #999;
    border-top: 1px solid var(--clr-border);
    padding-top: 12px
}

.wheel-section {
    background: linear-gradient(135deg, #1a1a2e, #0f3460);
    padding: 56px 0;
    text-align: center
}

.wheel-section h2 {
    color: #fff;
    margin-bottom: 8px
}

.wheel-section .subtitle {
    color: rgba(255, 255, 255, .7);
    margin-bottom: 32px
}

.wheel-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px
}

.wheel-container {
    position: relative;
    width: 300px;
    height: 300px
}

.wheel-canvas {
    border-radius: 50%;
    box-shadow: 0 0 40px rgba(253, 233, 78, .3)
}

.wheel-pointer {
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 24px solid var(--clr-primary);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .4))
}

.wheel-result {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(253, 233, 78, .4);
    border-radius: var(--radius-md);
    padding: 20px 32px;
    color: #fff;
    display: none;
    animation: fadeInUp .4s ease
}

.wheel-result.show {
    display: block
}

.wheel-result__win {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--clr-primary);
    margin-bottom: 8px
}

.wheel-result__text {
    color: rgba(255, 255, 255, .8);
    margin-bottom: 16px
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.content-review {
    background: #fff;
    padding: 48px 0
}

.content-review__inner {
    display: grid;
    grid-template-columns:3fr 1fr;
    gap: 40px;
    align-items: start
}

.review-text {
    font-size: 1rem;
    color: var(--clr-text-light)
}

.review-text h2, .review-text h3 {
    color: var(--clr-secondary);
    margin-top: 1.5rem;
    margin-bottom: .75rem
}

.review-text p {
    margin-bottom: 1rem
}

.review-text ul, .review-text ol {
    padding-left: 1.5rem;
    margin-bottom: 1rem
}

.review-text ul li, .review-text ol li {
    margin-bottom: .5rem;
    list-style: disc
}

.review-text ol li {
    list-style: decimal
}

.review-text table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    overflow-x: auto;
    display: block
}

.review-text table th {
    background: var(--clr-secondary);
    color: #fff;
    padding: 10px 14px;
    text-align: left
}

.review-text table td {
    padding: 9px 14px;
    border: 1px solid var(--clr-border)
}

.review-text table tr:nth-child(even) td {
    background: #f9f9f9
}

.review-text a {
    color: #0066cc;
    text-decoration: underline
}

.review-sidebar {
}

.author-card {
    background: var(--clr-card);
    border-radius: var(--radius-md);
    padding: 24px;
    box-shadow: var(--shadow-sm);
    text-align: center
}

.author-card__img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 14px;
    border: 3px solid var(--clr-primary)
}

.author-card__name {
    font-weight: 700;
    font-size: 1.05rem;
    margin-bottom: 4px
}

.author-card__role {
    font-size: .82rem;
    color: var(--clr-text-light);
    margin-bottom: 12px
}

.author-card__bio {
    font-size: .85rem;
    color: var(--clr-text-light);
    margin-bottom: 14px;
    line-height: 1.6
}

.author-card__links {
    display: flex;
    justify-content: center;
    gap: 10px
}

.author-card__link {
    background: var(--clr-secondary);
    color: #fff;
    padding: 6px 14px;
    border-radius: var(--radius-sm);
    font-size: .8rem
}

.faq {
    padding: 48px 0;
    background: var(--clr-bg)
}

.faq__list {
    display: grid;
    gap: 12px;
    max-width: 800px;
    margin: 0 auto
}

.faq-item {
    background: #fff;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm)
}

.faq-item__q {
    padding: 18px 22px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    user-select: none
}

.faq-item__q::after {
    content: '+';
    font-size: 1.4rem;
    color: var(--clr-primary);
    transition: transform .3s;
    flex-shrink: 0
}

.faq-item.open .faq-item__q::after {
    transform: rotate(45deg)
}

.faq-item__a {
    padding: 0 22px;
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease, padding .3s ease;
    font-size: .95rem;
    color: var(--clr-text-light)
}

.faq-item.open .faq-item__a {
    max-height: 400px;
    padding: 0 22px 18px
}

.promo-accent {
    background: linear-gradient(135deg, #2B2A28, #444);
    border-radius: var(--radius-lg);
    padding: 36px;
    text-align: center;
    color: #fff;
    margin: 32px 0
}

.promo-accent__label {
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(255, 255, 255, .6);
    margin-bottom: 8px
}

.promo-accent__code {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--clr-primary);
    letter-spacing: .15em;
    font-family: monospace;
    cursor: pointer;
    border: 2px dashed rgba(253, 233, 78, .5);
    padding: 10px 28px;
    border-radius: var(--radius-sm);
    display: inline-block;
    transition: background .2s
}

.promo-accent__code:hover {
    background: rgba(253, 233, 78, .1)
}

.promo-accent p {
    color: rgba(255, 255, 255, .75);
    margin-top: 12px;
    font-size: .9rem
}

.table-compare {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    overflow-x: auto;
    display: block
}

.table-compare th {
    background: var(--clr-secondary);
    color: #fff;
    padding: 12px 16px;
    text-align: left;
    white-space: nowrap
}

.table-compare td {
    padding: 11px 16px;
    border: 1px solid var(--clr-border);
    vertical-align: middle
}

.table-compare tr:nth-child(even) td {
    background: #f9f9f9
}

.table-compare td:first-child {
    font-weight: 600
}

.badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: .78rem;
    font-weight: 700
}

.badge--green {
    background: #d4edda;
    color: #155724
}

.badge--yellow {
    background: #fff3cd;
    color: #856404
}

.badge--red {
    background: #f8d7da;
    color: #721c24
}

.mirror-table-wrap {
    overflow-x: auto
}

.mirror-table {
    width: 100%;
    border-collapse: collapse
}

.mirror-table th {
    background: var(--clr-secondary);
    color: #fff;
    padding: 12px 16px;
    text-align: left
}

.mirror-table td {
    padding: 11px 16px;
    border: 1px solid var(--clr-border)
}

.mirror-table tr:nth-child(even) td {
    background: #f9f9f9
}

.mirror-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: #27ae60
}

.mirror-status::before {
    content: '';
    width: 8px;
    height: 8px;
    background: #27ae60;
    border-radius: 50%;
    display: inline-block
}

.mirror-timestamp {
    font-size: .82rem;
    color: var(--clr-text-light);
    margin-top: 8px
}

.mirror-actions {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 16px;
    margin: 24px 0
}

.mirror-action-card {
    background: var(--clr-card);
    border-radius: var(--radius-md);
    padding: 24px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    border-top: 3px solid var(--clr-primary)
}

.mirror-action-card .icon {
    font-size: 2rem;
    margin-bottom: 10px
}

.mirror-action-card h3 {
    font-size: 1rem;
    margin-bottom: 8px
}

.mirror-action-card p {
    font-size: .85rem;
    color: var(--clr-text-light);
    margin-bottom: 14px
}

.download-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 24px 0
}

.download-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--clr-secondary);
    color: #fff;
    padding: 12px 22px;
    border-radius: var(--radius-md);
    transition: transform .2s, box-shadow .2s;
    min-width: 180px
}

.download-btn:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow);
    opacity: 1
}

.download-btn__icon {
    font-size: 1.8rem;
    flex-shrink: 0
}

.download-btn__text small {
    display: block;
    font-size: .72rem;
    opacity: .7;
    margin-bottom: 2px
}

.download-btn__text strong {
    font-size: 1rem
}

.download-btn--apk {
    background: linear-gradient(135deg, #e65c00, #f9d423);
    color: #1a1a1a
}

.download-btn--ios {
    background: linear-gradient(135deg, #141414, #3a3a3a)
}

.download-btn--android {
    background: linear-gradient(135deg, #a8e063, #56ab2f);
    color: #1a1a1a
}

.tech-specs {
    background: #fff;
    border-radius: var(--radius-md);
    padding: 24px;
    box-shadow: var(--shadow-sm);
    margin: 24px 0
}

.tech-specs h3 {
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--clr-primary)
}

.tech-specs__grid {
    display: grid;
    grid-template-columns:repeat(2, 1fr);
    gap: 16px
}

.tech-spec-item {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.tech-spec-item__label {
    font-size: .8rem;
    color: var(--clr-text-light);
    text-transform: uppercase;
    letter-spacing: .05em
}

.tech-spec-item__value {
    font-weight: 700;
    font-size: .95rem
}

.slots-grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 20px
}

.slot-card {
    background: #fff;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform .2s
}

.slot-card:hover {
    transform: translateY(-4px)
}

.slot-card__img {
    aspect-ratio: 4/3;
    background: linear-gradient(135deg, #1a1a2e, #16213e);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem
}

.slot-card__body {
    padding: 16px
}

.slot-card__name {
    font-weight: 700;
    margin-bottom: 4px
}

.slot-card__provider {
    font-size: .82rem;
    color: var(--clr-text-light);
    margin-bottom: 12px
}

.providers-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 24px 0
}

.provider-badge {
    background: #fff;
    border: 2px solid var(--clr-border);
    border-radius: var(--radius-sm);
    padding: 10px 20px;
    font-weight: 700;
    font-size: .9rem;
    transition: border-color .2s, background .2s
}

.provider-badge:hover {
    border-color: var(--clr-primary);
    background: linear-gradient(135deg, #fffde7, #fff)
}

.features-grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 20px;
    margin: 24px 0
}

.feature-item {
    background: #fff;
    border-radius: var(--radius-md);
    padding: 22px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    transition: transform .2s
}

.feature-item:hover {
    transform: translateY(-3px)
}

.feature-item__icon {
    font-size: 2.2rem;
    margin-bottom: 10px
}

.feature-item__name {
    font-weight: 700;
    font-size: .95rem
}

.toc {
    background: #fff;
    border-radius: var(--radius-md);
    padding: 24px;
    box-shadow: var(--shadow-sm);
    margin: 24px 0;
    border-left: 4px solid var(--clr-primary)
}

.toc h3 {
    margin-bottom: 14px
}

.toc ol {
    padding-left: 1.5rem
}

.toc li {
    margin-bottom: 8px
}

.toc a {
    color: #0066cc;
    text-decoration: underline;
    font-size: .95rem
}

.reg-methods {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    gap: 16px;
    margin: 24px 0
}

.reg-method {
    background: #fff;
    border-radius: var(--radius-md);
    padding: 20px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    border-top: 3px solid transparent;
    transition: border-color .2s
}

.reg-method:hover {
    border-color: var(--clr-primary)
}

.reg-method__icon {
    font-size: 2rem;
    margin-bottom: 10px
}

.reg-method__title {
    font-weight: 700;
    font-size: .9rem;
    margin-bottom: 6px
}

.reg-method__desc {
    font-size: .82rem;
    color: var(--clr-text-light)
}

.bonus-signup {
    background: linear-gradient(135deg, #FDE94E 0%, #f0b800 100%);
    border-radius: var(--radius-lg);
    padding: 36px;
    text-align: center;
    margin: 32px 0
}

.bonus-signup h2 {
    color: var(--clr-secondary);
    margin-bottom: 8px
}

.bonus-signup .amount {
    font-size: 3rem;
    font-weight: 700;
    color: var(--clr-secondary);
    display: block;
    margin: 12px 0
}

.bonus-signup p {
    color: var(--clr-secondary);
    opacity: .8;
    margin-bottom: 20px;
    font-size: .95rem
}

.footer {
    background: var(--clr-secondary);
    color: #fff;
    padding: 48px 0 24px
}

.footer__inner {
    display: grid;
    grid-template-columns:2fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px
}

.footer__logo img {
    height: 42px;
    margin-bottom: 16px;
    filter: brightness(0) invert(1)
}

.footer__desc {
    font-size: .88rem;
    color: rgba(255, 255, 255, .65);
    line-height: 1.7;
    margin-bottom: 16px
}

.footer__nav h4 {
    color: var(--clr-primary);
    margin-bottom: 12px;
    font-size: .9rem;
    text-transform: uppercase;
    letter-spacing: .06em
}

.footer__nav ul {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.footer__nav a {
    color: rgba(255, 255, 255, .7);
    font-size: .88rem;
    transition: color .2s
}

.footer__nav a:hover {
    color: var(--clr-primary);
    opacity: 1
}

.footer__payments {
    margin-top: 24px
}

.footer__payments h4 {
    color: var(--clr-primary);
    margin-bottom: 14px;
    font-size: .9rem;
    text-transform: uppercase
}

.payments-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px
}

.payment-badge, .provider-small {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 6px;
    padding: 6px 12px;
    font-size: .78rem;
    color: rgba(255, 255, 255, .8);
    font-weight: 600
}

.footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: 20px;
    display: grid;
    grid-template-columns:1fr auto;
    align-items: center;
    gap: 20px
}

.footer__legal {
    font-size: .8rem;
    color: rgba(255, 255, 255, .5);
    line-height: 1.6
}

.footer__legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.footer__legal-links a {
    font-size: .8rem;
    color: rgba(255, 255, 255, .5);
    transition: color .2s
}

.footer__legal-links a:hover {
    color: var(--clr-primary);
    opacity: 1
}

.widget-sticky {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: linear-gradient(90deg, #2B2A28 0%, #444 100%);
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, .3);
    transform: translateY(100%);
    transition: transform .5s cubic-bezier(.34, 1.56, .64, 1)
}

.widget-sticky.visible {
    transform: translateY(0)
}

.widget-sticky__text {
    color: #fff;
    font-size: .9rem;
    font-weight: 600;
    flex: 1
}

.widget-sticky__text span {
    color: var(--clr-primary)
}

.widget-sticky__close {
    background: none;
    border: none;
    color: rgba(255, 255, 255, .5);
    font-size: 1.4rem;
    cursor: pointer;
    padding: 4px 8px;
    line-height: 1;
    flex-shrink: 0
}

.section-title {
    text-align: center;
    margin-bottom: 36px
}

.section-title h2 {
    margin-bottom: 8px
}

.section-title p {
    color: var(--clr-text-light);
    font-size: 1rem;
    max-width: 600px;
    margin: 0 auto
}

.official-link-block {
    background: linear-gradient(135deg, #27ae60, #2ecc71);
    border-radius: var(--radius-lg);
    padding: 32px;
    text-align: center;
    color: #fff;
    margin: 24px 0
}

.official-link-block h3 {
    font-size: 1.4rem;
    margin-bottom: 8px
}

.official-link-block p {
    opacity: .85;
    margin-bottom: 18px
}

.tech-page {
    padding: 48px 0
}

.tech-page h1 {
    margin-bottom: 24px
}

.tech-page h2 {
    margin-top: 32px;
    margin-bottom: 12px;
    color: var(--clr-secondary);
    border-bottom: 2px solid var(--clr-primary);
    padding-bottom: 6px
}

.tech-page h3 {
    margin-top: 20px;
    margin-bottom: 8px
}

.tech-page p {
    margin-bottom: 12px;
    color: var(--clr-text-light)
}

.tech-page ul, .tech-page ol {
    padding-left: 1.5rem;
    margin-bottom: 16px
}

.tech-page li {
    margin-bottom: 6px;
    color: var(--clr-text-light)
}

.slider-wrapper {
    position: relative;
    overflow: hidden
}

.slider-track {
    display: flex;
    transition: transform .5s ease;
    gap: 24px
}

.slider-nav {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px
}

.slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--clr-border);
    border: none;
    cursor: pointer;
    transition: background .3s
}

.slider-dot.active {
    background: var(--clr-primary)
}

.x6b2a {
    display: none
}

.k9p3m {
    visibility: hidden;
    height: 0;
    overflow: hidden
}

.m4q7r {
}

.ixgfs {
    background: #fff;
    border: 2px solid #FDE94E;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
    margin: 24px 0;
    overflow: hidden;
}

.ixgfs h2,
.ixgfs h3 {
    color: #2B2A28;
    margin-bottom: 12px;
    font-weight: 700;
}

.ixgfs p {
    color: #555;
    line-height: 1.7;
    margin-bottom: 12px;
}

.ixgfs img {
    width: 100%;
    border-radius: 12px;
}

.ixgfs ul,
.ixgfs ol {
    padding-left: 20px;
    margin: 12px 0;
}

.ixgfs li {
    margin-bottom: 8px;
}

.ixgfs table {
    width: 100%;
    border-collapse: collapse;
    display: block;
    overflow-x: auto;
}

.ixgfs table th {
    background: #2B2A28;
    color: #FDE94E;
    padding: 10px 14px;
}

.ixgfs table td {
    padding: 10px 14px;
    border: 1px solid #e5e7eb;
}

.bonuses-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 32px;
}

.bonus-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    border: 2px solid #f3d83b;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    transition: .25s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.bonus-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
}

.bonus-card__header {
    background: linear-gradient(135deg, #2b2a28, #444);
    padding: 28px 20px;
    text-align: center;
    color: #fff;
}

.bonus-card__icon {
    font-size: 52px;
    margin-bottom: 12px;
    line-height: 1;
}

.bonus-card__title {
    font-size: 24px;
    font-weight: 800;
    color: #f3d83b;
    line-height: 1.25;
}

.bonus-card__body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.bonus-card__amount {
    font-size: 42px;
    font-weight: 900;
    color: #2b2a28;
    margin-bottom: 12px;
    line-height: 1;
}

.bonus-card__desc {
    font-size: 16px;
    line-height: 1.65;
    color: #666;
    margin-bottom: 20px;
    flex: 1;
}

.bonus-card .btn {
    width: 100%;
    justify-content: center;
    margin-bottom: 16px;
    min-height: 48px;
    font-weight: 700;
}

.bonus-card__terms {
    padding-top: 14px;
    border-top: 1px solid #ececec;
    font-size: 13px;
    color: #777;
    line-height: 1.5;
}

.slots-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 24px;
    margin-top: 32px;
}

.slot-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    border: 2px solid #f3d83b;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    transition: .25s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.slot-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .14);
}

.slot-card__img {
    height: 135px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 56px;
    border-bottom: 1px solid #eee;
}

.slot-card__body {
    padding: 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.slot-card__name {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
    color: #2B2A28;
    margin-bottom: 8px;
}

.slot-card__provider {
    font-size: 15px;
    color: #666;
    margin-bottom: 20px;
    flex: 1;
}

.slot-card .btn {
    width: 100%;
    min-height: 46px;
    justify-content: center;
    font-size: 15px;
    font-weight: 800;
}

.providers-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 22px;
}

.provider-badge {
    background: #fff;
    border: 2px solid #f3d83b;
    border-radius: 999px;
    padding: 11px 20px;
    font-size: 15px;
    font-weight: 800;
    color: #2B2A28;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
    transition: .2s ease;
}

.provider-badge:hover {
    background: #FDE94E;
    transform: translateY(-2px);
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.feature-item {
    background: #fff;
    border: 2px solid #f3d83b;
    border-radius: 18px;
    padding: 26px 18px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .07);
    transition: .25s ease;
}

.feature-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .12);
}

.feature-item__icon {
    font-size: 42px;
    margin-bottom: 12px;
}

.feature-item__name {
    font-size: 17px;
    font-weight: 800;
    color: #2B2A28;
}


/* ============================================
   RESPONSIVE: Tablet (max-width: 1024px)
   ============================================ */
@media (max-width: 1024px) {
    .grid-3 {
        grid-template-columns: repeat(2, 1fr)
    }

    .bonuses-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .slots-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .video-section__inner {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .features-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .reg-methods {
        grid-template-columns: repeat(2, 1fr)
    }

    .footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 28px
    }

    .jackpots__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .mirror-actions {
        grid-template-columns: repeat(2, 1fr)
    }

    .content-review__inner {
        grid-template-columns: 1fr
    }

    .review-sidebar {
        display: flex;
        gap: 24px;
        flex-wrap: wrap
    }

    .review-sidebar > * {
        flex: 1;
        min-width: 220px
    }
}

/* ============================================
   RESPONSIVE: Mobile (max-width: 768px)
   ============================================ */
@media (max-width: 768px) {
    /* --- Section spacing --- */
    .section {
        padding: 36px 0
    }

    .section--sm {
        padding: 20px 0
    }

    .container {
        padding: 0 16px
    }

    /* --- Header / Burger / Nav --- */
    .header__inner {
        grid-template-columns: auto 1fr auto;
        gap: 8px;
        padding: 10px 16px
    }

    .header__logo img {
        height: 36px
    }

    .header__nav {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(255, 255, 255, .97);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 16px;
        z-index: 9999;
        font-size: 1.1rem;
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px)
    }

    .header__nav.open {
        display: flex
    }

    .header__nav a {
        font-size: 1.15rem;
        padding: 12px 24px
    }

    .burger {
        display: flex;
        z-index: 10000
    }

    .header__actions {
        gap: 6px;
        justify-content: flex-end
    }

    .header__actions .btn--outline {
        display: none
    }

    .header__online {
        display: none
    }

    /* --- Hero / Slider --- */
    .hero__slider {
        min-height: 320px
    }

    .hero__slide-content {
        padding: 36px 20px;
        max-width: 100%
    }

    .hero__slide-content h1 {
        font-size: clamp(1.4rem, 6vw, 2rem);
        margin-bottom: .75rem
    }

    .hero__slide-content h2 {
        font-size: clamp(1.3rem, 5vw, 1.8rem) !important
    }

    .hero__slide-content p {
        font-size: .95rem;
        margin-bottom: 1.2rem
    }

    .hero__slide-content .btn--lg {
        padding: 12px 28px;
        font-size: 1rem
    }

    .hero__prev,
    .hero__next {
        width: 36px;
        height: 36px;
        font-size: 1.1rem
    }

    .hero__prev {
        left: 10px
    }

    .hero__next {
        right: 10px
    }

    .hero__dots {
        bottom: 12px
    }

    /* --- Grids single column --- */
    .grid-2,
    .grid-3,
    .jackpots__grid,
    .footer__inner,
    .mirror-actions,
    .tech-specs__grid {
        grid-template-columns: 1fr
    }

    .grid-4 {
        grid-template-columns: repeat(2, 1fr)
    }

    /* --- Jackpots --- */
    .jackpots {
        padding: 28px 0
    }

    .jackpots__title {
        font-size: 1.35rem;
        margin-bottom: 18px
    }

    .jackpots__grid {
        gap: 12px
    }

    .jackpot-card {
        padding: 20px 16px
    }

    .jackpot-card__amount {
        font-size: 1.5rem
    }

    /* --- Video Section --- */
    .video-section {
        padding: 36px 0
    }

    .video-section__inner {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .video-section__text h2 {
        font-size: 1.3rem
    }

    .video-section__embed {
        border-radius: var(--radius-sm)
    }

    /* --- Bonuses Grid -> horizontal scroll --- */
    .bonuses-grid {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
        scrollbar-width: none
    }

    .bonuses-grid::-webkit-scrollbar {
        display: none
    }

    .bonus-card {
        min-width: 280px;
        max-width: 280px;
        scroll-snap-align: start;
        flex-shrink: 0
    }

    .bonus-card__header {
        padding: 22px 16px
    }

    .bonus-card__title {
        font-size: 1.1rem
    }

    .bonus-card__amount {
        font-size: 1.8rem
    }

    .bonus-card__body {
        padding: 18px
    }

    .bonus-card__desc {
        font-size: .88rem
    }

    .slots-grid {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 10px;
        scrollbar-width: none
    }

    .slots-grid::-webkit-scrollbar {
        display: none
    }

    .slot-card {
        min-width: 240px;
        max-width: 260px;
        scroll-snap-align: start;
        flex-shrink: 0
    }

    .slot-card__img {
        height: 120px;
        font-size: 2.5rem
    }

    .slot-card__body {
        padding: 16px
    }

    .slot-card__name {
        font-size: 1.1rem
    }

    .slot-card__provider {
        font-size: .82rem;
        margin-bottom: 10px
    }

    .providers-grid {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
        scrollbar-width: none
    }

    .providers-grid::-webkit-scrollbar {
        display: none
    }

    .provider-badge {
        flex: 0 0 auto;
        font-size: .85rem;
        padding: 10px 16px
    }


    .features-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px
    }

    .feature-item {
        padding: 20px 12px;
        border-radius: var(--radius-sm)
    }

    .feature-item__icon {
        font-size: 2rem;
        margin-bottom: 8px
    }

    .feature-item__name {
        font-size: .88rem
    }

    /**/
    .wheel-section {
        padding: 40px 0
    }

    .wheel-section h2 {
        font-size: 1.3rem
    }

    .wheel-container {
        width: 240px;
        height: 240px
    }

    .wheel-result {
        padding: 16px 20px;
        margin: 0 10px
    }

    .wheel-result__win {
        font-size: 1.15rem
    }

    .wheel-result__text {
        font-size: .9rem
    }

    .content-review {
        padding: 36px 0
    }

    .content-review__inner {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .review-sidebar {
        display: flex;
        flex-direction: column;
        gap: 16px
    }

    .review-text h2 {
        font-size: 1.25rem
    }

    .review-text table {
        font-size: .85rem
    }

    .review-text table th,
    .review-text table td {
        padding: 8px 10px
    }

    .ixgfs {
        padding: 18px;
        margin: 16px 0;
        border-radius: 12px
    }

    .ixgfs h2 {
        font-size: 1.25rem
    }

    .ixgfs h3 {
        font-size: 1.1rem
    }

    .ixgfs table th,
    .ixgfs table td {
        padding: 8px 10px;
        font-size: .85rem;
        white-space: nowrap
    }

    .faq {
        padding: 36px 0
    }

    .faq-item__q {
        padding: 14px 16px;
        font-size: .95rem;
        gap: 12px
    }

    .faq-item__a {
        font-size: .9rem
    }

    .faq-item.open .faq-item__a {
        padding: 0 16px 14px
    }

    .reg-methods {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px
    }

    .reg-method {
        padding: 16px 14px
    }

    .reg-method__icon {
        font-size: 1.6rem;
        margin-bottom: 8px
    }

    .reg-method__title {
        font-size: .85rem
    }

    .reg-method__desc {
        font-size: .78rem
    }

    .bonus-signup {
        padding: 28px 20px;
        border-radius: var(--radius-md);
        margin: 24px 0
    }

    .bonus-signup h2 {
        font-size: 1.3rem
    }

    .bonus-signup .amount {
        font-size: 2.2rem;
        margin: 8px 0
    }

    .bonus-signup p {
        font-size: .88rem
    }

    .promo-accent {
        padding: 28px 20px;
        border-radius: var(--radius-md);
        margin: 24px 0
    }

    .promo-accent__code {
        font-size: 1.5rem;
        padding: 8px 20px;
        letter-spacing: .1em
    }

    .promo-accent p {
        font-size: .85rem
    }

    /* ---  --- */
    .toc {
        padding: 18px;
        margin: 16px 0
    }

    .toc h3 {
        font-size: 1rem;
        margin-bottom: 10px
    }

    .toc a {
        font-size: .88rem
    }

    /* ---  --- */
    .table-compare,
    .mirror-table {
        font-size: .85rem
    }

    .table-compare th,
    .table-compare td,
    .mirror-table th,
    .mirror-table td {
        padding: 9px 10px;
        white-space: nowrap
    }

    .mirror-table-wrap {
        margin: 0 -16px;
        padding: 0 16px
    }

    .download-btns {
        flex-direction: column;
        gap: 10px
    }

    .download-btn {
        width: 100%;
        min-width: unset;
        padding: 14px 20px
    }

    .tech-specs {
        padding: 18px;
        margin: 16px 0
    }

    .tech-specs h3 {
        font-size: 1rem
    }

    .tech-specs__grid {
        grid-template-columns: 1fr;
        gap: 12px
    }

    /* --- Mirror Actions --- */
    .mirror-actions {
        gap: 12px
    }

    .mirror-action-card {
        padding: 20px 16px
    }

    .mirror-action-card .icon {
        font-size: 1.6rem
    }

    .mirror-action-card h3 {
        font-size: .95rem
    }

    .mirror-action-card p {
        font-size: .82rem;
        margin-bottom: 12px
    }

    .official-link-block {
        padding: 24px 18px;
        border-radius: var(--radius-md)
    }

    .official-link-block h3 {
        font-size: 1.15rem
    }

    .official-link-block p {
        font-size: .88rem
    }

    /* --- - */
    .author-card {
        padding: 20px
    }

    /* ---   --- */
    .section-title {
        margin-bottom: 24px
    }

    .section-title h2 {
        font-size: 1.3rem
    }

    .section-title p {
        font-size: .9rem
    }

    /* ---  --- */
    .footer {
        padding: 36px 0 20px
    }

    .footer__inner {
        grid-template-columns: 1fr;
        gap: 28px;
        margin-bottom: 28px
    }

    .footer__logo img {
        height: 36px
    }

    .footer__desc {
        font-size: .84rem
    }

    .footer__nav h4 {
        font-size: .85rem
    }

    .footer__nav a {
        font-size: .84rem
    }

    .payments-row {
        gap: 6px
    }

    .payment-badge,
    .provider-small {
        font-size: .72rem;
        padding: 5px 10px
    }

    .footer__bottom {
        grid-template-columns: 1fr;
        gap: 14px;
        text-align: center
    }

    .footer__legal {
        font-size: .75rem
    }

    .footer__legal-links {
        justify-content: center;
        gap: 10px
    }

    .footer__legal-links a {
        font-size: .75rem
    }

    /* ---   --- */
    .widget-sticky {
        padding: 10px 14px;
        gap: 10px;
        flex-wrap: nowrap;
        align-items: center
    }

    .widget-sticky__text {
        font-size: .8rem;
        line-height: 1.3
    }

    .widget-sticky .btn {
        font-size: .78rem;
        padding: 8px 14px;
        flex-shrink: 0;
        white-space: nowrap
    }

    .widget-sticky__close {
        font-size: 1.2rem;
        padding: 2px 6px
    }

    .breadcrumbs {
        padding: 10px 0;
        font-size: .82rem
    }

    .btn--lg {
        padding: 12px 28px;
        font-size: 1rem
    }

    .tech-page {
        padding: 32px 0
    }

    .tech-page h1 {
        font-size: 1.4rem;
        margin-bottom: 18px
    }

    .tech-page h2 {
        margin-top: 24px;
        font-size: 1.15rem
    }

    .tech-page h3 {
        font-size: 1rem
    }

    .tech-page p {
        font-size: .92rem
    }

    .bonuses-slider-mobile .slider-nav,
    .slots-slider-mobile .slider-nav {
        display: flex !important;
        margin-top: 12px
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 12px
    }

    .header__inner {
        padding: 8px 12px
    }

    .header__logo img {
        height: 32px
    }

    .header__actions {
        gap: 4px
    }

    .header__actions .btn {
        padding: 7px 12px;
        font-size: .78rem
    }

    .hero__slider {
        min-height: 270px
    }

    .hero__slide-content {
        padding: 28px 16px
    }

    .hero__slide-content h1 {
        font-size: 1.25rem
    }

    .hero__slide-content p {
        font-size: .88rem;
        margin-bottom: 1rem
    }

    .hero__slide-content .btn--lg {
        padding: 10px 22px;
        font-size: .92rem
    }

    .hero__prev,
    .hero__next {
        width: 32px;
        height: 32px;
        font-size: .95rem
    }

    /* ---  --- */
    .grid-4,
    .features-grid {
        grid-template-columns: 1fr
    }

    .reg-methods {
        grid-template-columns: 1fr
    }

    .bonus-card {
        min-width: 260px;
        max-width: 260px
    }

    .bonus-card__amount {
        font-size: 1.6rem
    }

    .slot-card {
        min-width: 220px;
        max-width: 240px
    }

    /* --- Jackpots --- */
    .jackpot-card {
        padding: 16px 12px
    }

    .jackpot-card__amount {
        font-size: 1.3rem
    }

    .jackpot-card__name {
        font-size: .82rem
    }

    /* --- Wheel --- */
    .wheel-container {
        width: 220px;
        height: 220px
    }

    .wheel-section h2 {
        font-size: 1.15rem
    }

    .wheel-section .subtitle {
        font-size: .88rem
    }

    /* --- Promo --- */
    .promo-accent {
        padding: 22px 16px
    }

    .promo-accent__code {
        font-size: 1.25rem;
        padding: 8px 16px
    }

    /* --- Bonus Signup --- */
    .bonus-signup {
        padding: 24px 16px
    }

    .bonus-signup .amount {
        font-size: 1.8rem
    }

    .bonus-signup h2 {
        font-size: 1.15rem
    }

    /* --- Section Title --- */
    .section-title h2 {
        font-size: 1.15rem
    }

    .section-title p {
        font-size: .85rem
    }

    .widget-sticky {
        padding: 8px 10px;
        gap: 8px
    }

    .widget-sticky__text {
        font-size: .75rem
    }

    .widget-sticky .btn {
        padding: 7px 12px;
        font-size: .72rem
    }

    /* --- Footer --- */
    .footer__bottom {
        padding-top: 14px
    }

    .footer__legal-links {
        gap: 8px
    }

    .tech-page h1 {
        font-size: 1.2rem
    }

    .download-btn {
        padding: 12px 16px
    }

    .download-btn__icon {
        font-size: 1.5rem
    }

    .download-btn__text strong {
        font-size: .92rem
    }

    .table-compare th,
    .table-compare td,
    .mirror-table th,
    .mirror-table td {
        padding: 7px 8px;
        font-size: .8rem
    }

    .mirror-actions {
        grid-template-columns: 1fr
    }

    .official-link-block {
        padding: 20px 14px
    }

    .official-link-block h3 {
        font-size: 1.05rem
    }

    .ixgfs {
        padding: 14px;
        border-radius: 10px;
        margin: 12px 0
    }

    .ixgfs h2 {
        font-size: 1.1rem
    }

    .ixgfs h3 {
        font-size: 1rem
    }

    .ixgfs p {
        font-size: .9rem
    }

    .ixgfs table th,
    .ixgfs table td {
        padding: 6px 8px;
        font-size: .8rem
    }
}

@media (max-width: 360px) {
    .hero__slider {
        min-height: 240px
    }

    .hero__slide-content {
        padding: 24px 12px
    }

    .hero__slide-content h1 {
        font-size: 1.1rem
    }

    .hero__prev,
    .hero__next {
        display: none
    }

    .header__actions .btn--dark {
        display: none
    }

    .bonus-card {
        min-width: 240px;
        max-width: 240px
    }

    .slot-card {
        min-width: 200px;
        max-width: 220px
    }

    .wheel-container {
        width: 200px;
        height: 200px
    }

    .promo-accent__code {
        font-size: 1.1rem;
        letter-spacing: .06em
    }

    .bonus-signup .amount {
        font-size: 1.5rem
    }

    .widget-sticky__text span {
        display: inline
    }
}

.bonuses-grid::-webkit-scrollbar,
.slots-grid::-webkit-scrollbar,
.providers-grid::-webkit-scrollbar {
    display: none
}

.bonuses-grid,
.slots-grid,
.providers-grid {
    scrollbar-width: none;
    -ms-overflow-style: none
}

@media (hover: none) {
    .bonus-card:hover,
    .slot-card:hover,
    .card:hover,
    .feature-item:hover,
    .provider-badge:hover,
    .mirror-action-card:hover {
        transform: none;
        box-shadow: inherit
    }

    .btn:hover {
        transform: none
    }
}

.bonuses-slider-mobile {
    width: 100%;
    overflow: hidden;
}

.bonuses-slider-mobile .bonuses-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px;
    width: 100%;
    transform: none !important;
}

.bonuses-slider-mobile .bonus-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
}

@media (max-width: 768px) {
    .bonuses-slider-mobile {
        width: 100%;
        overflow: hidden;
    }

    .bonuses-slider-mobile .bonuses-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px;
        width: 100%;
        overflow: visible !important;
        transform: none !important;
        padding: 0;
    }

    .bonuses-slider-mobile .bonus-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: none !important;
    }

    .bonus-card__header {
        padding: 20px 14px;
    }

    .bonus-card__body {
        padding: 18px 14px;
    }

    .bonus-card__title {
        font-size: 18px;
    }

    .bonus-card__amount {
        font-size: 30px;
    }

    .bonus-card__desc,
    .bonus-card__terms {
        font-size: 13px;
    }
}

@media (max-width: 768px) {

    .container {
        width: 100%;
        max-width: 100%;
        padding: 0 12px;
    }

    .bonuses-grid,
    .slots-grid,
    .providers-grid,
    .features-grid,
    .reg-methods,
    .mirror-options,
    .advantages-grid,
    .advantages-reg,
    .app-requirements,
    .alternatives-grid,
    .games-grid,
    .payments-grid,
    .jackpots-grid,
    .promo-grid,
    .steps-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100% !important;
        transform: none !important;
        overflow: visible !important;
    }

    .bonus-card,
    .slot-card,
    .provider-card,
    .feature-item,
    .reg-method,
    .payment-card,
    .jackpot-card,
    .promo-card,
    .step-item,
    .advantage-card,
    .game-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: none !important;
        margin: 0 !important;
    }

    .slider-track,
    .swiper-wrapper,
    .carousel-track {
        display: grid !important;
        grid-template-columns: 1fr !important;
        transform: none !important;
        overflow: visible !important;
        gap: 14px !important;
    }

    .hero-buttons,
    .action-buttons,
    .cta-buttons {
        flex-direction: column;
        gap: 10px;
    }

    .hero-buttons .btn,
    .btn--lg,
    .btn--xl {
        width: 100%;
    }

    .table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    table {
        min-width: 600px;
    }
}

@media (max-width: 768px) {
    html,
    body {
        width: 100%;
        overflow-x: hidden;
    }

    .wrapper,
    main,
    .section,
    .section--sm,
    .container {
        width: 100%;
        max-width: 100%;
    }

    .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .hero,
    .hero__slider {
        min-height: 280px !important;
    }

    .hero__slide {
        min-height: 280px;
    }

    .hero__slide-content {
        width: 100%;
        max-width: 100%;
        padding: 34px 16px;
    }

    .hero__slide-content h1,
    .hero__slide-content h2 {
        font-size: 24px !important;
        line-height: 1.15;
    }

    .hero__slide-content p {
        font-size: 14px;
        line-height: 1.45;
    }

    .hero__slide-content .btn,
    .promo-accent .btn,
    .official-link-block .btn,
    .bonus-signup .btn {
        width: 100%;
        white-space: normal;
        text-align: center;
    }

    .hero__prev,
    .hero__next,
    .hero__dots {
        display: none;
    }

    .toc,
    .promo-accent,
    .official-link-block,
    .bonus-signup,
    .ixgfs,
    .author-card,
    .faq,
    .mirror-table-wrap {
        width: 100%;
        max-width: 100%;
        padding: 20px 14px;
        margin: 18px 0;
        border-radius: 14px;
        overflow: hidden;
    }

    .promo-accent__code {
        width: 100%;
        max-width: 100%;
        font-size: 22px;
        letter-spacing: .06em;
        padding: 12px 10px;
        word-break: break-word;
    }

    .bonus-signup .amount {
        font-size: 28px;
        line-height: 1.15;
        word-break: break-word;
    }

    .mirror-actions,
    .faq__list,
    .features-grid,
    .providers-grid,
    .reg-methods,
    .advantages-grid,
    .advantages-reg,
    .app-requirements,
    .alternatives-grid,
    .jackpots__grid,
    .tech-specs__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100%;
        max-width: 100%;
        overflow: visible !important;
        transform: none !important;
    }

    .mirror-action-card,
    .faq-item,
    .feature-item,
    .provider-badge,
    .reg-method,
    .advantage-card,
    .jackpot-card,
    .tech-specs,
    .toc {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .bonuses-slider-mobile,
    .slots-slider-mobile {
        width: 100%;
        max-width: 100%;
        overflow: visible !important;
    }

    .bonuses-slider-mobile .bonuses-grid,
    .slots-slider-mobile .slots-grid,
    .slider-track {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        transform: none !important;
    }

    .bonus-card,
    .slot-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        margin: 0 !important;
    }

    .bonus-card__header,
    .slot-card__img {
        min-height: 110px;
    }

    .bonus-card__title,
    .slot-card__name {
        font-size: 18px;
        line-height: 1.25;
    }

    .bonus-card__amount {
        font-size: 30px;
    }

    .bonus-card__body,
    .slot-card__body {
        padding: 16px 14px;
    }

    .mirror-table-wrap,
    .table-wrap,
    div[style*="overflow-x:auto"] {
        overflow-x: auto !important;
        overflow-y: hidden;
        padding: 0;
    }

    .mirror-table,
    .table-compare,
    .ixgfs table {
        min-width: 620px;
        width: 620px;
    }

    .mirror-table th,
    .mirror-table td,
    .table-compare th,
    .table-compare td,
    .ixgfs table th,
    .ixgfs table td {
        white-space: nowrap;
        font-size: 12px;
        padding: 8px 10px;
    }

    .faq-item__q {
        padding: 14px;
        font-size: 14px;
    }

    .faq-item__a {
        padding: 0 14px;
        font-size: 13px;
    }

    .faq-item.open .faq-item__a {
        padding: 0 14px 14px;
    }

    .widget-sticky {
        width: 100%;
        max-width: 100%;
        padding: 8px 10px;
        gap: 8px;
    }

    .widget-sticky__text {
        font-size: 11px;
        line-height: 1.3;
    }

    .widget-sticky .btn {
        padding: 7px 10px;
        font-size: 11px;
        white-space: normal;
    }
}

@media (max-width: 420px) {
    .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .hero,
    .hero__slider,
    .hero__slide {
        min-height: 250px !important;
    }

    .hero__slide-content {
        padding: 28px 14px;
    }

    .hero__slide-content h1,
    .hero__slide-content h2 {
        font-size: 21px !important;
    }

    .promo-accent__code {
        font-size: 18px;
    }

    .bonus-signup .amount {
        font-size: 24px;
    }

    .toc,
    .promo-accent,
    .official-link-block,
    .bonus-signup,
    .ixgfs,
    .author-card,
    .faq {
        padding: 16px 12px;
    }
}

@media (max-width: 768px) {
    .container {
        width: 100%;
        max-width: 100%;
        padding-left: 12px;
        padding-right: 12px;
        overflow: visible !important;
    }

    .section,
    main,
    .wrapper {
        overflow: visible !important;
    }

    .bonuses-slider-mobile {
        width: 100%;
        max-width: 100%;
        overflow: visible !important;
    }

    .bonuses-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 16px !important;
        overflow: visible !important;
        transform: none !important;
        padding: 0 !important;
    }

    .bonus-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        margin: 0 !important;
    }

    .bonus-card__header,
    .bonus-card__body {
        width: 100%;
    }

    .bonus-signup {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .bonus-signup .btn {
        width: 100%;
        max-width: 100%;
        white-space: normal;
    }
}

@media (max-width: 768px) {
    html,
    body {
        margin: 0;
        padding: 0;
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    .wrapper,
    main,
    .section,
    .section--sm,
    .container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .hero,
    .hero__slider,
    .hero__slide {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 260px !important;
        overflow: hidden !important;
    }

    .hero__slide-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 32px 14px !important;
    }

    .hero__slide-content h1,
    .hero__slide-content h2,
    .hero__slide-content p {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: break-word;
    }

    .hero__slide-content h1,
    .hero__slide-content h2 {
        font-size: 22px !important;
        line-height: 1.15 !important;
    }

    .hero__slide-content p {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    .btn,
    .btn--lg,
    .btn--xl {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        text-align: center !important;
        line-height: 1.25 !important;
    }

    .bonus-signup,
    .promo-accent,
    .official-link-block,
    .toc,
    .ixgfs,
    .author-card,
    .faq {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 18px 12px !important;
        margin: 16px 0 !important;
        overflow: hidden !important;
        border-radius: 14px !important;
    }

    .bonus-signup h2,
    .bonus-signup .amount,
    .bonus-signup p,
    .promo-accent__code,
    .promo-accent p {
        width: 100% !important;
        max-width: 100% !important;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .bonus-signup .amount {
        font-size: 24px !important;
        line-height: 1.15 !important;
    }

    .promo-accent__code {
        font-size: 18px !important;
        letter-spacing: 1px !important;
        padding: 12px 8px !important;
    }

    .bonuses-grid,
    .slots-grid,
    .mirror-actions,
    .features-grid,
    .providers-grid,
    .faq__list,
    .reg-methods,
    .jackpots__grid,
    .tech-specs__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 14px !important;
        overflow: visible !important;
        transform: none !important;
    }

    .slider-track {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
        overflow: visible !important;
    }

    .bonus-card,
    .slot-card,
    .mirror-action-card,
    .feature-item,
    .provider-badge,
    .faq-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        margin: 0 !important;
    }

    .bonus-card__header,
    .bonus-card__body,
    .slot-card__body {
        width: 100% !important;
        max-width: 100% !important;
    }

    .table-compare,
    .mirror-table,
    .ixgfs table {
        display: table !important;
        width: 620px !important;
        min-width: 620px !important;
        max-width: none !important;
    }

    .mirror-table-wrap,
    .table-wrap,
    div[style*="overflow-x:auto"] {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
    }

    .widget-sticky {
        width: 100% !important;
        max-width: 100% !important;
        left: 0 !important;
        right: 0 !important;
        padding: 8px 10px !important;
    }

    .widget-sticky__text {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    .widget-sticky .btn {
        width: auto !important;
        flex-shrink: 0;
        font-size: 11px !important;
        padding: 7px 10px !important;
    }
}
