/* NxRoms v268 — mode sombre du catalogue public.
   Le thème est volontairement limité au site public : l'Admin conserve son propre design. */

.nx207-theme{min-width:94px!important}
.nx207-theme-icon{font-size:18px;line-height:1;transform:translateY(-1px)}
.nx207-theme[aria-pressed="true"]{
  background:linear-gradient(135deg,#1d2440,#11172c)!important;
  border-color:rgba(167,139,250,.32)!important;
  color:#e9e7ff!important;
  box-shadow:0 8px 20px rgba(20,16,45,.22)!important;
}

/* Le choix mémorisé s'applique avant même le montage du catalogue, sans flash blanc. */
html.nx-theme-dark:not(.nx-admin-boot){color-scheme:dark}
html.nx-theme-dark.nx-public-boot,
html.nx-theme-dark.nx-public-boot body{
  background:#090b14!important;
  color-scheme:dark!important;
}
html.nx-theme-dark.nx-public-boot body::before{
  background:
    linear-gradient(180deg,rgba(6,8,18,.52),rgba(8,10,20,.84)),
    url('./nx-v221-hero-bg.png') center 42%/cover no-repeat,
    #090b14!important;
  color:#c4b5fd!important;
}
html.nx-theme-dark.nx-public-boot body::after{background:#8b5cf6!important}

html.nx-theme-dark body.nx-v207-public{
  --nx207-text:#edf0ff;
  --nx207-muted:#9ba5bf;
  --nx217-filter-bg:rgba(18,23,40,.92);
  --nx217-filter-bg-hover:rgba(27,33,54,.98);
  --nx217-filter-border:rgba(139,92,246,.30);
  --nx217-filter-border-hover:rgba(167,139,250,.62);
  --nx217-filter-text:#e7e9f5;
  --nx217-filter-muted:#a8afc2;
  color:#e9ecf7!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(124,58,237,.18),transparent 31%),
    radial-gradient(circle at 88% 5%,rgba(59,130,246,.11),transparent 27%),
    linear-gradient(180deg,#090b14 0%,#0d101b 54%,#090b14 100%)!important;
}

html.nx-theme-dark body.nx-v207-public .nx207-header{
  background:rgba(10,13,24,.90)!important;
  border-bottom-color:rgba(148,163,184,.13)!important;
  box-shadow:0 9px 32px rgba(0,0,0,.30)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-logo{color:#f4f2ff!important}
html.nx-theme-dark body.nx-v207-public .nx207-btn,
html.nx-theme-dark body.nx-v207-public .nx207-menu-trigger{
  background:rgba(23,28,46,.84)!important;
  border-color:rgba(148,163,184,.15)!important;
  color:#d9deed!important;
  box-shadow:none!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-btn:hover,
html.nx-theme-dark body.nx-v207-public .nx207-menu-trigger:hover{
  background:#222942!important;
  border-color:rgba(167,139,250,.34)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(0,0,0,.24)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-admin{
  background:linear-gradient(135deg,#7c3aed,#5b21b6)!important;
  color:#fff!important;
  border:0!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-theme[aria-pressed="true"]{
  background:linear-gradient(135deg,#6d28d9,#4c1d95)!important;
  border-color:transparent!important;
  color:#fff!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-dropdown{
  background:rgba(15,19,32,.98)!important;
  border-color:rgba(148,163,184,.16)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.44)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-dropdown button{color:#d5daea!important}
html.nx-theme-dark body.nx-v207-public .nx207-dropdown button:hover,
html.nx-theme-dark body.nx-v207-public .nx207-dropdown button.active{
  background:rgba(124,58,237,.18)!important;
  color:#c4b5fd!important;
}

html.nx-theme-dark body.nx-v207-public .nx207-sidebar{
  background:rgba(11,14,25,.93)!important;
  border-right-color:rgba(148,163,184,.11)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-side-title{color:#a78bfa!important}
html.nx-theme-dark body.nx-v207-public .nx207-side-btn{color:#b9c0d2!important}
html.nx-theme-dark body.nx-v207-public .nx207-side-btn:hover{
  background:rgba(124,58,237,.13)!important;
  color:#ddd6fe!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-side-btn.active{
  background:linear-gradient(90deg,rgba(124,58,237,.28),rgba(124,58,237,.08))!important;
  color:#c4b5fd!important;
}
html.nx-theme-dark body.nx-v207-public .nx263-genre-main small{
  background:#2a1f4b!important;color:#c4b5fd!important
}
html.nx-theme-dark body.nx-v207-public .nx263-collection-list{border-left-color:rgba(167,139,250,.25)!important}
html.nx-theme-dark body.nx-v207-public .nx263-collection-btn{color:#9da7be!important}
html.nx-theme-dark body.nx-v207-public .nx263-collection-btn:hover,
html.nx-theme-dark body.nx-v207-public .nx263-collection-btn.active{
  background:rgba(124,58,237,.16)!important;color:#c4b5fd!important
}
html.nx-theme-dark body.nx-v207-public .nx263-collection-btn small{color:#7f8aa5!important}
html.nx-theme-dark body.nx-v207-public .nx263-collection-btn.active small{color:#a78bfa!important}

html.nx-theme-dark body.nx-v207-public .nx207-hero{
  background:
    linear-gradient(180deg,rgba(4,6,15,.36),rgba(8,10,20,.54) 52%,rgba(10,12,22,.82)),
    url('./nx-v221-hero-bg.png') center 56%/cover no-repeat!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-hero::after{
  background:linear-gradient(transparent,rgba(10,12,22,.97))!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-hero h1{
  color:#c4b5fd!important;
  text-shadow:0 10px 32px rgba(0,0,0,.52),0 0 26px rgba(124,58,237,.25)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-hero p{
  color:#e2e6f2!important;text-shadow:0 2px 12px rgba(0,0,0,.7)!important
}
html.nx-theme-dark body.nx-v207-public .nx207-search{
  background:rgba(14,18,31,.94)!important;
  color:#f2f4fb!important;
  border-color:rgba(167,139,250,.30)!important;
  box-shadow:0 18px 40px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.04)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-search::placeholder{color:#7f8aa5!important}
html.nx-theme-dark body.nx-v207-public .nx207-search:focus{
  border-color:rgba(167,139,250,.68)!important;
  box-shadow:0 0 0 4px rgba(124,58,237,.16),0 18px 40px rgba(0,0,0,.36)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-search-icon{color:#a8b0c6!important}

html.nx-theme-dark body.nx-v207-public .nx207-catalog{
  background:rgba(13,17,29,.90)!important;
  border-color:rgba(148,163,184,.12)!important;
  box-shadow:0 24px 65px rgba(0,0,0,.34)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-count{color:#aab2c5!important}
html.nx-theme-dark body.nx-v207-public .nx207-count strong{color:#a78bfa!important}

/* Filtres v217 : les règles originales utilisent !important, donc le thème sombre les surcharge explicitement. */
html.nx-theme-dark body.nx-v207-public .nx207-select{
  background-color:rgba(20,25,42,.95)!important;
  color:#e5e7f1!important;
  border-color:rgba(139,92,246,.30)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-select:hover,
html.nx-theme-dark body.nx-v207-public .nx207-select:focus,
html.nx-theme-dark body.nx-v207-public .nx207-select:focus-visible{
  background-color:#1b2136!important;
  color:#fff!important;
  border-color:rgba(167,139,250,.55)!important;
  box-shadow:0 0 0 3px rgba(124,58,237,.12),0 9px 24px rgba(0,0,0,.25)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-select option{background:#111625!important;color:#e5e7eb!important}
html.nx-theme-dark body.nx-v207-public .nx207-view{
  background:#161c2f!important;color:#aeb7cb!important;
  border-color:rgba(139,92,246,.28)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.22)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-view:hover{background:#202740!important;color:#c4b5fd!important}
html.nx-theme-dark body.nx-v207-public .nx207-view.active{
  background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;color:#fff!important
}

/* Cartes — respecte aussi le redimensionnement naturel introduit en v266. */
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-card.game-card{
  background:linear-gradient(180deg,#151a2b,#101522)!important;
  color:#edf0f8!important;
  border-color:rgba(167,139,250,.18)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.30)!important;
}
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-card.game-card:hover{
  border-color:rgba(167,139,250,.42)!important;
  box-shadow:0 20px 42px rgba(0,0,0,.40)!important;
}
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-card .nx207-cover.game-cover{
  background:radial-gradient(circle at 50% 20%,#1c2338,#121827 58%,#0d1220)!important;
  border-bottom-color:rgba(167,139,250,.12)!important;
}
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-cover::after{
  background:linear-gradient(180deg,transparent,rgba(10,13,24,.18))!important;
}
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-cover img.fit-contain{
  background:radial-gradient(circle at 50% 25%,#20283f,#121827 60%,#0c111e)!important;
}
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-no-cover{color:rgba(196,181,253,.25)!important}
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-info.game-info{
  background:linear-gradient(180deg,#151a2b,#111624)!important;
}
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-info.game-info::before{
  background:linear-gradient(90deg,transparent,rgba(167,139,250,.23),transparent)!important;
}
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-title,
html.nx-theme-dark body.nx-v207-public #nx207GridContent .game-info h3{color:#f0f2fa!important}
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-card:hover .nx207-title,
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-card:hover .game-info h3{color:#c4b5fd!important}
html.nx-theme-dark body.nx-v207-public #nx207GridContent .nx207-meta,
html.nx-theme-dark body.nx-v207-public #nx207GridContent .game-info .meta{color:#909bb2!important}
html.nx-theme-dark body.nx-v207-public.nx207-list #nx207GridContent .nx207-card.game-card{
  background:linear-gradient(90deg,#151a2b,#101522)!important;
}
html.nx-theme-dark body.nx-v207-public.nx207-list #nx207GridContent .nx207-info.game-info{
  background:linear-gradient(90deg,#151a2b,#111624)!important;
}

html.nx-theme-dark body.nx-v207-public .nx207-message{background:#21183c!important;color:#c4b5fd!important}
html.nx-theme-dark body.nx-v207-public .nx207-message.error{background:#38171e!important;color:#fda4af!important}
html.nx-theme-dark body.nx-v207-public .nx207-empty{color:#9aa5bb!important}
html.nx-theme-dark body.nx-v207-public .nx207-page{
  background:#151a2b!important;color:#b8c0d2!important;border-color:rgba(148,163,184,.14)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.18)!important;
}
html.nx-theme-dark body.nx-v207-public .nx207-page:hover:not(:disabled){color:#c4b5fd!important;border-color:rgba(167,139,250,.46)!important}
html.nx-theme-dark body.nx-v207-public .nx207-page.active{background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;color:#fff!important}
html.nx-theme-dark body.nx-v207-public .nx207-page-info,
html.nx-theme-dark body.nx-v207-public .nx207-footer{color:#818ba2!important}

/* Fenêtre Détails v225 */
html.nx-theme-dark body.nx-v207-public .nx-detail-overlay-v17{background:rgba(2,4,10,.68)!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-modal-v17{
  background:linear-gradient(145deg,#151a2b,#0f1422)!important;
  color:#e8ebf5!important;
  border-color:rgba(167,139,250,.24)!important;
  box-shadow:0 32px 95px rgba(0,0,0,.56)!important;
  scrollbar-color:#6d4cc8 transparent!important;
}
html.nx-theme-dark body.nx-v207-public .nx-detail-top{
  background:linear-gradient(90deg,#181e31,#15182a)!important;
  border-bottom-color:rgba(167,139,250,.16)!important;color:#aeb7cb!important
}
html.nx-theme-dark body.nx-v207-public .nx-detail-top>span{color:#aeb7cb!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-close{
  color:#c5ccda!important;background:#20263a!important;border-color:rgba(167,139,250,.20)!important;box-shadow:none!important
}
html.nx-theme-dark body.nx-v207-public .nx-detail-cover-v17{
  background:linear-gradient(145deg,#20263c,#161b2d)!important;border-color:rgba(167,139,250,.17)!important;box-shadow:0 14px 34px rgba(0,0,0,.32)!important
}
html.nx-theme-dark body.nx-v207-public .nx-detail-main-v17,
html.nx-theme-dark body.nx-v207-public .nx-detail-main-v17 h2{color:#f1f3fa!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-main-v17 h3{color:#a8b0c3!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-summary,
html.nx-theme-dark body.nx-v207-public .nx-detail-summary strong,
html.nx-theme-dark body.nx-v207-public .nx-detail-summary span{color:#c2c8d8!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-badge{background:#20263a!important;border-color:#333b56!important;color:#cbd2e2!important}
html.nx-theme-dark body.nx-v207-public .nx-badge-xci{background:#3a1c24!important;border-color:#6b2d39!important;color:#fca5a5!important}
html.nx-theme-dark body.nx-v207-public .nx-badge-nsp{background:#12323a!important;border-color:#1d5963!important;color:#67e8f9!important}
html.nx-theme-dark body.nx-v207-public .nx-badge-dlc{background:#2b1d4b!important;border-color:#563f88!important;color:#c4b5fd!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-genre,
html.nx-theme-dark body.nx-v207-public .nx-detail-genre b{color:#aeb6c8!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-variant{
  background:#171d2e!important;border-color:rgba(148,163,184,.15)!important;color:#e4e7f0!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important
}
html.nx-theme-dark body.nx-v207-public .nx-detail-variant-head,
html.nx-theme-dark body.nx-v207-public .nx-detail-variant-head span,
html.nx-theme-dark body.nx-v207-public .nx-detail-variant-head strong{color:#c6cddd!important;border-color:rgba(148,163,184,.12)!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-variant-meta{border-color:rgba(148,163,184,.10)!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-variant-meta b{color:#8994aa!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-variant-meta span,
html.nx-theme-dark body.nx-v207-public .nx-detail-variant-meta div{color:#cbd1df!important}
html.nx-theme-dark body.nx-v207-public .nx-detail-single-download-wrap{
  background:linear-gradient(to top,rgba(15,20,34,.98),rgba(15,20,34,.82),transparent)!important
}

body.nx-v207-public.nx207-admin-opening::after,
html.nx-theme-dark body.nx-v207-public.nx207-admin-opening::after{
  background:rgba(8,10,18,.90)!important;color:#c4b5fd!important
}

@media(max-width:1050px){.nx207-theme{min-width:42px!important}.nx207-theme-label{display:none}}
@media(max-width:640px){
  body.nx-v207-public .nx207-right .nx207-theme{display:inline-flex!important;width:40px!important;min-width:40px!important;padding:0!important}
}
