.ave-main {
    /* padding-top: 116px; */
    min-height: calc(100vh - 116px)
}

@media (min-width: 768px) {
    .ave-main {
        padding-top: 116px;
    }
}

:root {
    --ave-c-primary: #8b5cf6;
    --ave-c-primary-dark: #7c3aed;
    --ave-c-accent: #f5d742;
    --ave-c-accent-dark: #eab308;
    --ave-c-gold: #f5d742;
    --ave-c-text: #ffffff;
    --ave-c-text-dark: #1f2937;
    --ave-c-text-muted: #a1a1aa;
    --ave-c-bg: #1a1a2e;
    --ave-c-bg-alt: #16213e;
    --ave-c-bg-card: #0f0f23;
    --ave-c-bg-light: #ffffff;
    --ave-c-border: rgba(255, 255, 255, .1);
    --ave-c-error: #ef4444;
    --ave-c-success: #10b981;
    --ave-font-family: "Montserrat", sans-serif;
    --ave-font-size-base: 16px;
    --ave-font-size-sm: 14px;
    --ave-font-size-lg: 18px;
    --ave-font-size-xl: 24px;
    --ave-font-size-2xl: 32px;
    --ave-font-size-3xl: 40px;
    --ave-line-height: 1.6;
    --ave-space-1: 4px;
    --ave-space-2: 8px;
    --ave-space-3: 12px;
    --ave-space-4: 16px;
    --ave-space-5: 20px;
    --ave-space-6: 24px;
    --ave-space-8: 32px;
    --ave-space-10: 40px;
    --ave-space-12: 48px;
    --ave-space-16: 64px;
    --ave-radius-sm: 4px;
    --ave-radius-md: 8px;
    --ave-radius-lg: 12px;
    --ave-radius-xl: 16px;
    --ave-radius-full: 9999px;
    --ave-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);
    --ave-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);
    --ave-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);
    --ave-shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);
    --ave-z-dropdown: 100;
    --ave-z-sticky: 200;
    --ave-z-modal: 300;
    --ave-z-toast: 400;
    --ave-transition: .2s ease-in-out;
    --ave-transition-slow: .3s ease-in-out
}

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

html {
    font-size: var(--ave-font-size-base);
    scroll-behavior: smooth
}

body {
    font-family: var(--ave-font-family);
    line-height: var(--ave-line-height);
    color: var(--ave-c-text);
    background: var(--ave-c-bg);
    background-image: url(/assets/images/ave-main-bg.png);
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

a {
    color: var(--ave-c-gold);
    text-decoration: none;
    transition: var(--ave-transition)
}

a:hover {
    color: #fff
}

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

ul,
ol {
    list-style: none
}

.ave-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--ave-space-4)
}

.ave-container--narrow {
    max-width: 800px
}

.ave-icon {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0
}

.ave-icon--sm {
    width: 16px;
    height: 16px
}

.ave-icon--lg {
    width: 32px;
    height: 32px
}

.ave-icon--xl {
    width: 48px;
    height: 48px
}

.ave-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--ave-space-2);
    padding: var(--ave-space-3) var(--ave-space-6);
    font-size: var(--ave-font-size-base);
    font-weight: 700;
    line-height: 1.5;
    border-radius: var(--ave-radius-full);
    border: 2px solid transparent;
    cursor: pointer;
    transition: var(--ave-transition);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px
}

.ave-btn:focus {
    outline: 2px solid var(--ave-c-gold);
    outline-offset: 2px
}

.ave-btn--primary {
    background: linear-gradient(135deg, var(--ave-c-primary) 0%, var(--ave-c-primary-dark) 100%);
    color: #fff;
    border-color: var(--ave-c-primary);
    box-shadow: 0 4px 15px #8b5cf64d
}

.ave-btn--primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px #8b5cf666;
    filter: brightness(1.1)
}

.ave-btn--secondary {
    background: transparent;
    color: #fff;
    border-color: var(--ave-c-gold)
}

.ave-btn--secondary:hover {
    background: var(--ave-c-gold);
    color: var(--ave-c-bg)
}

.ave-btn--lg {
    padding: var(--ave-space-4) var(--ave-space-8);
    font-size: var(--ave-font-size-lg)
}

.ave-btn--sm {
    padding: var(--ave-space-2) var(--ave-space-4);
    font-size: var(--ave-font-size-sm)
}

