/* Noir Wideframe — dark full-width cinematic editorial */

body.theme-noir-wideframe {
  --nw-bg: #0B0D10;
  --nw-paper: #1A1D22;
  --nw-surface: #232830;
  --nw-text: #E7E3DC;
  --nw-muted: #A49C90;
  --nw-accent-ember: #D14B2A;
  --nw-accent-steel: #3A6EA5;
  --nw-accent-brass: #8C7A5B;
  --nw-border: #2C313A;
  --nw-radius: 8px;
  --nw-gap: 1rem;
  --nw-pad: 1.35rem;
  background: var(--nw-bg);
  color: var(--nw-text);
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  line-height: 1.56;
}

body.theme-noir-wideframe h1,
body.theme-noir-wideframe h2,
body.theme-noir-wideframe h3,
body.theme-noir-wideframe .logo-text { font-family: "Playfair Display", Georgia, serif; }
body.theme-noir-wideframe .site-nav a { text-transform: none; }

body.theme-noir-wideframe.nw-density-compact { --nw-gap: 0.7rem; --nw-pad: 0.95rem; }
body.theme-noir-wideframe.nw-density-balanced { --nw-gap: 1rem; --nw-pad: 1.35rem; }
body.theme-noir-wideframe.nw-density-airy { --nw-gap: 1.35rem; --nw-pad: 1.8rem; }

body.theme-noir-wideframe.nw-radius-0 { --nw-radius: 0px; }
body.theme-noir-wideframe.nw-radius-8 { --nw-radius: 8px; }
body.theme-noir-wideframe.nw-radius-pill { --nw-radius: 999px; }

body.theme-noir-wideframe .article-card,
body.theme-noir-wideframe .nw-rail-card,
body.theme-noir-wideframe .ticker-card,
body.theme-noir-wideframe .btn-primary,
body.theme-noir-wideframe .nw-btn-outline,
body.theme-noir-wideframe .sidebar-widget,
body.theme-noir-wideframe .poll-widget,
body.theme-noir-wideframe .pbn-ff-pill,
body.theme-noir-wideframe .pbn-ff-select,
body.theme-noir-wideframe .pbn-ff-textarea,
body.theme-noir-wideframe .nw-counters__inner,
body.theme-noir-wideframe .shop-product-card,
body.theme-noir-wideframe .shop-product-detail { border-radius: var(--nw-radius) !important; }

/* full-width dark header */
body.theme-noir-wideframe .site-header.nw-masthead {
  position: sticky;
  top: 0;
  z-index: 90;
  background: #0B0D10;
  border-bottom: 1px solid var(--nw-border);
}
body.theme-noir-wideframe .nw-masthead__inner {
  max-width: none;
  width: 100%;
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: var(--nw-gap);
  align-items: center;
  padding: 0.6rem 1.1rem;
}
body.theme-noir-wideframe .site-nav.nw-masthead__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.46rem;
}
body.theme-noir-wideframe .site-nav.nw-masthead__nav a {
  color: var(--nw-text);
  border: 1px solid #353B46;
  background: #1A1D22;
  padding: 0.38rem 0.68rem;
}
body.theme-noir-wideframe .site-nav.nw-masthead__nav a:hover {
  border-color: var(--nw-accent-ember);
  color: var(--nw-accent-ember);
}
body.theme-noir-wideframe .nw-masthead__tagline {
  margin: 0;
  padding: 0.24rem 1.1rem 0.44rem;
  color: var(--nw-muted);
  background: #111419;
}

