/* Gaming room 5.20: enabled only after a compatible Games gallery is found. */
body.np-room-active { background:#141229; }
.np-room-active .wp-site-blocks > header,
.np-room-active .np-room .np-category-header,
.np-room-active .np-room .np-category-nav { display:none !important; }
.np-room-active .np-room {
  --room-blue:#008bf5; --room-yellow:#ffdf32;
  box-sizing:border-box; width:100% !important; max-width:none !important;
  margin:0 !important; padding:0 0 90px !important; color:#f7f5ff;
  background:#141229 url("images/gaming-room.webp") center top / cover fixed no-repeat !important;
  font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif; isolation:isolate;
}
.np-room-active .np-room::before { background:linear-gradient(180deg,rgba(13,10,32,.05),rgba(13,10,32,.30) 35%,rgba(13,10,32,.66)) !important; }
.np-room-active .np-room *, .np-room-active .np-room *::before, .np-room-active .np-room *::after { box-sizing:border-box; }
.np-room-active .np-room .np-room-top,
.np-room-active .np-room .np-category-content {
  width:calc(100% - 48px) !important; max-width:1180px !important; margin:0 auto !important;
}
.np-room-nav { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:22px 0; }
.np-room-nav a { text-decoration:none; color:white; }
.np-room-brand { font-size:clamp(20px,2.3vw,29px); font-weight:900; letter-spacing:-.6px; }
.np-room-links { display:flex; align-items:center; gap:8px; }
.np-room-links a,.np-room-links button { border:0; color:white; background:#201d3be8; border-radius:99px; min-height:44px; padding:10px 18px; font-family:inherit; font-size:15px; font-weight:700; line-height:1.4; cursor:pointer; }
.np-room-links button.is-active { background:#008bf5; }
.np-room-welcome { min-height:255px; padding:28px 0 44px; max-width:650px; }
.np-room-active .np-room .np-room-welcome h1 { font-size:clamp(32px,4.3vw,58px); line-height:1.08; letter-spacing:-1.5px; color:white; margin:0 0 17px; font-weight:900; text-shadow:0 3px 22px #100c2a; text-wrap:balance; }
.np-room-welcome p { color:#e0ddf0; font-size:clamp(16px,1.7vw,21px); margin:0; max-width:550px; line-height:1.5; text-shadow:0 2px 7px #100c2a; }
.np-room-active .np-room .np-featured-banner {
  background:linear-gradient(125deg,#17172ef5,#211738f5) !important;
  border:2px solid #625298 !important; border-radius:24px !important;
  box-shadow:0 18px 50px #07061766,0 0 28px #894bd822; margin:0 !important;
  backdrop-filter:none;
}
.np-room-active .np-room .np-featured-native > .wp-block-columns { display:grid !important; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); min-height:0 !important; gap:0 !important; }
.np-room-active .np-room .np-featured-image-wrap { grid-column:1; grid-row:1; background:#121225 !important; min-height:0 !important; padding:12px !important; }
.np-room-active .np-room .np-featured-image-block { display:grid; place-items:center; width:100%; height:100%; aspect-ratio:3/2; margin:0 !important; }
.np-room-active .np-room .np-featured-image-block img { width:100% !important; height:100% !important; min-height:0 !important; max-height:440px; object-fit:contain !important; border-radius:14px !important; }
.np-room-active .np-room .np-featured-info { grid-column:2; grid-row:1; padding:clamp(20px,3vw,36px) !important; justify-content:center; }
.np-room-active .np-room .np-featured-title { color:white !important; font-size:clamp(27px,3.5vw,43px); line-height:1.1; overflow-wrap:anywhere; }
.np-room-active .np-room .np-featured-label { color:#d3cce7; font-size:13px; letter-spacing:.08em; }
.np-room-active .np-room .np-featured-meta { color:#c9c4df; border-color:#665c80; margin:6px 0 16px; }
.np-room-active .np-room .np-featured-intro { color:#e3def1; font-size:18px; font-weight:400; margin-bottom:22px; }
.np-room-active .np-room .np-featured-details { display:none; }
.np-room-active .np-room .np-featured-actions { margin-top:4px; gap:10px; }
.np-room-active .np-room .np-featured-play-button .wp-block-button__link { background:var(--room-yellow) !important; color:#111324 !important; border:0; border-radius:14px; box-shadow:none; min-height:48px; font-weight:900; }
.np-room-active .np-room .np-featured-favorite-button .wp-block-button__link { background:transparent; color:#e6dfff; border:1px solid #817195; border-radius:14px; min-height:44px; padding:10px 14px; font-size:14px; }
.np-room-active .np-room .np-featured-favorite-button .wp-block-button__link[aria-pressed="true"] { color:#ffdf32; border-color:#ffdf32; }
.np-room-active .np-room #alle-spil { color:white; font-size:clamp(27px,3vw,38px); line-height:1.2; margin:42px 0 18px; scroll-margin-top:24px; }
.np-room-filters { display:flex; gap:10px; flex-wrap:wrap; margin:0 0 24px !important; }
.np-room-filters button { font-family:inherit; font-size:16px; font-weight:700; line-height:1.3; color:white; background:#514572; border:1px solid #75648e; border-radius:99px; padding:12px 23px; min-height:46px; cursor:pointer; }
.np-room-filters button.is-active { background:var(--room-blue); border-color:var(--room-blue); }
.np-room-active .np-room .np-card-grid { display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)); gap:22px !important; }
.np-room-active .np-room .np-content-card {
  grid-column:span 2; background:#17172fef !important; border:2px solid #4b436b !important;
  border-radius:19px !important; overflow:hidden; min-height:0; padding:10px !important;
  margin:0 !important; box-shadow:0 12px 28px #08061e33; transition:transform .18s,border-color .18s;
}
.np-room-active .np-room .np-content-card.np-room-last-two { grid-column:2 / span 2; }
.np-room-active .np-room .np-content-card.np-room-last-one { grid-column:3 / span 2; }
.np-room-active .np-room .np-content-card.is-selected { border-color:var(--room-yellow) !important; box-shadow:0 0 0 1px var(--room-yellow); }
.np-room-active .np-room .np-content-card:hover { transform:translateY(-3px); }
.np-room-active .np-room .np-card-visual,
.np-room-active .np-room .np-content-card .np-room-art {
  position:relative; display:grid; place-items:center; background:#111326 !important;
  padding:0 !important; margin:0 !important; width:100%; height:auto !important; min-height:0 !important;
  aspect-ratio:3/2; border-radius:10px; overflow:hidden;
}
.np-room-active .np-room .np-content-card img { width:100% !important; height:100% !important; min-height:0; object-fit:contain !important; border-radius:9px; }
.np-room-active .np-room .np-card-copy { width:100%; padding:14px 4px 16px !important; background:transparent !important; justify-content:flex-start; gap:8px; }
.np-room-active .np-room .np-card-copy h3 { font-size:23px; line-height:1.16; color:white !important; }
.np-room-active .np-room .np-card-copy p { color:#d5cfe7 !important; font-size:15px; line-height:1.5; }
.np-room-active .np-room .np-game-actions { padding:0 3px 3px; margin-top:auto; }
.np-room-active .np-room .np-game-direct { display:flex; width:100%; border:0; border-radius:12px; background:var(--room-blue); color:#fff !important; min-height:47px; font-weight:850; font-size:16px; }
.np-room-active .np-room .is-selected .np-game-direct { background:var(--room-yellow); color:#151526 !important; }
.np-room-active .np-room .np-game-preview.np-room-preview { position:absolute; bottom:8px; right:8px; opacity:0; border:1px solid #beb3dc; border-radius:9px; background:#19152eea; color:white; font-family:inherit; font-size:13px; font-weight:700; line-height:1.2; padding:9px 12px; cursor:pointer; min-height:36px; }
.np-room-active .np-room .np-content-card:hover .np-room-preview,
.np-room-active .np-room .np-room-preview:focus-visible { opacity:1; }
.np-room-active .np-room [hidden] { display:none !important; }
.np-room-empty { background:#221d3dec; padding:24px; border:1px solid #65557e; border-radius:16px; }
.np-room-active .np-room :is(a,button):focus-visible { outline:3px solid #ffdf32; outline-offset:4px; }
@media(max-width:900px) {
  .np-room-active .np-room { background-attachment:scroll !important; background-size:auto 1100px !important; }
  .np-room-active .np-room .np-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px !important; }
  .np-room-active .np-room .np-content-card,
  .np-room-active .np-room .np-content-card.np-room-last-two,
  .np-room-active .np-room .np-content-card.np-room-last-one { grid-column:auto; }
  .np-room-active .np-room .np-featured-native > .wp-block-columns { grid-template-columns:1.2fr 1fr; }
  .np-room-welcome { max-width:58%; min-height:245px; }
  .np-room-nav { align-items:flex-start; }
  .np-room-links a,.np-room-links button { font-size:13px; padding:9px 12px; }
}
@media(max-width:600px) {
  .np-room-active .np-room { background-position:60% top !important; padding-bottom:44px !important; }
  .np-room-active .np-room .np-room-top,.np-room-active .np-room .np-category-content { width:calc(100% - 28px) !important; }
  .np-room-nav { flex-wrap:wrap; gap:12px; padding:18px 0; }
  .np-room-brand { font-size:24px; }
  .np-room-links { width:100%; }
  .np-room-links > * { flex:1; text-align:center; }
  .np-room-welcome { max-width:100%; min-height:250px; padding-top:50px; }
  .np-room-active .np-room .np-room-welcome h1 { max-width:340px; font-size:36px; }
  .np-room-welcome p { max-width:340px; padding:8px; border-radius:8px; background:#17132cd9; }
  .np-room-active .np-room .np-featured-native > .wp-block-columns { grid-template-columns:1fr; }
  .np-room-active .np-room .np-featured-image-wrap { grid-column:1; grid-row:1; }
  .np-room-active .np-room .np-featured-info { grid-column:1; grid-row:2; padding:22px !important; }
  .np-room-active .np-room .np-card-grid { grid-template-columns:1fr; gap:20px !important; }
  .np-room-filters { gap:8px; }
  .np-room-filters button { padding:10px 16px; font-size:14px; }
  .np-room-active .np-room .np-game-preview.np-room-preview { opacity:1; }
}
@media(prefers-reduced-motion:reduce) { .np-room-active .np-room * { scroll-behavior:auto !important; transition:none !important; } .np-room-active .np-room .np-content-card:hover { transform:none; } }

.np-room-brand { display:inline-flex; align-items:center; gap:10px; }
.np-room-brand svg { width:32px; height:32px; flex:none; }

/* 5.20.1: isolate presentation from the old winter template and free-layout controls. */
body.np-room-active { margin:0; padding:0; }
body.np-room-active .np-room-legacy-host { display:none !important; }
body.np-room-active > #np-gaming-room {
  display:block !important; position:relative !important; z-index:10;
  min-height:100vh; transform:none !important; translate:none !important;
  rotate:none !important; clear:both; overflow:hidden;
}
body.np-room-active #np-gaming-room > .np-room-top,
body.np-room-active #np-gaming-room > .np-category-content {
  display:block; position:relative; inset:auto !important;
  transform:none !important; translate:none !important; rotate:none !important;
  float:none !important; padding:0 !important; height:auto !important;
}
body.np-room-active #np-gaming-room .np-featured-banner,
body.np-room-active #np-gaming-room .np-card-grid {
  width:100% !important; max-width:none !important; min-width:0 !important;
  height:auto !important; position:relative !important; inset:auto !important;
  translate:none !important; rotate:none !important; transform:none !important;
  float:none !important;
}
body.np-room-active #np-gaming-room .np-featured-native > .wp-block-columns {
  width:100% !important; max-width:none !important; margin:0 !important;
}
body.np-room-active #np-gaming-room .np-featured-image-wrap,
body.np-room-active #np-gaming-room .np-featured-info {
  width:auto !important; max-width:none !important; min-width:0 !important;
  margin:0 !important; translate:none !important; rotate:none !important;
  transform:none !important;
}
body.np-room-active .np-room-site-footer { position:relative; z-index:10; }