.ave-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 46px;
    background: #000000e6;
    border-bottom: 1px solid var(--ave-c-border);
    z-index: calc(var(--ave-z-sticky) + 1);
    padding-block: 15px
}

.ave-topbar__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--ave-space-4);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--ave-space-2)
}

.ave-topbar__age {
    flex-shrink: 0
}

.ave-topbar__text {
    font-size: var(--ave-font-size-sm);
    color: #ffffffb3;
    text-align: center
}

@media (max-width: 767px) {
    .ave-topbar {
        height: 32px
    }

    .ave-topbar__text {
        font-size: 11px;
        line-height: 1.3
    }

    .ave-topbar__age {
        width: 18px;
        height: 18px
    }
}

.ave-header {
    position: fixed;
    top: 36px;
    left: 0;
    right: 0;
    height: 80px;
    background: transparent;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--ave-c-border);
    z-index: var(--ave-z-sticky);
    transition: var(--ave-transition)
}

.ave-header--sticky {
    box-shadow: 0 4px 30px #0000004d;
    background: #0f0f23fa;
    padding-block: 14px
}

.ave-header__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--ave-space-4);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ave-space-6)
}

.ave-header__logo {
    display: inline-flex;
    width: 50%;
    text-decoration: none
}

.ave-header__logo img {
    width: 20%
}

.ave-logo,
.ave-logo-svg {
    height: 40px;
    width: auto
}

.ave-header__nav {
    display: flex;
    align-items: center;
    gap: var(--ave-space-6)
}

.ave-nav__link {
    color: #ffffffd9;
    font-weight: 500;
    text-decoration: none;
    transition: var(--ave-transition);
    text-transform: uppercase;
    letter-spacing: .5px;
    font-size: var(--ave-font-size-sm)
}

.ave-nav__link:hover,
.ave-nav__link--active {
    color: var(--ave-c-gold)
}

.ave-header__age {
    display: flex;
    align-items: center;
    gap: var(--ave-space-1);
    padding: var(--ave-space-1) var(--ave-space-2);
    background: var(--ave-c-error);
    color: #fff;
    font-size: var(--ave-font-size-sm);
    font-weight: 700;
    border-radius: var(--ave-radius-sm)
}

.ave-header__burger {
    display: none;
    flex-direction: column;
    gap: 5px;
    padding: var(--ave-space-2);
    background: transparent;
    border: none;
    cursor: pointer
}

.ave-header__burger span {
    width: 24px;
    height: 2px;
    background: #fff;
    transition: var(--ave-transition);
    transform-origin: center
}

.ave-header__burger--open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg)
}

.ave-header__burger--open span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0)
}

.ave-header__burger--open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg)
}

@media (max-width: 767px) {
    .ave-header {
        top: 32px;
        height: 60px
    }

    .ave-header--sticky {
        height: 60px
    }

    .ave-logo,
    .ave-logo-svg {
        height: 32px
    }

    .ave-header__nav {
        position: fixed;
        top: 55px;
        left: 0;
        right: 0;
        height: calc(100vh - 92px);
        background: var(--ave-c-bg-card);
        flex-direction: column;
        justify-content: flex-start;
        padding: var(--ave-space-8) var(--ave-space-4);
        gap: var(--ave-space-4);
        transform: translate(-100%);
        opacity: 0;
        visibility: hidden;
        transition: var(--ave-transition)
    }

    .ave-header__nav--open {
        transform: translate(0);
        opacity: 1;
        visibility: visible
    }

    .ave-nav__link {
        font-size: var(--ave-font-size-lg)
    }

    .ave-header__age {
        display: none
    }

    .ave-header__burger {
        display: flex
    }
}

.ave-hero {
    position: relative;
    height: 100vh;
    padding: var(--ave-space-16) var(--ave-space-4);
    background-image: url(/assets/images/ave-hero.png);
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    display: flex;
    align-items: center
}

.ave-hero__content {
    max-width: 550px
}

.ave-hero__logo {
    height: 50px;
    width: auto;
    margin-bottom: var(--ave-space-6)
}

.ave-hero__title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: var(--ave-space-4);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px
}

.ave-hero__title-highlight {
    display: inline;
    color: #f5d742;
    background: linear-gradient(to bottom, transparent 60%, rgba(245, 215, 66, .4) 60%);
    padding-bottom: 2px
}

.ave-hero__subtitle {
    font-size: var(--ave-font-size-base);
    color: #ffffffe6;
    margin-bottom: var(--ave-space-6);
    line-height: 1.6
}

