/**
 * EuroStatsLab — moduł gry Eurojackpot (motyw portalu)
 */
body.game-module.esl-game {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}

body.game-module.esl-game.light-mode {
    --primary-color: var(--esl-primary, #003399);
    --secondary-color: var(--esl-primary-light, #1a56db);
    --bg-primary: var(--esl-bg, #eef3ff);
    --bg-secondary: #ffffff;
    --text-primary: var(--esl-text, #0f172a);
    --text-secondary: var(--esl-muted, #64748b);
    --card-bg: var(--esl-card, #ffffff);
    --card-border: rgba(0, 51, 153, 0.1);
    --input-bg: #f8fafc;
    --input-border: rgba(0, 51, 153, 0.15);
    --nav-bg: rgba(255, 255, 255, 0.95);
    --panel-bg: #f1f5f9;
}

body.game-module.esl-game.light-mode {
    background: linear-gradient(160deg, #eef3ff 0%, #f8fafc 45%, #e8efff 100%);
}

body.game-module.esl-game:not(.light-mode) {
    --primary-color: #4d7cff;
    --secondary-color: #1a56db;
}

.esl-game-nav {
    border-bottom: 1px solid rgba(0, 51, 153, 0.08);
}

.esl-game-nav__actions {
    align-items: center;
}

.esl-game-theme-btn {
    border: 1.5px solid rgba(0, 51, 153, 0.2);
    background: transparent;
    border-radius: 10px;
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    color: var(--esl-text, #0f172a);
    font-family: inherit;
}

.esl-game-nav__mobile {
    display: none;
    align-items: center;
    gap: 0.5rem;
}

.esl-game-nav__dropdown {
    display: none;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.75rem 1.25rem 1rem;
    border-top: 1px solid rgba(0, 51, 153, 0.08);
    background: #fff;
}

.esl-game-nav__dropdown.active {
    display: flex;
}

.esl-game-nav__dropdown a {
    padding: 0.65rem 0.5rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--esl-text);
    text-align: center;
    border-radius: 8px;
}

.esl-game-nav__dropdown a:hover {
    background: var(--esl-bg);
}

.esl-game-tagline {
    background: rgba(0, 51, 153, 0.06);
    color: var(--esl-muted);
    border-bottom: 1px solid rgba(0, 51, 153, 0.08);
    padding: 0.4rem 0;
    text-align: center;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

body.game-module.esl-game .game-header {
    border-bottom-color: var(--esl-primary);
    border-radius: var(--esl-radius, 16px);
    box-shadow: var(--esl-shadow, 0 24px 64px rgba(0, 51, 153, 0.12));
}

body.game-module.esl-game .nav-btn.active {
    background: var(--esl-primary);
    border-color: var(--esl-primary);
    box-shadow: 0 8px 24px rgba(0, 51, 153, 0.25);
    color: #fff;
}

body.game-module.esl-game .generate-btn,
body.game-module.esl-game .save-btn {
    background: var(--esl-primary) !important;
    border-color: var(--esl-primary) !important;
}

body.game-module.esl-game .generate-btn:hover,
body.game-module.esl-game .save-btn:hover {
    background: var(--esl-primary-light) !important;
}

body.game-module.esl-game .status-active {
    background: linear-gradient(135deg, #059669, #10b981);
}

body.game-module.esl-game .status-demo {
    background: linear-gradient(135deg, #f59e0b, #fbbf24);
    color: #78350f;
}

body.game-module.esl-game .game-nav {
    background: var(--card-bg);
    border-radius: var(--esl-radius, 16px);
}

body.game-module.esl-game .content-panel {
    border-radius: var(--esl-radius, 16px);
}

@media (max-width: 900px) {
    .esl-game-nav .esl-nav-menu#desktopMenu {
        display: none !important;
    }

    .esl-game-nav__mobile {
        display: flex;
    }
}

@media (min-width: 901px) {
    .esl-game-nav__mobile,
    .esl-game-nav__dropdown {
        display: none !important;
    }
}
