/* ==========================================================================
   cnk4ever theme: dark blue. Loaded after main.css by the per-game stylesheet
   hook (css/games/{slug}.css); gba.css and ngage.css import this file.
   Fork-only file: upstream ctr4ever never touches it.
   ========================================================================== */

:root {
    --color-bg-primary: #0b1220;
    --color-bg-secondary: #111a2e;
    --color-bg-tertiary: #16223bfa;
    --color-bg-elevated: #1c2b4a;

    --color-accent-primary: #3b82f6;
    --color-accent-secondary: #60a5fa;
    --color-accent-tertiary: #22d3ee;
    --color-accent-glow: rgba(59, 130, 246, 0.35);

    --color-text-primary: #ffffff;
    --color-text-secondary: #b6c4dc;
    --color-text-muted: #7f8fab;
    --color-text-accent: #60a5fa;

    --row-color1: #111b30;
    --row-color2: #15213a;
    --row-hover: #1e2f52;

    --color-success: #4ade80;
    --color-success-bg: #12332a;
    --color-error: #f87171;
    --color-error-bg: #3a1a24;
    --color-warning: #fbbf24;
    --color-warning-bg: #3a2f14;
    --color-info: #38bdf8;
    --color-info-bg: #0f2a40;
}

/* Registrations are closed (nginx answers 404 on /register, see deployment/nginx/cnk4ever.conf):
   hide the links to it. Sidebar, login modal, home feature card and the profile claim box. */
a.sidebar-link[href$="/register"],
p:has(> a[onclick*="/register"]),
.col:has(> a.feature-card[href$="/register"]),
div:has(> a[href*="/register?claim="]) {
    display: none !important;
}

/* Hardcoded colours of main.css that don't use the variables. Scoped so the optional
   classic theme keeps its own look. */

/* background.png is purple: blending it in luminosity mode over the blue background colour keeps
   its texture and takes the blue hue */
body:not(.theme-classic) {
    background-color: #0d2350;
    background-image: radial-gradient(ellipse at center, transparent 0%, rgba(0, 0, 0, 0.65) 100%),
                      linear-gradient(180deg, rgba(37, 99, 235, 0.28) 0%, transparent 40%, rgba(8, 47, 120, 0.55) 100%),
                      url("../../img/background.png");
    background-blend-mode: normal, normal, luminosity;
}

body:not(.theme-classic) main > .container {
    background: rgb(14 22 40 / 92%);
    border-color: rgba(96, 165, 250, 0.12);
}

body:not(.theme-classic) .sidebar,
body:not(.theme-classic) .mobile-header {
    background: linear-gradient(180deg, #0f1a30 0%, #050a14 100%);
}

body:not(.theme-classic) .btn,
body:not(.theme-classic) form button {
    background: linear-gradient(135deg, #2563eb 0%, #0b1a3a 100%) !important;
}

body:not(.theme-classic) .btn:hover,
body:not(.theme-classic) form button:hover {
    background: linear-gradient(135deg, #3b82f6 0%, #12244a 100%) !important;
}

body:not(.theme-classic) .btn:disabled,
body:not(.theme-classic) form button:disabled {
    background: #1a2236 !important;
}

body:not(.theme-classic) .pagination .page-item.active .page-link {
    background: linear-gradient(135deg, #2563eb 0%, #0b1a3a 100%) !important;
}

body:not(.theme-classic) .alert-primary {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(17, 26, 46, 0.4) 100%) !important;
}

body:not(.theme-classic) .alert-info {
    background: linear-gradient(135deg, rgba(56, 189, 248, 0.15) 0%, rgba(15, 42, 64, 0.4) 100%) !important;
    border-color: rgba(56, 189, 248, 0.3) !important;
    border-left-color: var(--color-info) !important;
}

body:not(.theme-classic) .badge.bg-info {
    background: rgba(56, 189, 248, 0.2) !important;
}

body:not(.theme-classic) .hero-logo {
    filter: drop-shadow(0 8px 32px rgba(59, 130, 246, 0.5));
}

body:not(.theme-classic) .text-gradient {
    background: linear-gradient(135deg, var(--color-accent-primary) 0%, var(--color-accent-tertiary) 50%, var(--color-accent-secondary) 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

body:not(.theme-classic) .feature-icon {
    background: linear-gradient(135deg, #2563eb 0%, #22d3ee 100%);
    color: #ffffff;
}