.ave-hero__br-desktop {
    display: none
}

.ave-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 50px;
    padding: 0 var(--ave-space-8);
    background-image: url(/assets/images/ave-bg-btn.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: transparent;
    border: none;
    border-radius: 25px;
    color: #fff;
    font-size: var(--ave-font-size-base);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: var(--ave-transition);
    text-shadow: 0 1px 2px rgba(0, 0, 0, .3)
}

.ave-hero__btn:hover {
    transform: scale(1.05);
    filter: brightness(1.1)
}

.ave-hero__btn:focus {
    outline: 2px solid var(--ave-c-accent);
    outline-offset: 2px
}

@media (min-width: 768px) {
    .ave-hero {
        padding: var(--ave-space-16) var(--ave-space-8)
    }

    .ave-hero__logo {
        height: 70px
    }

    .ave-hero__title {
        font-size: 36px
    }

    .ave-hero__subtitle {
        font-size: var(--ave-font-size-lg)
    }

    .ave-hero__br-desktop {
        display: block
    }

    .ave-hero__btn {
        min-width: 200px;
        height: 55px;
        font-size: var(--ave-font-size-lg)
    }
}

@media (max-width: 767px) {
    .ave-hero {
        background-image: url(/assets/images/ave-hero-mob.png);
        background-position: center top;
        padding-top: 180px;
        align-items: end
    }

    .ave-hero__content {
        text-align: center;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end
    }

    .ave-hero__logo {
        margin: 0 auto var(--ave-space-4);
        position: absolute;
        top: 16%;
        left: 50%;
        transform: translate(-50%);
        object-fit: contain
    }
}

.ave-section {
    padding: var(--ave-space-16) 0;
    position: relative
}

.ave-section__title {
    font-size: var(--ave-font-size-2xl);
    font-weight: 700;
    text-align: center;
    margin-bottom: var(--ave-space-10);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px
}

.ave-section__title span {
    color: var(--ave-c-gold)
}

.ave-about__content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center
}

.ave-about__content p {
    margin-bottom: var(--ave-space-4);
    color: #fffc;
    font-size: var(--ave-font-size-lg);
    line-height: 1.8
}

.ave-about__content strong {
    color: var(--ave-c-gold)
}

.ave-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--ave-space-6)
}

.ave-feature {
    background: var(--ave-c-bg-card);
    padding: var(--ave-space-6);
    border-radius: var(--ave-radius-xl);
    text-align: center;
    border: 1px solid var(--ave-c-border);
    transition: var(--ave-transition)
}

.ave-feature:hover {
    transform: translateY(-6px);
    border-color: #8b5cf666;
    box-shadow: 0 15px 40px #0000004d
}

.ave-feature__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto var(--ave-space-4);
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #8b5cf633, #f5d7421a);
    border-radius: var(--ave-radius-lg);
    color: var(--ave-c-gold);
    border: 1px solid rgba(139, 92, 246, .3)
}

.ave-feature__icon .ave-icon {
    width: 32px;
    height: 32px
}

.ave-feature__title {
    font-size: var(--ave-font-size-lg);
    font-weight: 700;
    margin-bottom: var(--ave-space-2);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .5px
}

.ave-feature__description {
    font-size: var(--ave-font-size-sm);
    color: #ffffffb3;
    line-height: 1.6
}

@media (max-width: 991px) {
    .ave-features {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 575px) {
    .ave-features {
        grid-template-columns: 1fr
    }
}

.ave-games {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--ave-space-6)
}

.ave-game {
    background: var(--ave-c-bg-card);
    border-radius: var(--ave-radius-xl);
    overflow: hidden;
    border: 1px solid rgba(139, 92, 246, .2);
    transition: var(--ave-transition);
    position: relative
}

.ave-game:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #8b5cf61a, #f5d7420d);
    opacity: 0;
    transition: var(--ave-transition);
    pointer-events: none;
    z-index: 1
}

.ave-game:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: var(--ave-c-gold);
    box-shadow: 0 20px 40px #0006, 0 0 30px #f5d74226
}

.ave-game:hover:before {
    opacity: 1
}

.ave-game__image {
    position: relative;
    overflow: hidden
}

.ave-game__image:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to top, var(--ave-c-bg-card) 0%, transparent 100%);
    pointer-events: none
}

.ave-game__image img,
.ave-game__image svg {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: var(--ave-transition-slow)
}

