/* JOIGang dark theme.
 * Activated by html[data-jg-theme="dark"] (set pre-paint from localStorage,
 * toggled by the moon button in the header). The whole site shares one
 * palette family (white cards, #f3d9f7 borders, ink text) so the overrides
 * below are grouped by role, not by page.
 *
 * Dark palette:
 *   page bg    #140a1c      card bg   #241332
 *   card line  #3d2352      soft chip #351d47
 *   input bg   #1c0e29      text      #ece2f6
 *   muted text #b8a5cb      faint     #8f7aa6
 * Brand pink/purple/gold accents stay untouched.
 */

/* ---------- base ---------- */
html[data-jg-theme="dark"] body {
	background: #140a1c !important;
	color: #ece2f6;
}
html[data-jg-theme="dark"] .site-main,
html[data-jg-theme="dark"] .elementor-section:not([style*="background-image"]),
html[data-jg-theme="dark"] .elementor-container {
	background-color: transparent;
}
html[data-jg-theme="dark"] h1,
html[data-jg-theme="dark"] h2,
html[data-jg-theme="dark"] h3,
html[data-jg-theme="dark"] h4,
html[data-jg-theme="dark"] h5 { color: #f4ecfb; }
html[data-jg-theme="dark"] .jg-hero h1,
html[data-jg-theme="dark"] .jg-sec-h2,
html[data-jg-theme="dark"] .jg-l-h2,
html[data-jg-theme="dark"] .jg-pricing-h2,
html[data-jg-theme="dark"] .jgcs-h2 { color: #f4ecfb; }
html[data-jg-theme="dark"] .jg-hero p,
html[data-jg-theme="dark"] .jg-pricing-hero p { color: #b8a5cb; }
/* header/footer are dark by design already — just soften the divider */
html[data-jg-theme="dark"] .jg-hdr { background: #1b0d27; }
html[data-jg-theme="dark"] .jg-ftr { background: #1b0d27; }
html[data-jg-theme="dark"] .jg-hdr-theme { background: rgba(255, 255, 255, .14); }

/* ---------- video platform (uses CSS vars — flip them wholesale) ---------- */
html[data-jg-theme="dark"] {
	--jg-text: #ece2f6;
	--jg-muted: #b8a5cb;
	--jg-line: #3d2352;
	--jg-card: #241332;
	--jg-soft: #351d47;
}
html[data-jg-theme="dark"] .jgvp-home,
html[data-jg-theme="dark"] .jgvp-watch { color: #ece2f6; }
html[data-jg-theme="dark"] .jgvp-searchbar input[type="search"],
html[data-jg-theme="dark"] .jgvp-filter-main input[type="search"],
html[data-jg-theme="dark"] .jgvp-filter-main select,
html[data-jg-theme="dark"] .jgvp-tagsearch,
html[data-jg-theme="dark"] .jgvp-tagfilter summary {
	background: #1c0e29 !important;
	color: #ece2f6 !important;
	border-color: #3d2352 !important;
}
html[data-jg-theme="dark"] .jgvp-tag { background: #351d47; color: #f2e6fb !important; }
html[data-jg-theme="dark"] .jgvp-tag:hover { background: var(--jg-pink); color: #27103A !important; }
html[data-jg-theme="dark"] .jgvp-tagfilter-panel,
html[data-jg-theme="dark"] .jgvp-cta-list {
	background: #241332;
	border-color: #3d2352;
}
html[data-jg-theme="dark"] .jgvp-tagfilter-list { background: #1c0e29; border-color: #3d2352; }
html[data-jg-theme="dark"] .jgvp-tagfilter-list label { color: #d9c9e8; }
html[data-jg-theme="dark"] .jgvp-cta-list a { color: #ece2f6 !important; }
html[data-jg-theme="dark"] .jgvp-cta-list a:hover { background: #351d47; }
html[data-jg-theme="dark"] .jgvp-cta-ghost { background: #241332; }
html[data-jg-theme="dark"] .jgvp-row { scrollbar-color: var(--jg-pink) #2a1638; }
html[data-jg-theme="dark"] .jgvp-row::-webkit-scrollbar-track { background: #2a1638; }
html[data-jg-theme="dark"] .jgvp-hcar { scrollbar-color: #F674FF #2a1638; }
html[data-jg-theme="dark"] .jgvp-hcar::-webkit-scrollbar-track { background: #2a1638; }
html[data-jg-theme="dark"] .jgvp-pagination a,
html[data-jg-theme="dark"] .jgvp-pagination span {
	background: #241332;
	border-color: #3d2352;
	color: #ece2f6 !important;
}
html[data-jg-theme="dark"] .jgvp-playlist { background: #1c0e29; border-color: #3d2352; }
html[data-jg-theme="dark"] .jgvp-playlist h3 { background: #351d47; color: #f2e6fb; }
html[data-jg-theme="dark"] .jgvp-playlist-item { border-color: #2f1a40; color: #ece2f6 !important; }
html[data-jg-theme="dark"] .jgvp-playlist-item:hover,
html[data-jg-theme="dark"] .jgvp-playlist-item.is-current { background: #351d47; }
html[data-jg-theme="dark"] .jgvp-watch .jgvp-react,
html[data-jg-theme="dark"] .jgvp-watch .jgvp-react:focus,
html[data-jg-theme="dark"] .jgvp-watch .jgvp-react:active {
	background: #241332 !important;
	color: #ece2f6 !important;
	border-color: #3d2352 !important;
}
html[data-jg-theme="dark"] .jgvp-watch .jgvp-react.is-active { background: var(--jg-grad) !important; color: var(--jg-ink) !important; border-color: var(--jg-pink) !important; }
html[data-jg-theme="dark"] .jgvp-comment-form textarea { background: #1c0e29; color: #ece2f6; border-color: #3d2352; }
html[data-jg-theme="dark"] .jgvp-comment-author { color: #f4ecfb; }
html[data-jg-theme="dark"] .jgvp-comment-body { color: #ded0eb; }
html[data-jg-theme="dark"] .jgvp-handy { background: #241332; border-color: #3d2352; }
html[data-jg-theme="dark"] .jgvp-handy > summary { color: #f4ecfb; }
html[data-jg-theme="dark"] .jgvp-handy[open] > summary { background: #2a1638; border-color: #3d2352; }
html[data-jg-theme="dark"] .jgvp-handy-hint { color: #b8a5cb; }
html[data-jg-theme="dark"] .jgvp-handy-row input[type="text"] { background: #1c0e29; color: #ece2f6; border-color: #4a2a63; }
html[data-jg-theme="dark"] .jgvp-handy-filelabel { border-color: #4a2a63; color: #b8a5cb; }
html[data-jg-theme="dark"] .jgvp-handy-filelabel:hover { background: #2a1638; }
html[data-jg-theme="dark"] .jgvp-handy-filelabel.is-loaded { background: #12291c; border-color: #1d8348; color: #6fdd9c; }
html[data-jg-theme="dark"] .jgvp-handy-variant { background: #1c0e29; color: #ece2f6; border-color: #4a2a63; }
html[data-jg-theme="dark"] .jgvp-handy-status { color: #b8a5cb; }
html[data-jg-theme="dark"] .jgvp-handy-status.is-ok { color: #6fdd9c; }
html[data-jg-theme="dark"] .jgvp-fsgate { background: #241332; border-color: #3d2352; }
html[data-jg-theme="dark"] .jgvp-fsgate-sub { color: #c9b8da; }
html[data-jg-theme="dark"] .jgvp-fsgate-lock { background: #2a1638; border-color: #3d2352; }
html[data-jg-theme="dark"] .jgvp-tier { background: #241332; border-color: #3d2352; }
html[data-jg-theme="dark"] .jgvp-tier-name { color: #f4ecfb; }
html[data-jg-theme="dark"] .jgvp-tier-feats { color: #d9c9e8; }
html[data-jg-theme="dark"] .jgvp-tier-feats li.jgvp-tier-plus { color: #b8a5cb; }
html[data-jg-theme="dark"] .jgvp-tier-price span { -webkit-text-fill-color: #b8a5cb; }
html[data-jg-theme="dark"] .jgvp-desc-body { color: #d9c9e8; }
html[data-jg-theme="dark"] .jgvp-desc-label { color: #b8a5cb; }

/* ---------- shared cards (account / pricing / signin / landing / news / calendar / games) ---------- */
html[data-jg-theme="dark"] .jg-card,
html[data-jg-theme="dark"] .jg-l-step,
html[data-jg-theme="dark"] .jg-l-feature,
html[data-jg-theme="dark"] .jg-l-join,
html[data-jg-theme="dark"] .jg-copycard,
html[data-jg-theme="dark"] .jg-pricing-patreon,
html[data-jg-theme="dark"] .jg-matrix-wrap,
html[data-jg-theme="dark"] .jg-faq details,
html[data-jg-theme="dark"] .jg-retain,
html[data-jg-theme="dark"] .jg-fslib-row,
html[data-jg-theme="dark"] .jg-acct-legacy,
html[data-jg-theme="dark"] .jgn-item,
html[data-jg-theme="dark"] .jgn-prefs,
html[data-jg-theme="dark"] .jg-cal-day,
html[data-jg-theme="dark"] .jg-cal-done,
html[data-jg-theme="dark"] .jg-game-choice,
html[data-jg-theme="dark"] .jg-game-feat,
html[data-jg-theme="dark"] .jg-game-dl,
html[data-jg-theme="dark"] .jg-ooo-slots,
html[data-jg-theme="dark"] .jg-ljc-full {
	background: #241332;
	border-color: #3d2352;
	color: #ece2f6;
}
html[data-jg-theme="dark"] .jg-card h3,
html[data-jg-theme="dark"] .jg-l-step h3,
html[data-jg-theme="dark"] .jg-l-feature h3,
html[data-jg-theme="dark"] .jg-copycard h2,
html[data-jg-theme="dark"] .jg-copycard h3,
html[data-jg-theme="dark"] .jg-copycard h4,
html[data-jg-theme="dark"] .jgn-title a,
html[data-jg-theme="dark"] .jg-cal-day h4,
html[data-jg-theme="dark"] .jg-fslib-title { color: #f4ecfb !important; }
html[data-jg-theme="dark"] .jg-card-sub,
html[data-jg-theme="dark"] .jg-l-step p,
html[data-jg-theme="dark"] .jg-l-feature p,
html[data-jg-theme="dark"] .jg-faq p,
html[data-jg-theme="dark"] .jg-pricing-patreon p,
html[data-jg-theme="dark"] .jgn-pref,
html[data-jg-theme="dark"] .jgn-excerpt,
html[data-jg-theme="dark"] .jg-cal-lead,
html[data-jg-theme="dark"] .jg-l-note,
html[data-jg-theme="dark"] .jg-cal-note,
html[data-jg-theme="dark"] .jg-cal-lock-note,
html[data-jg-theme="dark"] .jgn-meta,
html[data-jg-theme="dark"] .jg-fslib-file,
html[data-jg-theme="dark"] .jgvp-note,
html[data-jg-theme="dark"] .jg-ooo-contact,
html[data-jg-theme="dark"] .jg-fslib-head p,
html[data-jg-theme="dark"] .jg-signin-note,
html[data-jg-theme="dark"] .jg-game-choice-sub,
html[data-jg-theme="dark"] .jg-game-platforms,
html[data-jg-theme="dark"] .jg-game-dl-note { color: #b8a5cb !important; }
html[data-jg-theme="dark"] .jg-landing,
html[data-jg-theme="dark"] .jg-pricing,
html[data-jg-theme="dark"] .jg-acct,
html[data-jg-theme="dark"] .jg-fslib,
html[data-jg-theme="dark"] .jg-signin { color: #ece2f6; }
html[data-jg-theme="dark"] .jg-acct-hello { color: #f4ecfb; }
html[data-jg-theme="dark"] .jg-l-note-big { color: #ece2f6; }
html[data-jg-theme="dark"] .jg-ooo-slots { color: #ece2f6; }
html[data-jg-theme="dark"] .jg-btn-ghost { border-color: #4a2a63; color: #c9b8da !important; }
html[data-jg-theme="dark"] .jg-orders th { color: #b8a5cb; }
html[data-jg-theme="dark"] .jg-orders th,
html[data-jg-theme="dark"] .jg-orders td { border-color: #33204a; }
html[data-jg-theme="dark"] .jg-orders-more { background: #241332; }
html[data-jg-theme="dark"] .jg-matrix td:first-child { color: #c9b8da; }
html[data-jg-theme="dark"] .jg-matrix th,
html[data-jg-theme="dark"] .jg-matrix td { border-color: #33204a; }
html[data-jg-theme="dark"] .jg-matrix td.is-no { color: #5d4477; }
html[data-jg-theme="dark"] .jg-faq summary { color: #ece2f6; }
html[data-jg-theme="dark"] .jg-signin .login label,
html[data-jg-theme="dark"] .jg-pwcard label { color: #c9b8da; }
html[data-jg-theme="dark"] .jg-signin .login input[type="text"],
html[data-jg-theme="dark"] .jg-signin .login input[type="password"],
html[data-jg-theme="dark"] .jg-pwcard input[type="password"],
html[data-jg-theme="dark"] .jgn-pref input[type="email"],
html[data-jg-theme="dark"] .jg-fslib-search,
html[data-jg-theme="dark"] .jg-handylink-row input {
	background: #1c0e29;
	color: #ece2f6;
	border-color: #4a2a63;
}
html[data-jg-theme="dark"] .jg-signin-tabs { background: #241332; }
html[data-jg-theme="dark"] .jg-signin-tab { color: #b8a5cb; }
html[data-jg-theme="dark"] .jgn-pages a,
html[data-jg-theme="dark"] .jgn-pages span { border-color: #4a2a63; color: #ece2f6 !important; }
html[data-jg-theme="dark"] .jgn-btn[data-on="1"] { background: #35204a; color: #b8a5cb; }
html[data-jg-theme="dark"] .jg-l-cta-ghost { background: #241332; }
html[data-jg-theme="dark"] .jg-cal-slot { background: #2a1638; color: #ece2f6 !important; }

/* ---------- waifu grid + filter ---------- */
html[data-jg-theme="dark"] .jg-waifu-chip { background: #241332; border-color: #4a2a63; color: #d9c9e8; }
html[data-jg-theme="dark"] .jg-waifu-chip.is-active { background: linear-gradient(135deg, #A946B4, #F674FF); color: #fff; }
html[data-jg-theme="dark"] .jg-waifu figcaption { color: #d9c9e8; }
html[data-jg-theme="dark"] .jg-waifu figcaption small { color: #8f7aa6; }
html[data-jg-theme="dark"] .jg-waifu-noimg { background: linear-gradient(135deg, #351d47, #241332); }

/* ---------- character sheet + leaderboard ---------- */
html[data-jg-theme="dark"] .jgcs { color: #ece2f6; }
html[data-jg-theme="dark"] .jgcs-statcard,
html[data-jg-theme="dark"] .jgcs-breakdown,
html[data-jg-theme="dark"] .jgcs-ach,
html[data-jg-theme="dark"] .jgcs-girl,
html[data-jg-theme="dark"] .jgcs-lb-card,
html[data-jg-theme="dark"] .jgcs-optout,
html[data-jg-theme="dark"] .jgcs-fresh,
html[data-jg-theme="dark"] .jgcs-empty {
	background: #241332;
	border-color: #3d2352;
	color: #ece2f6;
}
html[data-jg-theme="dark"] .jgcs-statcard-lab,
html[data-jg-theme="dark"] .jgcs-girl-unmet,
html[data-jg-theme="dark"] .jgcs-ach-body small,
html[data-jg-theme="dark"] .jgcs-chal-prog b,
html[data-jg-theme="dark"] .jgcs-girl-act { color: #b8a5cb; }
html[data-jg-theme="dark"] .jgcs-girl-act.is-sum { color: #d9c9e8; }
html[data-jg-theme="dark"] .jgcs-girl-act { border-color: #33204a; }
html[data-jg-theme="dark"] .jgcs-ach-body strong,
html[data-jg-theme="dark"] .jgcs-breakdown > summary { color: #f4ecfb; }
html[data-jg-theme="dark"] .jgcs-breakrow { border-color: #33204a; }
html[data-jg-theme="dark"] .jgcs-breakrow span { color: #d9c9e8; }
html[data-jg-theme="dark"] .jgcs-chal-bar { background: #35204a; }
html[data-jg-theme="dark"] .jgcs-girl-name { color: #d9c9e8; }
html[data-jg-theme="dark"] .jgcs-lb-row { color: #ece2f6; }
html[data-jg-theme="dark"] .jgcs-toggle,
html[data-jg-theme="dark"] .jgcs-optout label { color: #d9c9e8; }

/* ---------- generic light text blocks inside Elementor content ---------- */
html[data-jg-theme="dark"] .elementor-widget-text-editor,
html[data-jg-theme="dark"] .elementor-widget-heading .elementor-heading-title { color: #ece2f6; }
html[data-jg-theme="dark"] .jg-noaccess { color: #ece2f6; }
html[data-jg-theme="dark"] .jg-noaccess .jg-w-btn-ghost { background: #241332 !important; }

/* ---------- round-23 additions ---------- */
/* Elementor headings carry their own high-specificity color rules
   ("Support us & unlock everything" stayed ink-on-dark) */
html[data-jg-theme="dark"] .elementor-widget-heading .elementor-heading-title,
html[data-jg-theme="dark"] .elementor-widget-text-editor,
html[data-jg-theme="dark"] .elementor-widget-text-editor p { color: #f4ecfb !important; }

/* news: homepage latest-post strip */
html[data-jg-theme="dark"] .jgn-latest {
	background: #241332;
	border-color: #3d2352;
	border-left-color: #F674FF;
	color: #ece2f6 !important;
}
html[data-jg-theme="dark"] .jgn-latest-excerpt { color: #b8a5cb; }
html[data-jg-theme="dark"] .jgn-latest-dot { background: #4a2a63; }
html[data-jg-theme="dark"] .jgn-latest-dot.is-active { background: #F674FF; }

/* news: single post page (article + latest-posts sidebar) */
html[data-jg-theme="dark"] .jgn-single-main,
html[data-jg-theme="dark"] .jgn-single-side {
	background: #241332;
	border-color: #3d2352;
	color: #ece2f6;
}
html[data-jg-theme="dark"] .jgn-single-title,
html[data-jg-theme="dark"] .jgn-single-side h3 { color: #f4ecfb; }
html[data-jg-theme="dark"] .jgn-single-content { color: #d9c9e8; }
html[data-jg-theme="dark"] .jgn-side-item { color: #ece2f6 !important; }
html[data-jg-theme="dark"] .jgn-side-item:hover,
html[data-jg-theme="dark"] .jgn-side-item.is-current { background: #351d47; outline-color: #4a2a63; }
html[data-jg-theme="dark"] .jgn-side-date { color: #8f7aa6; }
html[data-jg-theme="dark"] .jgn-lock { background: #2a1638; border-color: #3d2352; }
html[data-jg-theme="dark"] .jgn-lock-title { color: #f4ecfb; }
html[data-jg-theme="dark"] .jgn-btn-ghost { background: #241332; border-color: #4a2a63; color: #c9b8da !important; }

/* charsheet girls toolbar (search + franchise chips) */
html[data-jg-theme="dark"] .jgcs-girls-search,
html[data-jg-theme="dark"] .jg-waifu-search {
	background: #1c0e29;
	color: #ece2f6;
	border-color: #4a2a63;
}

html[data-jg-theme="dark"] .jgcs-girls-chip { background: #241332; border-color: #4a2a63; color: #d9c9e8; }
html[data-jg-theme="dark"] .jgcs-girls-chip.is-active { background: linear-gradient(135deg, #A946B4, #F674FF); color: #fff; }

/* leaderboard: zebra stripe + name color used the LIGHT palette */
html[data-jg-theme="dark"] .jgcs-lb-head h1 { color: #f4ecfb; }
html[data-jg-theme="dark"] .jgcs-lb-head p { color: #b8a5cb; }
html[data-jg-theme="dark"] .jgcs-lb-card h3 { color: #f4ecfb; border-bottom-color: #3d2352; }
html[data-jg-theme="dark"] .jgcs-lb-row:nth-child(odd) { background: #2f1a40; }
html[data-jg-theme="dark"] .jgcs-lb-row.is-me { background: linear-gradient(135deg, #3a1f4d, #532c6d); outline-color: #F674FF; }
html[data-jg-theme="dark"] .jgcs-lb-name { color: #ece2f6; }

html[data-jg-theme="dark"] .jgvp-pw-form input[type="password"] { background: #1c0e29; color: #ece2f6; border-color: #4a2a63; }
