:root {
  --bj-bg: #010201;
  --bj-panel: #030504;
  --bj-panel-2: #050806;
  --bj-paper: #f0f3f0;
  --bj-paper-dim: #aab3ac;
  --bj-green: #6fa244;
  --bj-green-dark: #527d34;
  --bj-steel: #879088;
  --bj-font: "Century Gothic", "Avenir Next", Avenir, Futura, "URW Gothic", "Trebuchet MS", Arial, sans-serif;
  --bj-line: rgba(255,255,255,.09);
  --bj-shell: 1380px;
  --bj-content: 1160px;
  --bj-radius: 6px;
  --bj-shadow: 0 24px 70px rgba(0,0,0,.28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bj-bg);
  color: var(--bj-paper);
  font-family: var(--bj-font);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
.site-shell { width: min(calc(100% - 48px), var(--bj-shell)); margin-inline: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto !important; width: auto; height: auto; margin: 10px; padding: 12px 18px; background: #fff; color: #000; z-index: 99999; }

.archive-strip { background: var(--bj-green); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .19em; }
.archive-strip__inner { min-height: 30px; display: flex; align-items: center; gap: 26px; }
.archive-strip__inner span + span::before { content: '•'; margin-right: 26px; opacity: .75; }

.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(3,5,4,.97); border-bottom: 1px solid var(--bj-line); backdrop-filter: blur(18px); transition: box-shadow .2s ease, background .2s ease; }
.site-header.is-scrolled { background: rgba(2,4,3,.995); box-shadow: 0 12px 35px rgba(0,0,0,.24); }
.site-header__inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.site-branding { flex: 0 0 auto; }
.brand-mark { display: flex; align-items: baseline; gap: 10px; text-decoration: none; line-height: 1; }
.brand-mark__main { font-size: 26px; font-weight: 800; letter-spacing: -.045em; }
.brand-mark__sub { color: var(--bj-green); font-size: 10px; font-weight: 900; letter-spacing: .2em; }
.custom-logo { display: block; max-height: 54px; width: auto; }

.site-navigation { min-width: 0; }
.primary-menu, .primary-menu ul { margin: 0; padding: 0; list-style: none; }
.primary-menu { display: flex; align-items: center; gap: 3px; }
.primary-menu > li { position: relative; }
.primary-menu a { display: flex; align-items: center; padding: 34px 15px; color: #ecefec; text-decoration: none; font-size: 17px; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; white-space: nowrap; }
.primary-menu > li > a:hover, .primary-menu > li.current-menu-item > a, .primary-menu > li.current-menu-ancestor > a { color: #fff; box-shadow: inset 0 -3px 0 var(--bj-green); }
.primary-menu .menu-item-has-children > a::after { content: '▾'; font-size: 9px; margin-left: 7px; color: var(--bj-steel); }
.primary-menu .sub-menu { position: absolute; left: 0; top: calc(100% - 1px); min-width: 230px; padding: 9px; background: #090d0a; border: 1px solid var(--bj-line); box-shadow: var(--bj-shadow); visibility: hidden; opacity: 0; transform: translateY(8px); transition: .16s ease; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; }
.primary-menu .sub-menu li { position: relative; }
.primary-menu .sub-menu a { padding: 10px 12px; border-radius: 3px; font-size: 12px; color: #d4d9d5; text-transform: none; letter-spacing: .02em; }
.primary-menu .sub-menu a:hover { background: var(--bj-panel-2); color: #fff; }
.primary-menu .sub-menu .sub-menu { left: calc(100% - 3px); top: -10px; }
.menu-toggle { display: none; }

.hero { position: relative; overflow: hidden; background: radial-gradient(circle at 83% 22%, rgba(111,162,68,.16), transparent 28%), linear-gradient(120deg, #040605 0%, #080b09 68%, #0c120d 100%); border-bottom: 1px solid var(--bj-line); }
.hero::before { content: ''; position: absolute; inset: 0; opacity: .23; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to bottom, #000, transparent 85%); }
.hero__grid { min-height: 650px; display: grid; grid-template-columns: minmax(0,.88fr) minmax(440px,1.12fr); align-items: center; gap: clamp(48px,7vw,110px); padding-block: 74px; position: relative; z-index: 1; }
.eyebrow { display: inline-block; color: var(--bj-green); font-size: 11px; font-weight: 900; letter-spacing: .22em; text-transform: uppercase; margin-bottom: 14px; }
.hero h1, .page-hero h1, .section-heading h2, .archive-statement h2 { margin: 0; font-family: var(--bj-font); font-weight: 700; line-height: .94; letter-spacing: -.045em; }
.hero h1 { max-width: 780px; font-size: clamp(58px,8vw,116px); }
.hero__lead { margin: 22px 0 0; color: #fff; font-size: clamp(19px,2.1vw,27px); font-weight: 700; max-width: 650px; }
.hero__intro { color: var(--bj-paper-dim); max-width: 650px; font-size: 15px; margin: 17px 0 0; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid transparent; text-decoration: none; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; transition: transform .16s ease, background .16s ease, border-color .16s ease; }
.button:hover { transform: translateY(-2px); }
.button--primary { background: var(--bj-green); color: #fff; }
.button--primary:hover { background: #88ca50; }
.button--ghost { border-color: rgba(255,255,255,.32); color: #fff; background: rgba(255,255,255,.02); }
.button--ghost:hover { border-color: #fff; }

.hero__media-frame { position: relative; background: #16161a; border: 1px solid rgba(255,255,255,.18); padding: 10px; box-shadow: 28px 34px 0 rgba(111,162,68,.09), var(--bj-shadow); transform: rotate(1.1deg); }
.hero__page-content { overflow: hidden; aspect-ratio: 750 / 528; background: #202024; }
.hero__page-content > * { margin: 0 !important; }
.hero__page-content figure { width: 100%; height: 100%; }
.hero__page-content img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: grayscale(100%) contrast(1.06); display: block; transition: filter .35s ease, transform .5s ease; }
.hero__media-frame:hover img { filter: grayscale(58%) contrast(1.05); transform: scale(1.015); }
.hero__media-label { position: absolute; right: -14px; bottom: 23px; padding: 9px 13px 8px; background: var(--bj-green); color: #fff; transform: rotate(-2deg); box-shadow: 0 12px 25px rgba(0,0,0,.3); }
.hero__media-label span, .hero__media-label strong { display: block; line-height: 1; }
.hero__media-label span { font-size: 8px; letter-spacing: .2em; font-weight: 800; margin-bottom: 5px; }
.hero__media-label strong { font-size: 12px; letter-spacing: .04em; }

.archive-index, .latest-posts { padding: 92px 0; background: var(--bj-bg); color: var(--bj-paper); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 38px; padding-bottom: 28px; border-bottom: 1px solid var(--bj-line); margin-bottom: 26px; }
.section-heading h2 { font-size: clamp(40px,5vw,72px); }
.section-heading p { max-width: 430px; margin: 0 0 7px; color: var(--bj-paper-dim); font-size: 14px; }
.feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-left: 1px solid var(--bj-line); }
.feature-card { min-height: 330px; position: relative; display: flex; flex-direction: column; padding: 26px; border-right: 1px solid var(--bj-line); border-bottom: 1px solid var(--bj-line); background: var(--bj-panel); text-decoration: none; overflow: hidden; transition: background .18s ease, color .18s ease; }
.feature-card::before { content:''; position:absolute; left:0; right:0; bottom:0; height:5px; background:var(--bj-green); transform:scaleX(0); transform-origin:left; transition: transform .22s ease; }
.feature-card:hover { background: var(--bj-panel-2); color: #fff; }
.feature-card:hover::before { transform: scaleX(1); }
.feature-card__number { font-family: var(--bj-font); font-size: 48px; line-height: 1; color: rgba(255,255,255,.12); }
.feature-card:hover .feature-card__number { color: rgba(255,255,255,.2); }
.feature-card__kicker { margin-top: auto; color: var(--bj-green); font-size: 9px; font-weight: 900; letter-spacing: .18em; }
.feature-card strong { margin-top: 5px; font-family: var(--bj-font); font-size: 32px; line-height: 1; }
.feature-card > span:last-of-type { margin-top: 9px; color: #929c94; font-size: 12px; }
.feature-card:hover > span:last-of-type { color: #d1d8d2; }
.feature-card i { position: absolute; right: 24px; top: 24px; font-style: normal; font-size: 22px; }

.archive-statement { padding: 84px 0; border-top: 1px solid var(--bj-line); border-bottom: 1px solid var(--bj-line); background: #070a08; }
.archive-statement__grid { display: grid; grid-template-columns: 180px minmax(0,850px); justify-content: center; gap: 60px; align-items: center; }
.archive-statement__mark { width: 150px; height: 150px; border: 2px solid var(--bj-green); display: grid; place-items: center; font-family: var(--bj-font); font-size: 54px; font-weight: 700; transform: rotate(-5deg); }
.archive-statement h2 { font-size: clamp(42px,5vw,72px); }
.archive-statement p { max-width: 780px; color: var(--bj-paper-dim); margin-bottom: 0; }

.latest-posts { padding-top: 82px; }
.post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.post-card { padding: 26px; min-height: 260px; background: var(--bj-panel); border: 1px solid var(--bj-line); color: var(--bj-paper); }
.post-card__date { color: var(--bj-green); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.post-card h2, .post-card h3 { margin: 14px 0 10px; font-family: var(--bj-font); line-height: 1.05; font-size: 30px; }
.post-card h2 a, .post-card h3 a { text-decoration: none; }
.post-card p { color: #aeb8b0; font-size: 13px; }
.text-link { font-size: 11px; font-weight: 900; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.text-link span { color: var(--bj-green); }

.page-hero { background: radial-gradient(circle at 82% 25%, rgba(111,162,68,.14), transparent 26%), #070a08; border-bottom: 1px solid var(--bj-line); }
.page-hero__inner { min-height: 275px; padding-block: 60px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.page-hero h1 { font-size: clamp(54px,7vw,100px); max-width: 1000px; }
.parent-link { color: #c9c5c0; text-decoration: none; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 11px; }
.parent-link:hover { color: #fff; }
.inner-main { min-height: 70vh; }
.content-shell, .listing-shell { width: min(calc(100% - 48px), var(--bj-content)); margin: 0 auto; padding: 58px 0 86px; transition: width .2s ease; }
.content-shell.has-wide-table { width: min(calc(100% - 48px), var(--bj-shell)); }
.content-card { background: var(--bj-panel); color: var(--bj-paper); border: 1px solid var(--bj-line); padding: clamp(24px,4vw,54px); box-shadow: 0 22px 58px rgba(0,0,0,.22); }
.content-shell.has-wide-table .content-card { padding-inline: clamp(18px,2.4vw,34px); }
.entry-content { min-width: 0; }
.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }
.entry-content p, .entry-content li { color: #c7cec8; }
.entry-content a { color: var(--bj-green); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content h2, .entry-content h3, .entry-content h4 { font-family: var(--bj-font); line-height: 1.1; color: #f1f4f1; font-weight: 700; }
.entry-content h2 { margin-top: 1.4em; font-size: 38px; }

.bj-table-scroll { width: 100%; overflow-x: auto; margin: 22px 0 30px; border: 1px solid var(--bj-line); background: #020302; -webkit-overflow-scrolling: touch; scrollbar-color: var(--bj-green-dark) #070a08; }
.bj-table-scroll table, .entry-content table { border-collapse: collapse; width: 100%; min-width: 860px; margin: 0; font-size: 13.5px; line-height: 1.45; }
.entry-content table th { background: #050806; color: #f3f6f3; text-align: left; font-size: 11px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.entry-content table th, .entry-content table td { padding: 13px 14px; border-bottom: 1px solid rgba(255,255,255,.075); vertical-align: middle; }
.entry-content table tbody tr:nth-child(even) { background: #030504; }
.entry-content table tbody tr:hover { background: rgba(111,162,68,.07); }
.entry-content table img { max-width: none; }

/* WP Data Access / DataTables compatibility */
.entry-content .dataTables_wrapper, .entry-content [class*="wpda"], .entry-content [class*="wpdata"] { max-width: 100%; }
.entry-content .dataTables_length, .entry-content .dataTables_filter, .entry-content .dataTables_info, .entry-content .dataTables_paginate { margin: 14px 0; font-size: 13px; color: var(--bj-paper-dim); }
.entry-content .dataTables_filter input, .entry-content .dataTables_length select, .entry-content input[type="search"], .entry-content select { min-height: 42px; border: 1px solid rgba(255,255,255,.14); background: #020302; padding: 7px 11px; color: var(--bj-paper); font-family: var(--bj-font); font-size: 13px; }
.entry-content .paginate_button { display: inline-block; padding: 7px 10px; margin: 2px; border: 1px solid rgba(255,255,255,.12); background: #070a08; text-decoration: none; cursor: pointer; }
.entry-content .paginate_button.current { background: var(--bj-green); color: #fff; border-color: var(--bj-green); }

/* Beta 3: collection/list refinement */
.entry-content table td { color: #cbd2cc; }
.entry-content table td:first-child, .entry-content table th:first-child { padding-left: 16px; }
.entry-content table td:last-child, .entry-content table th:last-child { padding-right: 16px; }
.entry-content table a { color: #9ac47c; text-decoration: none; }
.entry-content table a:hover { color: #c7e1b5; text-decoration: underline; text-underline-offset: 3px; }
.entry-content .dataTables_wrapper { color: var(--bj-paper); }
.entry-content .dataTables_wrapper .dataTables_paginate .paginate_button:hover { background: #101810; color: #fff !important; border-color: rgba(111,162,68,.48); }
.entry-content .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.entry-content .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { background: var(--bj-green); color: #fff !important; border-color: var(--bj-green); }

.child-page-nav { margin-top: 26px; padding: 26px; border: 1px solid var(--bj-line); background: #090d0a; }
.child-page-nav__label { display: block; margin-bottom: 14px; color: var(--bj-steel); font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.child-page-nav__links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.child-page-nav a { display: flex; justify-content: space-between; gap: 8px; padding: 11px 12px; background: #101611; text-decoration: none; font-size: 12px; }
.child-page-nav a span { color: var(--bj-green); }
.child-page-nav a:hover { background: #172019; }

.listing-shell .post-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.pagination { margin-top: 28px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.pagination a, .pagination span { padding: 8px 11px; border: 1px solid var(--bj-line); text-decoration: none; }
.pagination .current { background: var(--bj-green); border-color: var(--bj-green); }
.not-found { padding: 120px 0; text-align: center; }
.not-found h1 { font-family: var(--bj-font); font-size: clamp(58px,9vw,120px); line-height: 1; margin: 0 0 18px; }
.not-found p { color: var(--bj-paper-dim); }

.site-footer { border-top: 1px solid var(--bj-line); background: #030504; padding: 48px 0; }
.site-footer__grid { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.footer-brand { font-weight: 950; letter-spacing: -.02em; font-size: 19px; }
.site-footer p { margin: 7px 0 0; color: #8f8d90; font-size: 11px; }
.footer-meta { text-align: right; }

@media (max-width: 1180px) {
  .primary-menu a { padding-inline: 8px; font-size: 15px; }
  .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .child-page-nav__links { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 980px) {
  .archive-strip__inner { overflow: hidden; white-space: nowrap; }
  .site-header__inner { min-height: 72px; }
  .menu-toggle { display: flex; align-items: center; gap: 9px; border: 1px solid var(--bj-line); background: transparent; color: #fff; padding: 9px 11px; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .menu-toggle__bars { width: 17px; display: grid; gap: 3px; }
  .menu-toggle__bars span { height: 1px; background: currentColor; display: block; }
  .site-navigation { display: none; position: fixed; inset: 102px 0 0; padding: 18px 24px 40px; background: #030504; overflow-y: auto; border-top: 1px solid var(--bj-line); }
  .site-navigation.is-open { display: block; }
  .primary-menu { display: block; }
  .primary-menu > li { border-bottom: 1px solid var(--bj-line); }
  .primary-menu a { padding: 16px 4px; font-size: 16px; }
  .primary-menu > li > a:hover, .primary-menu > li.current-menu-item > a, .primary-menu > li.current-menu-ancestor > a { box-shadow: none; color: var(--bj-green); }
  .primary-menu .sub-menu { position: static; min-width: 0; padding: 0 0 10px 16px; border: 0; background: transparent; box-shadow: none; visibility: visible; opacity: 1; transform: none; }
  .primary-menu .sub-menu .sub-menu { position: static; }
  .primary-menu .sub-menu a { padding: 7px 4px; color: #aaa7a4; font-size: 12px; }
  .hero__grid { min-height: 0; grid-template-columns: 1fr; padding-block: 60px 72px; }
  .hero__copy { max-width: 760px; }
  .hero__media { max-width: 760px; }
  .archive-statement__grid { grid-template-columns: 130px 1fr; gap: 35px; }
  .archive-statement__mark { width: 120px; height: 120px; }
  .post-grid, .listing-shell .post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .child-page-nav__links { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .site-shell, .content-shell, .listing-shell { width: min(calc(100% - 28px), var(--bj-shell)); }
  .archive-strip__inner span:nth-child(n+2) { display: none; }
  .brand-mark__main { font-size: 20px; }
  .brand-mark__sub { display: none; }
  .hero__grid { padding-block: 48px 58px; gap: 40px; }
  .hero h1 { font-size: clamp(54px,17vw,80px); }
  .hero__lead { font-size: 19px; }
  .hero__actions { display: grid; }
  .hero__actions .button { width: 100%; }
  .hero__media-frame { box-shadow: 12px 16px 0 rgba(111,162,68,.10), var(--bj-shadow); transform: none; }
  .archive-index, .latest-posts { padding: 66px 0; }
  .section-heading { display: block; }
  .section-heading p { margin-top: 18px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 230px; }
  .archive-statement__grid { grid-template-columns: 1fr; }
  .archive-statement__mark { width: 92px; height: 92px; font-size: 40px; }
  .post-grid, .listing-shell .post-grid { grid-template-columns: 1fr; }
  .page-hero__inner { min-height: 220px; display: block; padding-block: 46px; }
  .page-hero h1 { font-size: clamp(50px,15vw,74px); }
  .parent-link { display: inline-block; margin-top: 22px; }
  .content-card { padding: 22px 16px; }
  .child-page-nav__links { grid-template-columns: 1fr; }
  .site-footer__grid { display: block; }
  .footer-meta { text-align: left; margin-top: 25px; }
}


/* =========================================================
   Collection 2.0 — Beta 4
   ========================================================= */
.collection-v2-page .page-hero {
  background: radial-gradient(circle at 82% 18%, rgba(111,162,68,.08), transparent 24%), #020302;
}
.collection-v2-page .content-shell {
  width: min(calc(100% - 48px), var(--bj-shell));
  padding-top: 34px;
}
.collection-v2-page .content-card {
  background: #020302;
  border-color: rgba(255,255,255,.075);
  box-shadow: 0 20px 48px rgba(0,0,0,.18);
  padding-inline: clamp(18px,2.4vw,34px);
}

.collection-v2 {
  margin-bottom: 20px;
  border: 1px solid rgba(255,255,255,.08);
  background: #020302;
}
.collection-v2__intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  padding: 24px 26px 22px;
  border-bottom: 1px solid rgba(255,255,255,.075);
}
.collection-v2__intro h2 {
  margin: 0;
  font-size: clamp(28px,3.5vw,46px);
  line-height: 1;
  letter-spacing: -.035em;
}
.collection-v2__intro p {
  max-width: 510px;
  margin: 0 0 2px;
  color: #89918b;
  font-size: 12px;
}
.collection-v2__formats {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  border-bottom: 1px solid rgba(255,255,255,.075);
}
.collection-format {
  min-height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 14px 18px;
  border-right: 1px solid rgba(255,255,255,.065);
  text-decoration: none;
  background: #010201;
  transition: background .16s ease, box-shadow .16s ease;
}
.collection-format:last-child { border-right: 0; }
.collection-format strong {
  color: #d8ddd9;
  font-size: 15px;
  letter-spacing: .02em;
}
.collection-format span {
  margin-top: 4px;
  color: #6f7771;
  font-size: 10px;
}
.collection-format:hover { background: #040705; }
.collection-format.is-active {
  background: #050806;
  box-shadow: inset 0 -3px 0 var(--bj-green);
}
.collection-format.is-active strong { color: #fff; }
.collection-format.is-active span { color: #8fa184; }

.collection-v2__tools {
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(280px,1fr) 105px auto auto minmax(130px,auto);
  align-items: end;
  gap: 10px;
  padding: 16px 18px;
  background: #020302;
}
.collection-search, .collection-pagesize {
  display: grid;
  gap: 6px;
}
.collection-search > span, .collection-pagesize > span {
  color: #747d76;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.collection-search input, .collection-pagesize select {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 0;
  outline: none;
  background: #010201;
  color: #d9dedb;
  font: 600 13px/1.2 var(--bj-font);
  padding: 0 13px;
}
.collection-search input:focus, .collection-pagesize select:focus {
  border-color: rgba(111,162,68,.62);
  box-shadow: 0 0 0 2px rgba(111,162,68,.07);
}
.collection-search input::placeholder { color: #535a55; }
.collection-tool-button {
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.10);
  background: #040605;
  color: #cbd1cc;
  padding: 0 14px;
  font: 800 10px/1 var(--bj-font);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.collection-tool-button:hover { background: #070b08; border-color: rgba(111,162,68,.28); }
.collection-tool-button--reset { color: #929a94; }
.collection-columns { position: relative; }
.collection-columns__panel {
  position: absolute;
  z-index: 20;
  right: 0;
  top: calc(100% + 7px);
  width: 250px;
  max-height: 360px;
  overflow: auto;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.11);
  background: #050806;
  box-shadow: 0 18px 46px rgba(0,0,0,.55);
}
.collection-columns__panel > strong {
  display: block;
  margin-bottom: 10px;
  color: #828b84;
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.collection-column-option {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 4px;
  color: #c4cbc6;
  font-size: 11px;
  cursor: pointer;
}
.collection-column-option input { accent-color: var(--bj-green); }
.collection-v2__status {
  align-self: center;
  justify-self: end;
  color: #69716b;
  font-size: 10px;
  text-align: right;
}

/* Make the collection itself almost black. Plugin styles are intentionally overridden. */
.collection-v2-page .bj-table-scroll,
.collection-v2-page .entry-content .dataTables_wrapper,
.collection-v2-page .entry-content [class*="wpda"],
.collection-v2-page .entry-content [class*="wpdata"] {
  background: #010201 !important;
}
.collection-v2-page .bj-table-scroll {
  border-color: rgba(255,255,255,.075);
  margin-top: 10px;
}
.collection-v2-page .entry-content table,
.collection-v2-page .entry-content table.dataTable,
.collection-v2-page .entry-content table.dataTable.no-footer {
  background: #010201 !important;
  color: #adb5af !important;
  border: 0 !important;
  border-bottom: 0 !important;
}
.collection-v2-page .entry-content table thead,
.collection-v2-page .entry-content table thead tr,
.collection-v2-page .entry-content table th,
.collection-v2-page .entry-content table.dataTable thead th,
.collection-v2-page .entry-content table.dataTable thead td {
  background: #040605 !important;
  color: #c9cfca !important;
  border-color: rgba(255,255,255,.075) !important;
}
.collection-v2-page .entry-content table th {
  position: sticky;
  top: 0;
  z-index: 3;
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: 10px;
}
.collection-v2-page .entry-content table tbody tr,
.collection-v2-page .entry-content table.dataTable.stripe tbody tr.odd,
.collection-v2-page .entry-content table.dataTable.display tbody tr.odd {
  background: #010201 !important;
}
.collection-v2-page .entry-content table tbody tr:nth-child(even),
.collection-v2-page .entry-content table.dataTable.stripe tbody tr.even,
.collection-v2-page .entry-content table.dataTable.display tbody tr.even {
  background: #020302 !important;
}
.collection-v2-page .entry-content table tbody tr:hover,
.collection-v2-page .entry-content table.dataTable.hover tbody tr:hover,
.collection-v2-page .entry-content table.dataTable.display tbody tr:hover {
  background: #050806 !important;
}
.collection-v2-page .entry-content table td,
.collection-v2-page .entry-content table.dataTable tbody th,
.collection-v2-page .entry-content table.dataTable tbody td {
  background: transparent !important;
  color: #aeb6b0 !important;
  border-color: rgba(255,255,255,.05) !important;
  box-shadow: none !important;
}
.collection-v2-page .entry-content table a { color: #82a96a !important; }
.collection-v2-page .entry-content table a:hover { color: #a9c797 !important; }

/* Hide the original DataTables controls: Collection 2.0 mirrors them above the table. */
.collection-v2-page .entry-content .dataTables_wrapper > .dataTables_filter,
.collection-v2-page .entry-content .dataTables_wrapper > .dataTables_length {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}
.collection-v2-page .entry-content .dataTables_info,
.collection-v2-page .entry-content .dataTables_paginate {
  color: #6f7771 !important;
}
.collection-v2-page .entry-content .dataTables_wrapper .dataTables_paginate .paginate_button {
  background: #020302 !important;
  color: #8d958f !important;
  border-color: rgba(255,255,255,.07) !important;
}
.collection-v2-page .entry-content .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: #050806 !important;
  color: #d6dcd7 !important;
  border-color: rgba(111,162,68,.24) !important;
}
.collection-v2-page .entry-content .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.collection-v2-page .entry-content .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: #0b120c !important;
  color: #a8c99a !important;
  border-color: rgba(111,162,68,.38) !important;
}

@media (max-width: 1040px) {
  .collection-v2__formats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .collection-format:nth-child(3) { border-right: 0; }
  .collection-format:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,.065); }
  .collection-v2__tools { grid-template-columns: minmax(220px,1fr) 95px auto auto; }
  .collection-v2__status { grid-column: 1 / -1; justify-self: start; text-align: left; }
}
@media (max-width: 700px) {
  .collection-v2-page .content-shell { width: min(calc(100% - 24px), var(--bj-shell)); }
  .collection-v2__intro { display: block; padding: 20px; }
  .collection-v2__intro p { margin-top: 12px; }
  .collection-v2__formats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .collection-format { min-height: 74px; padding-inline: 13px; }
  .collection-format:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.065); }
  .collection-format:nth-child(even) { border-right: 0; }
  .collection-format:nth-child(-n+4) { border-bottom: 1px solid rgba(255,255,255,.065); }
  .collection-v2__tools { grid-template-columns: 1fr 90px; align-items: end; }
  .collection-search { grid-column: 1 / -1; }
  .collection-columns, .collection-tool-button--reset { width: 100%; }
  .collection-columns .collection-tool-button, .collection-tool-button--reset { width: 100%; }
  .collection-columns__panel { left: 0; right: auto; width: min(290px, calc(100vw - 52px)); }
}

/* =========================================================
   Collection 2.1 — Beta 5
   ========================================================= */
.collection-v2-page .content-card,
.collection-v2,
.collection-v2__tools { background: #010201; }
.collection-v2-page .entry-content table,
.collection-v2-page .entry-content table.dataTable,
.collection-v2-page .entry-content table.dataTable.no-footer,
.collection-v2-page .bj-table-scroll,
.collection-v2-page .entry-content .dataTables_wrapper { background: #000 !important; }
.collection-v2-page .entry-content table tbody tr,
.collection-v2-page .entry-content table.dataTable.stripe tbody tr.odd,
.collection-v2-page .entry-content table.dataTable.display tbody tr.odd { background: #000 !important; }
.collection-v2-page .entry-content table tbody tr:nth-child(even),
.collection-v2-page .entry-content table.dataTable.stripe tbody tr.even,
.collection-v2-page .entry-content table.dataTable.display tbody tr.even { background: #010201 !important; }
.collection-v2-page .entry-content table tbody tr:hover,
.collection-v2-page .entry-content table.dataTable.hover tbody tr:hover,
.collection-v2-page .entry-content table.dataTable.display tbody tr:hover { background: #030604 !important; }
.collection-v2-page .entry-content table thead,
.collection-v2-page .entry-content table thead tr,
.collection-v2-page .entry-content table th,
.collection-v2-page .entry-content table.dataTable thead th,
.collection-v2-page .entry-content table.dataTable thead td { background: #020302 !important; }

.collection-v2__tools {
  grid-template-columns: minmax(250px,1.5fr) minmax(150px,.7fr) 112px 84px auto auto auto minmax(110px,auto);
  align-items: end;
  padding-bottom: 14px;
}
.collection-field,
.collection-view,
.collection-columns { display: grid; gap: 6px; }
.collection-field > span,
.collection-view > span,
.collection-control-label {
  color: #6d756f;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.collection-field input,
.collection-field select {
  width: 100%; min-height: 44px; border: 1px solid rgba(255,255,255,.085); border-radius: 0;
  outline: none; background: #000; color: #d2d8d3; font: 600 13px/1.2 var(--bj-font); padding: 0 12px;
}
.collection-field input:focus,
.collection-field select:focus { border-color: rgba(111,162,68,.5); box-shadow: 0 0 0 2px rgba(111,162,68,.05); }
.collection-view__buttons { display: grid; grid-template-columns: 1fr 1fr; }
.collection-view-button {
  min-height: 44px; padding: 0 11px; border: 1px solid rgba(255,255,255,.085); background: #020302;
  color: #7d867f; font: 800 9px/1 var(--bj-font); letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
}
.collection-view-button + .collection-view-button { border-left: 0; }
.collection-view-button.is-active { background: #071008; color: #c7ddbd; border-color: rgba(111,162,68,.35); }
.collection-columns .collection-tool-button { width: 100%; }
.collection-v2__status { padding-bottom: 12px; }

.collection-v2__quick {
  display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding: 0 18px 16px; background: #010201;
}
.collection-v2__quick > span { margin-right: 5px; color: #5f6761; font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.collection-v2__quick button {
  min-height: 30px; padding: 0 11px; border: 1px solid rgba(255,255,255,.07); background: #020302; color: #788079;
  font: 800 9px/1 var(--bj-font); letter-spacing: .05em; cursor: pointer;
}
.collection-v2__quick button:hover,
.collection-v2__quick button.is-active { border-color: rgba(111,162,68,.34); background: #061007; color: #b7d5a8; }
.collection-v2__active {
  display: flex; align-items: center; gap: 12px; padding: 10px 18px 15px; border-top: 1px solid rgba(255,255,255,.045); background: #010201;
}
.collection-v2__active > span { color: #59615b; font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.collection-v2__active > div { display: flex; flex-wrap: wrap; gap: 6px; }
.collection-v2__active > div span { padding: 5px 8px; background: #061007; border: 1px solid rgba(111,162,68,.18); color: #91ac84; font-size: 9px; }

.collection-card-grid {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 10px 0 22px;
}
.collection-card-grid[hidden] { display: none !important; }
.collection-card-item {
  min-height: 205px; padding: 18px; border: 1px solid rgba(255,255,255,.065); background: #010201;
  box-shadow: inset 0 2px 0 rgba(111,162,68,.12); transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.collection-card-item:hover { background: #020402; border-color: rgba(111,162,68,.22); transform: translateY(-1px); }
.collection-card-item__meta { min-height: 22px; display: flex; align-items: center; gap: 8px; color: #6f7871; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.collection-card-item__meta img { width: 24px; height: auto; max-height: 16px; object-fit: cover; }
.collection-card-item__meta b { margin-left: auto; color: #8fa382; font-weight: 700; }
.collection-card-item h3 { margin: 20px 0 24px; color: #d2d8d3; font-size: 19px; line-height: 1.18; letter-spacing: -.02em; }
.collection-card-item dl { margin: 0; display: grid; gap: 7px; }
.collection-card-item dl div { display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 9px; padding-top: 7px; border-top: 1px solid rgba(255,255,255,.045); }
.collection-card-item dt { color: #505751; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.collection-card-item dd { margin: 0; color: #89918b; font-size: 10px; overflow-wrap: anywhere; }
.collection-card-empty { grid-column: 1 / -1; padding: 35px; border: 1px solid rgba(255,255,255,.06); color: #757d77; text-align: center; }
body.collection-cards-active.collection-v2-page .bj-table-scroll { border-color: transparent; }
body.collection-cards-active.collection-v2-page .entry-content table { display: none !important; }
body.collection-cards-active.collection-v2-page .entry-content .dataTables_scrollHead { display: none !important; }

@media (max-width: 1180px) {
  .collection-v2__tools { grid-template-columns: minmax(220px,1fr) minmax(145px,.7fr) 110px 82px auto auto; }
  .collection-v2__status { grid-column: 1 / -1; justify-self: start; padding-bottom: 0; }
  .collection-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .collection-v2__tools { grid-template-columns: 1fr 1fr; }
  .collection-search { grid-column: 1 / -1; }
  .collection-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .collection-v2__tools { grid-template-columns: 1fr; }
  .collection-search { grid-column: auto; }
  .collection-card-grid { grid-template-columns: 1fr; }
  .collection-v2__quick { align-items: flex-start; }
}