.ave-game:hover .ave-game__image img {
    transform: scale(1.1)
}

.ave-hero__placeholder svg {
    width: 100%;
    height: auto;
    border-radius: var(--ave-radius-xl);
    box-shadow: var(--ave-shadow-xl)
}

.ave-game__content {
    padding: var(--ave-space-5);
    text-align: center;
    position: relative;
    z-index: 2
}

.ave-game__title {
    font-size: var(--ave-font-size-lg);
    font-weight: 700;
    margin-bottom: var(--ave-space-4);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px
}

@media (max-width: 991px) {
    .ave-games {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 575px) {
    .ave-games {
        grid-template-columns: 1fr
    }
}

.ave-faq {
    max-width: 800px;
    margin: 0 auto
}

.ave-faq__item {
    border: 1px solid var(--ave-c-border);
    border-radius: var(--ave-radius-lg);
    margin-bottom: var(--ave-space-3);
    background: var(--ave-c-bg-card);
    overflow: hidden;
    transition: var(--ave-transition)
}

.ave-faq__item:hover {
    border-color: #8b5cf64d
}

.ave-faq__item--open {
    border-color: var(--ave-c-gold);
    box-shadow: 0 0 20px #f5d7421a
}

.ave-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ave-space-4);
    padding: var(--ave-space-5);
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: var(--ave-font-size-base);
    font-weight: 600;
    color: #fff;
    transition: var(--ave-transition)
}

.ave-faq__question:hover {
    color: var(--ave-c-gold)
}

.ave-faq__icon {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 2;
    fill: none;
    transition: var(--ave-transition);
    flex-shrink: 0
}

.ave-faq__item--open .ave-faq__icon {
    transform: rotate(180deg);
    stroke: var(--ave-c-gold)
}

.ave-faq__answer {
    padding: 0 var(--ave-space-5) var(--ave-space-5);
    color: #ffffffb3;
    line-height: 1.7
}

.ave-footer {
    background: var(--ave-c-bg-card);
    color: #fff;
    border-top: 1px solid var(--ave-c-border);
    position: relative
}

.ave-footer:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ave-c-gold), transparent)
}

.ave-footer__disclaimer {
    background: #0000004d;
    padding: var(--ave-space-8) 0;
    text-align: center
}

.ave-footer__disclaimer p {
    max-width: 900px;
    margin: 0 auto;
    font-size: var(--ave-font-size-sm);
    color: #ffffffb3;
    line-height: 1.7
}

.ave-footer__disclaimer strong {
    color: var(--ave-c-gold)
}

.ave-footer__main {
    padding: var(--ave-space-10) 0
}

.ave-footer__grid {
    display: grid;
    grid-template-columns: auto 1fr 1fr;
    gap: var(--ave-space-10)
}

.ave-footer__col {
    min-width: 0
}

.ave-footer__age-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ave-space-2)
}

.ave-footer__age-img {
    max-width: 80px;
    height: auto
}

.ave-footer__heading {
    font-size: var(--ave-font-size-sm);
    font-weight: 700;
    margin-bottom: var(--ave-space-3);
    color: var(--ave-c-gold);
    text-transform: uppercase;
    letter-spacing: 1px
}

.ave-footer__text,
.ave-footer__list {
    font-size: var(--ave-font-size-sm);
    color: #ffffffb3;
    margin-bottom: var(--ave-space-3)
}

.ave-footer__list li {
    position: relative;
    padding-left: var(--ave-space-4);
    margin-bottom: var(--ave-space-1)
}

.ave-footer__list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    background: var(--ave-c-accent);
    border-radius: 50%
}

.ave-footer__bottom {
    padding: var(--ave-space-6) 0;
    border-top: 1px solid var(--ave-c-border);
    text-align: center;
    background: #0003
}

.ave-footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--ave-space-4) var(--ave-space-6);
    margin-bottom: var(--ave-space-4)
}

.ave-footer__link {
    color: #ffffffb3;
    font-size: var(--ave-font-size-sm);
    transition: var(--ave-transition)
}

.ave-footer__link:hover {
    color: var(--ave-c-gold)
}

.ave-footer__copyright {
    font-size: var(--ave-font-size-sm);
    color: #ffffff80;
    margin-bottom: var(--ave-space-2)
}

.ave-footer__notice {
    font-size: var(--ave-font-size-sm);
    color: #fff6
}

