:root {
    --at-theme-primary: #46AE41;
    --at-gradient-primary: linear-gradient(90deg, #268500 0%, #8DE38B 100%);
    --kz-bg: #050505;
    --kz-panel: #101113;
    --kz-panel-2: #151618;
    --kz-border: rgba(255, 255, 255, 0.14);
    --kz-text: #f4fff3;
    --kz-muted: rgba(244, 255, 243, 0.72);
}

.page-loader {
    background: #050505 !important;
    display: none !important;
    pointer-events: none !important;
}

.page-loader .bar {
    background-color: #0a0a0a !important;
}

.kermzilla-logo-mark {
    filter: none !important;
}

[data-bs-theme=dark] .at-header-logo .kermzilla-logo-mark,
[data-bs-theme=dark] .at-offcanvas-logo .kermzilla-logo-mark,
[data-bs-theme=dark] .page-loader .kermzilla-logo-mark {
    filter: none !important;
}

.at-btn-group-transparent-2 .at-btn,
.at-btn-group-transparent-2 .at-btn-circle,
.at-btn-group-transparent-2:hover > *:nth-child(2),
.at-btn-group-transparent-2:hover > *:nth-child(1) {
    background: #eef8ea;
    background-color: #eef8ea;
}

.cursor-bg-red #ball,
.cursor-bg-red-2 #ball {
    background-color: #46AE41 !important;
}

.cursor-bg-red #ball .ball-view,
.cursor-bg-red-2 #ball .ball-view {
    color: var(--at-common-white);
}

.at-btn.has-dot::before {
    background-color: #8DE38B;
}

/* Kermzilla launch polish: make the adapted template feel like a readable premium game-studio site. */
body {
    background: #050505 !important;
}

.kermzilla-wordmark {
    font-family: "DM Sans", sans-serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
}

/* Match the custom wordmark's cap height to animated eyebrow text. */
.kermzilla-animated-sublabel .kermzilla-wordmark {
    display: inline-block;
    line-height: inherit;
    transform: translateY(0.1875em);
}

/* The template reserves space on generic FAQ spans; wordmarks are inline question text. */
.at-faq-button .kermzilla-wordmark {
    margin-right: 0 !important;
}

main.bg-neutral-0,
.bg-neutral-0 {
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.055), transparent 32%),
        radial-gradient(circle at 88% 10%, rgba(255, 255, 255, 0.035), transparent 34%),
        #050505 !important;
    color: var(--kz-text) !important;
}

.bg-neutral-50,
.border-bottom-100,
.border-neutral-100 {
    background-color: #0b0b0d !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.neutral-950,
.neutral-900,
.common-black,
[data-bs-theme=dark] .neutral-900,
[data-bs-theme=dark] .common-black {
    color: var(--kz-text) !important;
}

.neutral-500,
.text-white-50,
[data-bs-theme=dark] .neutral-500 {
    color: var(--kz-muted) !important;
}

.at-header-area {
    background: linear-gradient(180deg, rgba(5, 5, 5, 0.94), rgba(5, 5, 5, 0.58), transparent) !important;
    backdrop-filter: blur(14px);
}

.at-main-menu nav ul li a,
.at-header-logo p,
.at-offcanvas-logo p {
    color: #f4fff3 !important;
}

.at-main-menu nav ul li a:hover,
.at-header-logo a:hover p,
a:hover {
    color: #8de38b !important;
}

.at-btn,
.filter-btn {
    border-color: rgba(141, 227, 139, 0.25) !important;
}

.at-btn:not(.at-btn-border-white):not(.bg-transparent) {
    background: linear-gradient(135deg, #46ae41, #8de38b) !important;
    color: #041006 !important;
}

.at-btn-border-white,
.bg-transparent.border,
.kermzilla-shop-panel__badge {
    border-color: rgba(244, 255, 243, 0.22) !important;
}

.sec-2-home-5__card,
.shop-value-grid__item,
.legal-card,
.legal-summary-card,
.alt-portfolio-item,
.blog-card-2,
.sec-1-coming-soon .box-count {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.024)) !important;
    border: 1px solid var(--kz-border) !important;
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.28) !important;
}

.kermzilla-shop-panel,
.shop-hero-card {
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.075), transparent 36%),
        radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.045), transparent 42%),
        linear-gradient(145deg, #101113, #050505) !important;
    border: 1px solid var(--kz-border) !important;
    box-shadow: 0 30px 110px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

.kermzilla-shop-panel__list li,
.legal-card p,
.sec-2-home-5__card p,
.blog-card-2__excerpt,
.game-detail-actions__note {
    color: var(--kz-muted) !important;
}

.kermzilla-shop-panel__list li::marker,
.legal-card h2,
.blog-card-2__category,
.game-detail-actions__eyebrow,
.shop-link-rail__meta,
.kermzilla-shop-panel__eyebrow {
    color: #8de38b !important;
}

img {
    max-width: 100%;
}

.hero-4-thumb img,
.kermzilla-shop-panel__media img,
.shop-hero-card__media img,
.blog-card-2__img,
.alt-portfolio-thumb img,
.at-banner-thumb img {
    filter: saturate(1.08) contrast(1.04) brightness(0.88);
}

.blog-card-2__img,
.alt-portfolio-thumb img,
.kermzilla-shop-panel__media img,
.shop-hero-card__media img {
    background: #101113;
}

.legal-page .legal-hero__copy {
    max-width: 760px;
}

.legal-summary-card {
    border-radius: 1.5rem;
    padding: 1.5rem;
    color: var(--kz-text);
}

.legal-summary-card strong {
    display: block;
    margin-bottom: 0.65rem;
    color: #8de38b;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.82rem;
}

.legal-summary-card span {
    color: var(--kz-muted);
    line-height: 1.65;
}

.legal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.legal-card {
    border-radius: 1.4rem;
    padding: 1.5rem;
}

.legal-card h2 {
    font-size: 1.15rem;
    margin-bottom: 0.8rem;
}

.legal-card p {
    margin: 0;
    line-height: 1.7;
}

.game-detail-action--disabled .game-detail-action__title::after {
    content: "";
}

/* Font Awesome replacements for the old inline line-SVG icons. */
.at-btn i.icon-arrow-right.fa-light {
    align-items: center;
    justify-content: center;
    overflow: visible;
    font-size: 0.95rem;
    line-height: 1;
}

.back-to-top-btn i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    line-height: 1;
}

.close-btn i,
.hamburger-close-btn i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    line-height: 1;
}

/* Reduce template reveal weirdness when JS has not animated yet and improve accessibility snapshots. */
.reveal-text,
.text-scale-anim,
.char,
.word {
    opacity: 1 !important;
}

@media (max-width: 991.98px) {
    .legal-grid,
    .shop-value-grid {
        grid-template-columns: 1fr !important;
    }

    .fz-ds-1 {
        font-size: clamp(3rem, 14vw, 5.4rem) !important;
        line-height: 0.94 !important;
        letter-spacing: -0.04em !important;
    }

    .kermzilla-shop-panel__cta,
    .shop-link-rail {
        align-items: stretch !important;
    }

    .kermzilla-shop-panel__cta .at-btn,
    .shop-link-rail .at-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .pt-150 {
        padding-top: 110px !important;
    }

    .pb-120,
    .pb-130 {
        padding-bottom: 72px !important;
    }

    .pt-120,
    .pt-100 {
        padding-top: 72px !important;
    }

    .container,
    .container-2200 {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .fz-font-3xl,
    .fz-font-2xl {
        font-size: 1.25rem !important;
        line-height: 1.45 !important;
    }
}