/* structural ticker bands */
body.theme-noir-wideframe .ticker-wrap {
  max-width: none;
  width: 100%;
  margin: 0;
  border-top: 1px solid #232830;
  border-bottom: 1px solid #232830;
  padding: 0.5rem 1.1rem;
  background: #111419;
}
body.theme-noir-wideframe .nw-ticker--obsidian-rail .ticker-text {
  display: inline-flex;
  align-items: center;
  color: var(--nw-text);
  border: 1px solid #353B46;
  background: #1A1D22;
  padding: 0.22rem 0.62rem;
  margin: 0.1rem 0.2rem;
  text-decoration: none;
}
body.theme-noir-wideframe .nw-ticker--noir-strip .ticker-cards-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: var(--nw-gap);
}
body.theme-noir-wideframe .nw-ticker--blackout-line {
  background: #0B0D10;
  border-color: #0B0D10;
}
body.theme-noir-wideframe .nw-ticker--blackout-line .ticker-text { color: #E7E3DC; }
@media (max-width: 940px) { body.theme-noir-wideframe .nw-ticker--noir-strip .ticker-cards-grid { grid-template-columns: 1fr; } }

/* wide architecture */
body.theme-noir-wideframe .nw-home-shell {
  max-width: none;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: var(--nw-pad);
  padding: var(--nw-pad) 1.1rem 2.1rem;
}
body.theme-noir-wideframe .nw-home-main > * + * { margin-top: var(--nw-pad); }
body.theme-noir-wideframe .nw-home-rail { position: sticky; top: 88px; align-self: start; }
@media (max-width: 1120px) {
  body.theme-noir-wideframe .nw-home-shell { grid-template-columns: 1fr; }
  body.theme-noir-wideframe .nw-home-rail { position: static; }
}

body.theme-noir-wideframe .nw-rail-card {
  background: #1A1D22;
  border: 1px solid #343A44;
  padding: var(--nw-pad);
  margin-bottom: var(--nw-gap);
}
body.theme-noir-wideframe .nw-rail-card h3 { color: var(--nw-accent-brass); margin: 0 0 0.6rem; }

body.theme-noir-wideframe .nw-articles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--nw-gap);
}
@media (max-width: 1020px) { body.theme-noir-wideframe .nw-articles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { body.theme-noir-wideframe .nw-articles-grid { grid-template-columns: 1fr; } }

body.theme-noir-wideframe .article-card {
  border: 1px solid #313741;
  background: #1A1D22;
  overflow: hidden;
}
body.theme-noir-wideframe .article-card-img { width: 100%; height: 220px; object-fit: cover; }
body.theme-noir-wideframe .article-card-body { padding: var(--nw-pad); }
body.theme-noir-wideframe .article-card-category { color: var(--nw-accent-ember); font-weight: 700; }
body.theme-noir-wideframe .article-card h3 a { color: #E7E3DC; text-decoration: none; }
body.theme-noir-wideframe .article-card h3 a:hover { color: var(--nw-accent-steel); }

/* cinematic hero variants */
body.theme-noir-wideframe .nw-hero--blackout-stage,
body.theme-noir-wideframe .nw-hero--wide-cinema-split,
body.theme-noir-wideframe .nw-hero--night-mosaic-front {
  width: 100%;
  border: 1px solid #2C313A;
  background: #111419;
}

body.theme-noir-wideframe .nw-hero__bw-layout {
  display: grid;
  grid-template-columns: 14px minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 0;
}
body.theme-noir-wideframe .nw-hero__bw-rail { background: linear-gradient(#3A6EA5, #D14B2A); }
body.theme-noir-wideframe .nw-hero__bw-main { padding: var(--nw-pad); }
body.theme-noir-wideframe .nw-hero__bw-live { background: #D14B2A; color: #E7E3DC; padding: 0.2rem 0.6rem; }
body.theme-noir-wideframe .nw-hero__bw-photo {
  min-height: 340px;
  border-left: 1px solid #2F3440;
  background-size: cover;
  background-position: center;
}

body.theme-noir-wideframe .nw-hero__sb-grid {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
}
body.theme-noir-wideframe .nw-hero__sb-stack {
  padding: calc(var(--nw-pad) * 1.2);
  border-right: 1px solid #2F3440;
  background: #1A1D22;
}
body.theme-noir-wideframe .nw-hero__sb-card {
  min-height: 360px;
  display: flex;
  align-items: end;
  background-image: linear-gradient(#1A1D22, #0B0D10), var(--hero-bg, #232830);
  background-size: cover;
  background-position: center;
}
body.theme-noir-wideframe .nw-hero__sb-cap { width: 100%; padding: calc(var(--nw-pad) * 1.3); color: #E7E3DC; }

body.theme-noir-wideframe .nw-hero__cc-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: var(--nw-gap);
  padding: var(--nw-pad);
}
body.theme-noir-wideframe .nw-hero__cc-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--nw-gap);
}
body.theme-noir-wideframe .nw-hero__cc-tile {
  min-height: 180px;
  display: flex;
  align-items: end;
  text-decoration: none;
  border: 1px solid #343A44;
  background-image: linear-gradient(#232830, #1A1D22);
  background-size: cover;
  background-position: center;
}
body.theme-noir-wideframe .nw-hero__cc-tile--lead { min-height: 300px; grid-column: span 2; }
body.theme-noir-wideframe .nw-hero__cc-tile-cap {
  width: 100%;
  padding: 0.8rem;
  background: linear-gradient(#1A1D22, #0B0D10);
  color: #E7E3DC;
}
body.theme-noir-wideframe .nw-hero__cc-copy {
  background: #1A1D22;
  border: 1px solid #343A44;
  padding: var(--nw-pad);
}
@media (max-width: 980px) {
  body.theme-noir-wideframe .nw-hero__bw-layout,
  body.theme-noir-wideframe .nw-hero__sb-grid,
  body.theme-noir-wideframe .nw-hero__cc-grid,
  body.theme-noir-wideframe .nw-hero__cc-tiles { grid-template-columns: 1fr; }
  body.theme-noir-wideframe .nw-hero__cc-tile--lead { grid-column: span 1; }
}

/* counters as structural bands */
body.theme-noir-wideframe .nw-counters { max-width: none; width: 100%; margin: 1.6rem 0; padding: 0 1.1rem; }
body.theme-noir-wideframe .nw-counters__inner {
  border: 1px solid #313741;
  background: #1A1D22;
  padding: var(--nw-pad);
}
body.theme-noir-wideframe .nw-counters--panorama-metrics .nw-counters__si-row {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 0.8fr;
  gap: var(--nw-gap);
}
body.theme-noir-wideframe .nw-counters__si-unit { border-left: 1px solid #313741; padding-left: 0.7rem; }
body.theme-noir-wideframe .nw-counters__si-unit:first-child { border-left: 0; padding-left: 0; }
body.theme-noir-wideframe .nw-counters__si-score { display: block; font-size: clamp(1.7rem, 3vw, 2.7rem); font-weight: 800; color: #D14B2A; }

body.theme-noir-wideframe .nw-counters--dark-bento-wide .nw-counters__dp-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: var(--nw-gap);
}
body.theme-noir-wideframe .nw-counters__dp-cell {
  border: 1px solid #343A44;
  background: #232830;
  padding: 0.92rem;
}
body.theme-noir-wideframe .nw-counters--dark-bento-wide .nw-counters__dp-cell:first-child { grid-row: span 2; }
body.theme-noir-wideframe .nw-counters__dp-value { display: block; font-size: clamp(1.7rem, 3vw, 2.6rem); font-weight: 800; color: #3A6EA5; }

body.theme-noir-wideframe .nw-counters--ledger-strip .nw-counters__nr-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--nw-gap);
}
body.theme-noir-wideframe .nw-counters__nr-seg { border-bottom: 2px solid #3B424F; padding-bottom: 0.52rem; }
body.theme-noir-wideframe .nw-counters__nr-num { display: block; font-size: clamp(1.4rem, 2.7vw, 2.2rem); font-weight: 800; color: #8C7A5B; }
body.theme-noir-wideframe .nw-counters__nr-div { display: none; }

body.theme-noir-wideframe .nw-counters__dp-title,
body.theme-noir-wideframe .nw-counters__si-eyebrow,
body.theme-noir-wideframe .nw-counters__dp-label,
body.theme-noir-wideframe .nw-counters__si-meta,
body.theme-noir-wideframe .nw-counters__nr-lbl { color: #E7E3DC; }

@media (max-width: 860px) {
  body.theme-noir-wideframe .nw-counters--panorama-metrics .nw-counters__si-row,
  body.theme-noir-wideframe .nw-counters--dark-bento-wide .nw-counters__dp-grid,
  body.theme-noir-wideframe .nw-counters--ledger-strip .nw-counters__nr-bar { grid-template-columns: 1fr; }
  body.theme-noir-wideframe .nw-counters__si-unit { border-left: 0; border-top: 1px solid #313741; padding-top: 0.5rem; }
  body.theme-noir-wideframe .nw-counters__si-unit:first-child { border-top: 0; }
}

/* archive rail */
body.theme-noir-wideframe .nw-archive-rail {
  border: 1px solid #313741;
  background: #1A1D22;
  padding: var(--nw-pad);
}
body.theme-noir-wideframe .nw-archive-rail__head { display: flex; justify-content: space-between; gap: var(--nw-gap); }
body.theme-noir-wideframe .nw-archive-rail__link {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 0.6rem;
  border-top: 1px solid #313741;
  padding: 0.52rem 0;
  text-decoration: none;
  color: #E7E3DC;
}

/* full-width dark footer */
body.theme-noir-wideframe .site-footer.nw-footer {
  margin-top: 2rem;
  background: #0B0D10;
  border-top: 1px solid #232830;
}
body.theme-noir-wideframe .nw-footer__grid {
  max-width: none;
  width: 100%;
  padding: var(--nw-pad) 1.1rem;
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr 1fr;
  gap: var(--nw-pad);
}
body.theme-noir-wideframe .nw-footer__col a { color: #E7E3DC; text-decoration: none; }
body.theme-noir-wideframe .nw-footer__col a:hover { color: #3A6EA5; }
body.theme-noir-wideframe .nw-footer__meta,
body.theme-noir-wideframe .nw-footer__lede { color: #A49C90; }
body.theme-noir-wideframe .nw-footer__bottom {
  border-top: 1px solid #232830;
  text-align: center;
  padding: 0.85rem;
  color: #A49C90;
}
@media (max-width: 980px) { body.theme-noir-wideframe .nw-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { body.theme-noir-wideframe .nw-footer__grid { grid-template-columns: 1fr; } }

/* calm reading layer */
body.theme-noir-wideframe .nw-article-main .article-layout { max-width: 1160px; margin: 0 auto; }
body.theme-noir-wideframe .nw-article-main article .article-content,
body.theme-noir-wideframe .nw-article-main article .article-content--html {
  max-width: 760px;
  line-height: 1.74;
}

/* form row requirement */
body.theme-noir-wideframe .comment-fake-form .pbn-fake-form__comment-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--nw-gap);
}
body.theme-noir-wideframe .comment-fake-form .pbn-ff-inline--grow { grid-column: 1 / -1; }
@media (max-width: 760px) {
  body.theme-noir-wideframe .comment-fake-form .pbn-fake-form__comment-row { grid-template-columns: 1fr; }
}