@media (max-width: 767px) {
    .ave-footer__grid {
        grid-template-columns: 1fr;
        gap: var(--ave-space-6)
    }

    .ave-footer__age-badge {
        margin: 0 auto
    }
}

.ave-age-modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: #0d0d0d
}

.ave-age-modal__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 520px;
    width: 100%;
    text-align: center
}

.ave-age-modal__logo {
    height: 50px;
    width: auto;
    margin-bottom: 48px
}

.ave-age-modal__badge {
    display: inline-block;
    padding: 4px 24px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 9999px;
    font-size: 14px;
    color: #ffffffb3;
    margin-bottom: 32px
}

.ave-age-modal__title {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 24px;
    line-height: 1.2
}

.ave-age-modal__text {
    font-size: 16px;
    color: #ffffffb3;
    line-height: 1.7;
    margin-bottom: 48px;
    max-width: 420px
}

.ave-age-modal__buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    max-width: 320px;
    margin-bottom: 32px
}

.ave-age-modal__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 12px;
    cursor: pointer;
    transition: all .2s ease;
    border: none;
    width: 100%
}

.ave-age-modal__btn--confirm {
    background: var(--ave-c-primary, #7c3aed);
    color: #fff
}

.ave-age-modal__btn--confirm:hover {
    filter: brightness(1.1)
}

.ave-age-modal__btn--deny {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .3)
}

.ave-age-modal__btn--deny:hover {
    border-color: #ffffff80;
    background: #ffffff0d
}

.ave-age-modal__disclaimer {
    font-size: 12px;
    color: #fff6;
    max-width: 360px;
    line-height: 1.5
}

.ave-age-modal__blocked {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 480px;
    width: 100%;
    text-align: center
}

.ave-age-modal__blocked-icon {
    color: #ef4444;
    margin-bottom: 32px
}

.ave-age-modal__blocked-title {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px
}

.ave-age-modal__blocked-text {
    font-size: 16px;
    color: #fff9;
    line-height: 1.7;
    margin-bottom: 48px
}

.ave-age-modal__btn--return {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .3);
    padding: 12px 32px
}

.ave-age-modal__btn--return:hover {
    border-color: #ffffff80;
    background: #ffffff0d
}

@media (max-width: 480px) {
    .ave-age-modal__title {
        font-size: 24px
    }

    .ave-age-modal__logo {
        height: 40px
    }
}

.ave-cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--ave-c-bg-card);
    border-top: 1px solid var(--ave-c-border);
    box-shadow: 0 -4px 30px #0006;
    z-index: var(--ave-z-toast);
    padding: var(--ave-space-4)
}

.ave-cookie-banner__content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--ave-space-4);
    flex-wrap: wrap
}

.ave-cookie-banner__icon {
    color: var(--ave-c-gold);
    flex-shrink: 0
}

.ave-cookie-banner__text {
    font-size: var(--ave-font-size-sm);
    color: #fffc
}

.ave-cookie-banner__link {
    color: var(--ave-c-gold);
    text-decoration: underline
}

.ave-cookie-banner__buttons {
    display: flex;
    gap: var(--ave-space-2)
}

.ave-legal {
    padding: 110px 0
}

.ave-legal__title {
    font-size: var(--ave-font-size-2xl);
    font-weight: 700;
    margin-bottom: var(--ave-space-2);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px
}

.ave-legal__updated {
    font-size: var(--ave-font-size-sm);
    color: var(--ave-c-gold);
    margin-bottom: var(--ave-space-10)
}

.ave-legal__section {
    margin-bottom: var(--ave-space-8);
    padding: var(--ave-space-6);
    background: var(--ave-c-bg-card);
    border-radius: var(--ave-radius-lg);
    border: 1px solid var(--ave-c-border)
}

.ave-legal__section h2 {
    font-size: var(--ave-font-size-xl);
    font-weight: 600;
    margin-bottom: var(--ave-space-4);
    color: var(--ave-c-gold)
}

.ave-legal__section p {
    color: #fffc;
    margin-bottom: var(--ave-space-4);
    line-height: 1.7
}

.ave-legal__section ul {
    margin-bottom: var(--ave-space-4);
    padding-left: var(--ave-space-6)
}

.ave-legal__section li {
    position: relative;
    padding-left: var(--ave-space-4);
    margin-bottom: var(--ave-space-2);
    color: #ffffffb3
}

.ave-legal__section li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background: var(--ave-c-gold);
    border-radius: 50%
}

.ave-contact {
    padding-top: var(--ave-space-8)
}

.ave-contact__intro {
    text-align: center;
    color: #fffc;
    margin-bottom: var(--ave-space-10);
    font-size: var(--ave-font-size-lg)
}

.ave-form {
    max-width: 500px;
    margin: 0 auto var(--ave-space-10);
    padding: var(--ave-space-8);
    background: var(--ave-c-bg-card);
    border-radius: var(--ave-radius-xl);
    border: 1px solid var(--ave-c-border)
}

.ave-form__group {
    margin-bottom: var(--ave-space-5)
}

.ave-form__label {
    display: block;
    margin-bottom: var(--ave-space-2);
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    font-size: var(--ave-font-size-sm);
    letter-spacing: .5px
}

.ave-form__input,
.ave-form__textarea {
    width: 100%;
    padding: var(--ave-space-3) var(--ave-space-4);
    font-size: var(--ave-font-size-base);
    font-family: inherit;
    border: 2px solid var(--ave-c-border);
    border-radius: var(--ave-radius-md);
    background: var(--ave-c-bg);
    color: #fff;
    transition: var(--ave-transition);
    min-height: 48px
}

.ave-form__textarea {
    min-height: 120px
}

.ave-form__input:empty:before,
.ave-form__textarea:empty:before {
    content: attr(data-placeholder);
    color: var(--ave-c-text-muted);
    pointer-events: none
}

.ave-form__input:focus,
.ave-form__textarea:focus {
    outline: none;
    border-color: var(--ave-c-gold);
    box-shadow: 0 0 15px #f5d74226
}

.ave-form__success {
    display: flex;
    align-items: flex-start;
    gap: var(--ave-space-3);
    margin-top: var(--ave-space-4);
    padding: var(--ave-space-4);
    background: var(--ave-c-success);
    color: #fff;
    border-radius: var(--ave-radius-md)
}

.ave-contact__info {
    text-align: center
}

.ave-contact__item {
    display: inline-flex;
    align-items: center;
    gap: var(--ave-space-2);
    color: #ffffffb3
}

.ave-contact__item a {
    color: var(--ave-c-gold)
}

.ave-contact__item a:hover {
    color: #fff
}

.ave-not-found {
    min-height: calc(100vh - 160px);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--ave-space-10)
}

.ave-not-found__title {
    font-size: 120px;
    font-weight: 700;
    background: linear-gradient(135deg, var(--ave-c-gold) 0%, var(--ave-c-primary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    margin-bottom: var(--ave-space-4)
}

.ave-not-found__text {
    font-size: var(--ave-font-size-lg);
    color: #ffffffb3;
    margin-bottom: var(--ave-space-8)
}

.ave-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.ave-game-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--ave-space-4);
    background: #000000d9;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px)
}

.ave-game-modal__content {
    position: relative;
    width: 100%;
    max-width: 1200px;
    max-height: 90vh;
    background: var(--ave-c-bg-card);
    border: 1px solid var(--ave-c-border);
    border-radius: var(--ave-radius-xl);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 80px #0009
}

.ave-game-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--ave-space-4) var(--ave-space-6);
    background: var(--ave-c-bg);
    border-bottom: 1px solid var(--ave-c-border)
}

.ave-game-modal__title {
    font-size: var(--ave-font-size-xl);
    font-weight: 700;
    color: var(--ave-c-gold);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 1px
}

.ave-game-modal__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--ave-c-border);
    border-radius: var(--ave-radius-full);
    color: #ffffffb3;
    cursor: pointer;
    transition: var(--ave-transition)
}

.ave-game-modal__close:hover {
    background: var(--ave-c-error);
    border-color: var(--ave-c-error);
    color: #fff
}

.ave-game-modal__body {
    flex: 1;
    min-height: 0
}

.ave-game-modal__iframe {
    width: 100%;
    height: 80vh;
    max-height: calc(90vh - 70px);
    display: block
}

@media (max-width: 767px) {
    .ave-game-modal {
        padding: 0
    }

    .ave-game-modal__content {
        max-width: 100%;
        max-height: 100vh;
        border-radius: 0
    }

    .ave-game-modal__header {
        padding: var(--ave-space-3) var(--ave-space-4)
    }

    .ave-game-modal__title {
        font-size: var(--ave-font-size-lg)
    }

    .ave-game-modal__iframe {
        height: calc(100vh - 60px);
        max-height: calc(100vh - 60px)
    }
}