/* ============================================================================
   PrintingProxies — site-wide DARK MODE (admin-only). Activated by `html.pp-dark`.
   Strategy: re-point the shared design-token systems (handles values used with
   !important automatically) + curated structural / WooCommerce / form / button /
   table / modal overrides scoped under html.pp-dark (so they win by specificity
   over component CSS regardless of load order). Brand orange is preserved as the
   accent; only surfaces, text, borders, inputs and shadows are re-themed.
   ========================================================================== */

/* ---- The footer toggle (NOT scoped to dark — must show in light too) ------ */
.pp-dark-switch {
	display: inline-flex; align-items: center; gap: 10px; margin-top: 16px;
	cursor: pointer; user-select: none; font: 700 13px/1 'Inter', sans-serif;
	color: #cdd3e0;
}
.pp-dark-switch__label { letter-spacing: .02em; }
.pp-dark-switch__track {
	position: relative; width: 46px; height: 26px; border-radius: 999px;
	background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.22);
	transition: background .2s ease, border-color .2s ease;
}
.pp-dark-switch__track input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.pp-dark-switch__thumb {
	position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%;
	background: #fff; transition: transform .2s ease; box-shadow: 0 2px 5px rgba(0,0,0,.3);
}
.pp-dark-switch__track input:checked ~ .pp-dark-switch__thumb { transform: translateX(20px); }
.pp-dark-switch__track input:checked,
.pp-dark-switch__track:has(input:checked) { background: linear-gradient(180deg,#f29342,#db6d22); border-color: transparent; }
.pp-dark-switch__track input:focus-visible ~ .pp-dark-switch__thumb { box-shadow: 0 0 0 3px rgba(224,123,48,.45); }

/* ====================  PALETTE + TOKEN RE-POINTING  ======================== */
html.pp-dark {
	--d-bg:    #0f1216;   /* page background        */
	--d-surf:  #181d25;   /* cards / panels         */
	--d-surf2: #20262f;   /* raised / inputs        */
	--d-ink:   #e7e9ee;   /* primary text           */
	--d-mut:   #a6aec0;   /* muted text             */
	--d-line:  #2b323d;   /* borders                */
	--d-acc:   #e98a3c;   /* accent (brand orange on dark) */
	--d-acc-soft: #2a2013;/* soft orange surface    */
	--d-link:  #f0a45f;

	color-scheme: dark;

	/* pp-* (home-v2 / sitewide) */
	--pp-bg: var(--d-bg); --pp-text: var(--d-ink); --pp-dark: var(--d-ink);
	--pp-muted: var(--d-mut); --pp-line: var(--d-line); --pp-soft: var(--d-surf);
	--pp-orange-soft: var(--d-acc-soft); --pp-orange-pale: var(--d-acc-soft); --pp-border: var(--d-line);
	/* og-* (how-to-order) */
	--og-bg: var(--d-bg); --og-card: var(--d-surf); --og-text: var(--d-ink);
	--og-muted: var(--d-mut); --og-line: var(--d-line); --og-soft: var(--d-surf2);
	/* ppb-* (blog) */
	--ppb-bg: var(--d-bg); --ppb-card: var(--d-surf); --ppb-text: var(--d-ink);
	--ppb-muted: var(--d-mut); --ppb-muted-2: var(--d-mut); --ppb-border: var(--d-line);
	--ppb-warm-soft: var(--d-acc-soft); --ppb-navy: var(--d-ink);
	/* ppccp-* (creator landing) */
	--ppccp-bg: var(--d-bg); --ppccp-white: var(--d-surf); --ppccp-text: var(--d-ink);
	--ppccp-ink: var(--d-ink); --ppccp-muted: var(--d-mut); --ppccp-line: var(--d-line);
	--ppccp-soft: var(--d-surf2); --ppccp-navy: var(--d-ink); --ppccp-navy-2: var(--d-ink);
}

/* cp3-* (card-printing) — tokens live on the page-template body */
html.pp-dark body.page-template-card-printing-3,
html.pp-dark .cp3-page {
	--cp3-bg: var(--d-bg); --cp3-card: var(--d-surf); --cp3-border: var(--d-line);
	--cp3-border-h: #3a4350; --cp3-accent-bg: var(--d-acc-soft);
	--cp3-text: var(--d-ink); --cp3-muted: var(--d-mut);
}
/* pp-pricing block re-defines pp tokens locally */
html.pp-dark .pp-pricing {
	--pp-bg: var(--d-bg); --pp-dark: var(--d-ink); --pp-line: var(--d-line);
}
/* Creator-program app tokens */
html.pp-dark .cp-app, html.pp-dark .cp-dash, html.pp-dark .cp-program, html.pp-dark .cp-modal {
	--ink: var(--d-ink); --ink-soft: var(--d-mut); --line: var(--d-line);
	--panel: var(--d-surf); --soft: var(--d-acc-soft); --soft-line: #3a2a18;
}

/* ============================  BASE  ====================================== */
html.pp-dark body,
html.pp-dark #outer-wrap,
html.pp-dark #wrap,
html.pp-dark #main,
html.pp-dark #content-wrap,
html.pp-dark .site-content,
html.pp-dark .content-area { background-color: var(--d-bg) !important; color: var(--d-ink); }

html.pp-dark p, html.pp-dark li, html.pp-dark dd, html.pp-dark dt, html.pp-dark span,
html.pp-dark h1, html.pp-dark h2, html.pp-dark h3, html.pp-dark h4, html.pp-dark h5, html.pp-dark h6,
html.pp-dark .entry-title, html.pp-dark .entry-content, html.pp-dark blockquote { color: var(--d-ink); }
html.pp-dark small, html.pp-dark .meta, html.pp-dark .muted, html.pp-dark figcaption { color: var(--d-mut); }
html.pp-dark a { color: var(--d-link); }
html.pp-dark a:hover { color: #ffc089; }
html.pp-dark hr, html.pp-dark .sep { border-color: var(--d-line); background: var(--d-line); }
html.pp-dark code, html.pp-dark pre, html.pp-dark kbd { background: var(--d-surf2); color: #ffd9b0; border-color: var(--d-line); }
html.pp-dark ::selection { background: rgba(233,138,60,.35); color: #fff; }

/* Generic content surfaces (articles, widgets, sidebars, cards) */
html.pp-dark article, html.pp-dark .entry, html.pp-dark .single .entry,
html.pp-dark .widget, html.pp-dark #sidebar, html.pp-dark .sidebar,
html.pp-dark .comment-body, html.pp-dark .comments-area,
html.pp-dark .oceanwp-row, html.pp-dark .clr { background-color: transparent; }

/* ============================  HEADER / NAV  ============================== */
/* pp-lovable header is already dark; just ensure dropdowns/menus are dark. */
html.pp-dark .ppl-dropdown, html.pp-dark .ppl-dropdown-inner,
html.pp-dark .ppl-mobile-drawer, html.pp-dark .ppl-mobile-submenu {
	background: #141922 !important; border-color: var(--d-line) !important; color: var(--d-ink);
}
html.pp-dark .ppl-dropdown-link, html.pp-dark .ppl-mobile-nav-link, html.pp-dark .ppl-mobile-submenu-link { color: var(--d-ink) !important; }
html.pp-dark .ppl-dropdown-link:hover { background: rgba(255,255,255,.06) !important; }
html.pp-dark .ppl-dropdown-note { color: var(--d-mut) !important; }

/* OceanWP default header/menus (non-lovable pages) */
html.pp-dark #site-header, html.pp-dark .oceanwp-top-bar, html.pp-dark #top-bar-wrap,
html.pp-dark .dropdown-menu, html.pp-dark #searchform-header-replace {
	background-color: #141922 !important; color: var(--d-ink);
}
html.pp-dark #site-navigation a, html.pp-dark .oceanwp-mobile-menu-icon a { color: var(--d-ink); }

/* ============================  FOOTER  =================================== */
/* Lovable footer is dark navy already; nudge any light bits. */
html.pp-dark #footer, html.pp-dark .site-footer, html.pp-dark #footer-widgets { background-color: #0b0e13 !important; color: var(--d-ink); }
html.pp-dark #footer a, html.pp-dark .ppl-footer-link { color: #c7cdd9; }
html.pp-dark #footer a:hover, html.pp-dark .ppl-footer-link:hover { color: #ffc089; }

/* ============================  CARDS / PANELS  ============================ */
html.pp-dark .ppl-card, html.pp-dark .pp-card, html.pp-dark .og-card,
html.pp-dark .cp3-card, html.pp-dark .cp-card, html.pp-dark .ppb-card,
html.pp-dark .mcv2-card, html.pp-dark .sl-info-card, html.pp-dark .pp-price-card,
html.pp-dark .pp-game-thumb, html.pp-dark .pp-faq-item, html.pp-dark .pp-rate {
	background-color: var(--d-surf) !important; border-color: var(--d-line) !important; color: var(--d-ink);
	box-shadow: 0 10px 28px rgba(0,0,0,.45);
}
html.pp-dark .pp-faq-toggle { background: var(--d-surf) !important; border-color: var(--d-line) !important; color: var(--d-acc) !important; }
html.pp-dark .pp-faq-toggle:hover { background: var(--d-acc-soft) !important; }

/* ============================  FORMS / INPUTS  =========================== */
html.pp-dark input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
html.pp-dark select, html.pp-dark textarea,
html.pp-dark .select2-selection, html.pp-dark .select2-search__field,
html.pp-dark .wc-block-components-text-input input {
	background-color: var(--d-surf2) !important; color: var(--d-ink) !important;
	border-color: var(--d-line) !important;
}
html.pp-dark input::placeholder, html.pp-dark textarea::placeholder { color: #7c8598 !important; }
html.pp-dark input:focus, html.pp-dark select:focus, html.pp-dark textarea:focus,
html.pp-dark .select2-container--focus .select2-selection {
	border-color: var(--d-acc) !important; box-shadow: 0 0 0 3px rgba(233,138,60,.22) !important; outline: none;
}
html.pp-dark label, html.pp-dark legend, html.pp-dark .form-row label { color: var(--d-ink); }
/* Select2 dropdowns */
html.pp-dark .select2-dropdown, html.pp-dark .select2-results__option {
	background-color: var(--d-surf2) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}
html.pp-dark .select2-results__option--highlighted { background-color: var(--d-acc) !important; color: #1a1206 !important; }
html.pp-dark .select2-selection__rendered { color: var(--d-ink) !important; }
html.pp-dark .select2-selection__arrow b { border-color: var(--d-mut) transparent transparent transparent; }

/* ============================  BUTTONS  ================================== */
/* Primary / brand buttons keep orange; force white text + safe hover. */
html.pp-dark .button, html.pp-dark button.button, html.pp-dark .btn, html.pp-dark .wp-element-button,
html.pp-dark .woocommerce a.button, html.pp-dark .woocommerce button.button,
html.pp-dark input[type=submit], html.pp-dark .single_add_to_cart_button, html.pp-dark .checkout-button {
	background: linear-gradient(180deg,#f29342,#db6d22) !important; color: #fff !important; border-color: transparent !important;
}
html.pp-dark .button:hover, html.pp-dark .btn:hover, html.pp-dark .woocommerce a.button:hover,
html.pp-dark .woocommerce button.button:hover, html.pp-dark input[type=submit]:hover,
html.pp-dark .single_add_to_cart_button:hover, html.pp-dark .checkout-button:hover { color: #fff !important; filter: brightness(1.07); }
/* Secondary / ghost / outline buttons → dark surface */
html.pp-dark .btn--secondary, html.pp-dark .btn--ghost, html.pp-dark .button.alt--outline,
html.pp-dark .ppl-action-cart, html.pp-dark .mcv2-view-btn, html.pp-dark .mcv2-dl-btn {
	background: var(--d-surf2) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}
html.pp-dark .btn--ghost:hover, html.pp-dark .mcv2-view-btn:hover { background: var(--d-acc-soft) !important; color: var(--d-acc) !important; }

/* ============================  TABLES  ================================== */
html.pp-dark table, html.pp-dark .shop_table, html.pp-dark .cp-table, html.pp-dark .cp-atable {
	background-color: var(--d-surf) !important; color: var(--d-ink) !important;
}
html.pp-dark th, html.pp-dark td { border-color: var(--d-line) !important; color: var(--d-ink) !important; }
html.pp-dark thead th, html.pp-dark tr:nth-child(even) td { background-color: var(--d-surf2) !important; }
html.pp-dark .cp-atable th { background: #232a34 !important; color: var(--d-mut) !important; }

/* ============================  WOOCOMMERCE  ============================== */
html.pp-dark .woocommerce, html.pp-dark .woocommerce-page,
html.pp-dark ul.products li.product, html.pp-dark .wc-block-grid__product,
html.pp-dark .cart_totals, html.pp-dark .woocommerce-checkout #payment,
html.pp-dark .woocommerce-order-details, html.pp-dark .woocommerce-MyAccount-content,
html.pp-dark .woocommerce-mini-cart, html.pp-dark .widget_shopping_cart_content,
html.pp-dark .wc-block-components-sidebar, html.pp-dark .wc-block-components-panel,
html.pp-dark .woocommerce-info, html.pp-dark .woocommerce-message, html.pp-dark .woocommerce-error {
	background-color: var(--d-surf) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}
html.pp-dark .woocommerce-checkout #payment { background-color: var(--d-surf) !important; }
html.pp-dark .woocommerce-checkout #payment .payment_box { background-color: var(--d-surf2) !important; color: var(--d-ink); }
html.pp-dark .woocommerce-checkout #payment .payment_box::before { border-bottom-color: var(--d-surf2) !important; }
html.pp-dark .woocommerce div.product p.price, html.pp-dark .woocommerce ul.products li.product .price,
html.pp-dark .woocommerce-Price-amount { color: #ffd9b0 !important; }
html.pp-dark .woocommerce-info, html.pp-dark .woocommerce-message { border-top-color: var(--d-acc) !important; }
html.pp-dark .star-rating::before, html.pp-dark .star-rating span::before { color: var(--d-acc) !important; }
html.pp-dark .select2-container--default .select2-selection--single { background: var(--d-surf2) !important; }

/* ============================  MODALS / POPUPS  ========================== */
html.pp-dark .cp-modal__inner, html.pp-dark .mcv2-modal-dialog, html.pp-dark .sl-modal-inner,
html.pp-dark .cp3-modal, html.pp-dark .cp3-deck-modal, html.pp-dark .mcv2-art-dialog,
html.pp-dark .cp3-info-modal, html.pp-dark .pp-recap, html.pp-dark .mcv2-recap {
	background-color: var(--d-surf) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}
html.pp-dark .cp-modal__overlay, html.pp-dark .mcv2-modal-overlay, html.pp-dark .sl-modal-overlay,
html.pp-dark .cp3-modal-overlay { background: rgba(0,0,0,.7) !important; }
html.pp-dark .cp-modal__close, html.pp-dark .mcv2-modal-x, html.pp-dark .sl-modal-close {
	background: var(--d-surf2) !important; color: var(--d-ink) !important;
}
html.pp-dark .mcv2-opt, html.pp-dark .cp-opt, html.pp-dark .cp3-deck-card { background: var(--d-surf2) !important; border-color: var(--d-line) !important; color: var(--d-ink) !important; }
html.pp-dark .mcv2-opt-sub, html.pp-dark .cp-opt-sub { color: var(--d-mut) !important; }
html.pp-dark .mcv2-modal-lock { background: #2a2013 !important; border-color: #5a3d1c !important; color: #ffce9b !important; }

/* Geo banner (already themed) — keep, just ensure text contrast */
/* geo banner kept normal in dark mode (excluded from the global net) */
html.pp-dark .sl-geo-banner, html.pp-dark .sl-geo-banner * { color: revert; }

/* ============================  PRICING / MISC SURFACES  ================== */
html.pp-dark .pp-pricing__inner, html.pp-dark .pp-pricing__footer, html.pp-dark .pp-best-value ~ * { background-image: none; }
html.pp-dark .pp-pricing__inner { background: var(--d-surf) !important; border-color: var(--d-line) !important; }
html.pp-dark .pp-save, html.pp-dark .pp-game-name, html.pp-dark .pp-faq-qt { color: var(--d-ink) !important; }
html.pp-dark .pp-faq-a, html.pp-dark .cp-stat__l, html.pp-dark .cp-muted { color: var(--d-mut) !important; }

/* ============================  MEDIA SAFETY  ============================= */
/* Don't touch real images/video. Slightly soften pure-white logos on dark. */
html.pp-dark img, html.pp-dark video, html.pp-dark canvas { filter: none; }
html.pp-dark .pp-game-thumb img { mix-blend-mode: normal; }

/* Trust/spec icons drawn with currentColor inherit text colour automatically. */
html.pp-dark svg { color: inherit; }

/* ====================  PER-PAGE BESPOKE MODULES  ========================== *
   Each bespoke template scopes its own private tokens to its page-id body
   class. We re-point those tokens (and fix the few hardcoded spots) per page.
   Add a block here for each remaining bespoke page. */

/* Contact / support (page id 72619) — tokens: --bg/--card/--line/--dark/--text/--muted/--o* */
html.pp-dark .page-id-72619 {
	--bg: var(--d-bg); --card: var(--d-surf); --line: var(--d-line);
	--dark: var(--d-ink); --text: #dfe3ec; --muted: var(--d-mut); --osoft: var(--d-acc-soft);
}
html.pp-dark .page-id-72619 #main,
html.pp-dark .page-id-72619 #content { background: var(--d-bg) !important; }
html.pp-dark .page-id-72619 .ppc-btn--ghost { background: var(--d-surf2) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important; }

/* ============================================================================
   CARD PRINTING 3  (/card-printing — theme template card-printing-3.php)
   cp3 ships its own cp3-*/pp-* component classes the generic dark rules above
   don't reach, so several surfaces stayed light. Two-step fix:
     1) Re-point cp3's own design tokens → darkens everything token-based.
     2) Explicit !important overrides for the hardcoded light surfaces.
   The brand orange accent is preserved throughout.
   ========================================================================== */

/* ── 1. Re-point cp3 tokens (guide, zoom buttons, modals, pricing shell,
      summary text, code chips, etc. all read these) ── */
html.pp-dark body.page-template-card-printing-3 {
	--cp3-bg:       #0f1216;
	--cp3-card:     #181d25;
	--cp3-border:   #2b323d;
	--cp3-border-h: #3a4250;
	--cp3-text:     #e7e9ee;
	--cp3-muted:    #a6aec0;
	/* --cp3-accent* (orange) intentionally left untouched */
}
/* Step-4 pricing tokens (declared at :root in the template) */
html.pp-dark { --pp-border-pp: #2b323d; --pp-muted-pp: #a6aec0; }

/* ── 2a. "How to format your list" guide ── */
html.pp-dark .cp3-decklist-guide { background: var(--d-surf) !important; border-color: var(--d-line) !important; }

/* ── 2b. Green "Cards added" confirmation ── */
html.pp-dark .cp3-success-block  { background: rgba(34,197,94,0.10) !important; border-color: rgba(134,239,172,0.35) !important; box-shadow: none !important; }
html.pp-dark .cp3-success-title,
html.pp-dark .cp3-success-icon   { color: #4ade80 !important; }
html.pp-dark .cp3-success-inline { color: #bbf7d0 !important; }

/* ── 2c. Zoom (2×/3×/5×) bar + buttons ── */
html.pp-dark .cp3-s3-bar      { background: var(--d-surf) !important; border-color: var(--d-line) !important; }
html.pp-dark .cp3-s3-zoom-btn { background: var(--d-surf2) !important; }   /* border/text via tokens; active = accent */

/* ── 2d. The card blocks (container holding the cards) ── */
html.pp-dark .cp3-cb { background: var(--d-surf) !important; border-color: rgba(233,138,60,0.45) !important; }
html.pp-dark .cp3-group-sep::before,
html.pp-dark .cp3-group-sep::after { background: rgba(233,138,60,0.40) !important; }

/* ── 2e. "Choose / Upload Back" block + its CTA ── */
html.pp-dark body.page-template-card-printing-3 .cp3-cb-back         { background: var(--d-surf) !important; border-color: rgba(233,138,60,0.45) !important; }
html.pp-dark body.page-template-card-printing-3 .cp3-cb-back-img-wrap{ background: var(--d-surf2) !important; }
html.pp-dark body.page-template-card-printing-3 .cp3-cb-back-cta     { background: var(--d-surf2) !important; }
html.pp-dark body.page-template-card-printing-3 .cp3-cb-back:hover .cp3-cb-back-cta { background: var(--d-acc-soft) !important; }

/* ── 2f. Foil button (was near-black border/text on white) ── */
html.pp-dark .cp3-cb-foil-btn        { background: transparent !important; border-color: var(--d-line) !important; color: var(--d-ink) !important; }
html.pp-dark .cp3-cb-foil-btn:hover  { border-color: #f59e0b !important; color: #fbbf24 !important; }
/* .cp3-cb-foil-btn--active keeps its amber identity (reads fine on dark) */

/* ── 2g. Card pricing + Foil pricing panel ── */
html.pp-dark .pp-pricing-panel { background: var(--d-surf2) !important; border-color: var(--d-line) !important; }
html.pp-dark .pp-tier-row      { background: var(--d-surf) !important; border-color: var(--d-line) !important; }
html.pp-dark .pp-tier-label    { background: var(--d-surf2) !important; color: var(--d-ink) !important; }
html.pp-dark .pp-tier-price    { color: var(--d-ink) !important; }
html.pp-dark .pp-active-tier .pp-tier-label { color: #3a2200 !important; }   /* gold active label keeps dark ink */

/* ── 2h. "This order would have costed you" savings banner ── */
html.pp-dark .pp-savings-banner   { background: var(--d-surf2) !important; border-color: rgba(241,164,46,0.55) !important; }
html.pp-dark .pp-savings-banner p { color: var(--d-ink) !important; }

/* ── 2i. Order summary card (inner was white) ── */
html.pp-dark .pp-summary-card { background: var(--d-surf) !important; border-color: rgba(241,164,46,0.55) !important; }
html.pp-dark .pp-line-icon    { background: rgba(233,138,60,0.16) !important; }
html.pp-dark .pp-order-total  { background: var(--d-surf2) !important; }
html.pp-dark .pp-order-total > span { color: var(--d-ink) !important; }
/* .pp-summary-header stays orange; copy/values use --pp-orange + re-pointed --cp3-muted */

/* ── 2j. "Restore saved card list?" popup ── */
html.pp-dark .cp3-ldm                 { background: var(--d-surf) !important; border-color: var(--d-line) !important; }
html.pp-dark .cp3-confirm-cancel      { border-color: var(--d-line) !important; }
html.pp-dark .cp3-confirm-cancel:hover{ background: var(--d-surf2) !important; border-color: var(--d-surf2) !important; }

/* ============================================================================
   GLOBAL AGGRESSIVE FALLBACK  (catch-all for bespoke hardcoded-light templates)
   The site has too many bespoke templates hardcoding light colours to theme one
   by one. This net darkens any surface-like element and forces readable text,
   while preserving buttons, badges, links, images, icons and brand accents.
   Lower visual finesse than hand-curation, but guarantees no blinding-white.
   ========================================================================== */

/* --- Surfaces: darken solid light backgrounds broadly --- */
html.pp-dark :is(
	section, article, aside,
	[class*="card"], [class*="panel"], [class*="block"], [class*="box"],
	[class*="section"], [class*="inner"], [class*="modal"], [class*="popup"],
	[class*="dialog"], [class*="overlay"], [class*="dlg"], [class*="tile"],
	[class*="tier"], [class*="strip"], [class*="field"], [class*="content"],
	[class*="-body"], [class*="-head"], [class*="wrap"], [class*="grid"],
	[class*="cell"], [class*="item"], [class*="row"], [class*="form"],
	[class*="table"], [class*="container"], [class*="widget"], [class*="module"],
	[class*="entry"], [class*="ldm"], [class*="ldbar"], [class*="adv-"], [class*="restore"]
):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([class*="badge"]):not([class*="pill"]):not([class*="tag"]):not([class*="icon"]):not([class*="flag"]):not([class*="ppl-"]):not([class*="avatar"]):not([class*="thumb"]):not([class*="media"]):not([class*="img"]):not([class*="logo"]):not(a):not(button):not(svg):not(img):not(input):not(select):not(textarea):not([class*="sl-geo"]) {
	background-color: var(--d-surf) !important;
	border-color: var(--d-line) !important;
}

/* --- Kill light gradients on common non-image surfaces --- */
html.pp-dark :is([class*="pricing"], [class*="price"], [class*="tier"], [class*="-card"], [class*="adv-"], [class*="ldm"], [class*="restore"]):not(img):not([style*="url("]) {
	background-image: none !important;
}

/* --- Text: force readable light, keep accents / buttons / header --- */
html.pp-dark :is(h1,h2,h3,h4,h5,h6,p,li,dd,dt,label,strong,em,b,small,td,th,figcaption,blockquote,span,div):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([class*="badge"]):not([class*="pill"]):not([class*="tag"]):not([class*="ppl-"]):not([class*="sl-geo"]) {
	color: var(--d-ink) !important;
}
html.pp-dark a:not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not(.ppl-action-discord):not([class*="ppl-"]) { color: var(--d-link) !important; }
/* Prices: warm/light so they never render black-on-dark. */
html.pp-dark :is([class*="price"], .woocommerce-Price-amount, .amount, [class*="-cost"], [class*="-total"], [class*="pricing"] [class*="value"]) { color: #ffd9b0 !important; }

/* --- Inputs (broad) --- */
html.pp-dark :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]) {
	background-color: var(--d-surf2) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}

/* ============================  WOOCOMMERCE MY-ACCOUNT  ==================== */
html.pp-dark .woocommerce-MyAccount-navigation,
html.pp-dark .woocommerce-MyAccount-navigation ul,
html.pp-dark .woocommerce-MyAccount-navigation li,
html.pp-dark .woocommerce-MyAccount-content,
html.pp-dark .woocommerce-Address, html.pp-dark .woocommerce-Address-title,
html.pp-dark .woocommerce-EditAccountForm, html.pp-dark .woocommerce address,
html.pp-dark .account-orders-table, html.pp-dark .my_account_orders {
	background-color: var(--d-surf) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}
html.pp-dark .woocommerce-MyAccount-navigation li a { color: var(--d-ink) !important; }
html.pp-dark .woocommerce-MyAccount-navigation li.is-active a,
html.pp-dark .woocommerce-MyAccount-navigation li a:hover { background-color: var(--d-acc-soft) !important; color: var(--d-acc) !important; }
html.pp-dark .woocommerce-MyAccount-navigation li.is-active { border-color: var(--d-acc) !important; }

/* Card-printing: loading bar / restore overlay / advanced panel inner surfaces */
html.pp-dark #cp3LoadingBar, html.pp-dark #cp3RestoreOverlay .cp3-ldm,
html.pp-dark .cp3-clear-dlg, html.pp-dark .cp3-clear-dlg-body, html.pp-dark .cp3-ldbar,
html.pp-dark .cp3-adv-panel, html.pp-dark .cp3-adv-inner, html.pp-dark .cp3-upload-progress {
	background-color: var(--d-surf) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}

/* ============================  PROXY SETS (/proxy_sets, sets2.css)  ======== */
html.pp-dark :is(.set-div, .set-info-card, .set-cta-card, .set-data, .sets-list,
	.set-top, .set-meta, .set-stats, .set-color-filters, .set-nav, .set-icon-circle,
	.set-card-img, .set-card, .set-image, .set-img-wrap, .set-thumb, .set-cards-grid) {
	background-color: var(--d-surf) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}
html.pp-dark :is(.set-title, .set-card-count, .set-meta, .set-stats, .set-data) { color: var(--d-ink) !important; }
html.pp-dark .set-icon-circle { background-color: var(--d-surf2) !important; }
/* category <select> rendered light-on-light */
html.pp-dark select, html.pp-dark .select2-selection__rendered, html.pp-dark option { color: var(--d-ink) !important; background-color: var(--d-surf2) !important; }

/* ============================  TICKET MANAGER (/ticket-manager)  ========== */
html.pp-dark :is([class*="tm-"], [class*="ticket"], [class*="pp-tm"], [class*="support"]) {
	background-color: var(--d-surf) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}
html.pp-dark :is([class*="tm-"], [class*="ticket"]) :is(input,textarea,select) { background-color: var(--d-surf2) !important; }

/* ============================  PAGE WRAPPERS  ============================= *
   Some templates paint a light background on #content-wrap / .site via
   high-specificity selectors (e.g. sets2.css `body.page-template-sets
   #content-wrap{#f7f8fb!important}`). Force the page shell dark everywhere. */
html.pp-dark #content-wrap, html.pp-dark #content, html.pp-dark .site,
html.pp-dark .site-content, html.pp-dark #main-content, html.pp-dark .site-main,
html.pp-dark body[class*="page-template"] #content-wrap,
html.pp-dark body[class*="page-id"] #content-wrap,
html.pp-dark body[class*="single"] #content-wrap {
	background-color: var(--d-bg) !important;
}
/* proxy_sets tiles + opened-set image frames */
html.pp-dark :is(.set-div,.set-info-card,.set-card,.set-tile,.set-box,[class*="set-card"],
	[class*="set-img"],[class*="set-image"],[class*="set-thumb"],[class*="card-frame"],
	[class*="card-img-holder"]) { background-color: var(--d-surf) !important; }

/* ============================================================================
   DARK-MODE SWEEP — pages whose own token/class systems weren't reached yet.
   Re-point each subsystem's tokens (fixes most surfaces) + explicit overrides
   for hardcoded light colours. Brand orange preserved throughout.
   ========================================================================== */

/* ── card-printing: outer pricing+summary shell (was white) ── */
html.pp-dark .pp-pricing-shell { background: var(--d-surf) !important; }

/* ── HOME-V2 hero + testimonial (assets/home-v2/style.css) ── */
/* "The Best TCG proxy maker…" kicker was light bg + light text */
html.pp-dark .rating-kicker { background: var(--d-surf2) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important; }
/* keep "ANY CARD ON DEMAND !" orange (generic p-rule would grey it out) */
html.pp-dark .hero-demand { color: var(--d-acc) !important; }
/* testimonial band (white→cream gradient) + its quote/caption text */
html.pp-dark .testimonial-band { background: var(--d-surf) !important; }
html.pp-dark .testimonial-band blockquote,
html.pp-dark .testimonial-band figcaption { color: var(--d-ink) !important; }
/* other white home-v2 panels */
html.pp-dark :is(.trust-strip,.video-panel,.orders-panel,.customer-gallery,.price-tile,.price-tile-featured) {
	background: var(--d-surf) !important; border-color: var(--d-line) !important;
}
html.pp-dark .btn--secondary { background: var(--d-surf2) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important; }

/* ── REVIEW page (/printingproxies-review-mtg-proxy/ — faq.php + faq.css) ── */
html.pp-dark .pp-review-page { background: var(--d-bg) !important; }
html.pp-dark body:has(.pp-review-page) #outer-wrap { background: var(--d-bg) !important; }
/* every white review/proof/feature/video/stat card → dark surface */
html.pp-dark .pp-review-page :is(.pp-review-card,.pp-stats,.pp-proof,.pp-feature-card,
	.pp-video-testimonials,.pp-video-card,.pp-trustpilot) {
	background: var(--d-surf) !important; border-color: var(--d-line) !important;
}
/* "Ready to build your next deck?" CTA (bright beige + ornament image) */
html.pp-dark .pp-review-page .pp-cta { background: var(--d-surf) !important; border-color: rgba(241,164,46,.5) !important; }
/* text inside the review page (scoped rules out-specific the generic ones) */
html.pp-dark .pp-review-page :is(h1,h2,h3,h4,h5,p,li,blockquote) { color: var(--d-ink) !important; }
html.pp-dark .pp-review-page :is(.pp-verified,small,.pp-rev-date,figcaption) { color: var(--d-mut) !important; }
/* trustpilot green stars + orange/discord buttons keep their own colours */

/* ── PROXY_SETS (/proxy_sets/ — sets.php + sets2.css) ── */
html.pp-dark body.page-template-sets {
	--ps-bg: var(--d-bg); --ps-panel: var(--d-surf); --ps-panel-alt: var(--d-surf2);
	--ps-border: var(--d-line); --ps-border-h: #3a4350;
	--ps-text: var(--d-ink); --ps-muted: var(--d-mut); --ps-dim: var(--d-mut);
	/* --ps-accent (orange) preserved */
}
/* page background under the title */
html.pp-dark body.page-template-sets :is(#content-wrap,#inner-wrap,.sec-1) { background-color: var(--d-bg) !important; }
html.pp-dark body.page-template-sets .sec-1 { background: var(--d-surf) !important; border-color: var(--d-line) !important; }
/* explicit non-token panels */
html.pp-dark body.page-template-sets :is(.ps-game-browser-inner,.ps-game-card,
	.ps-set-info-card,.ps-set-cta-card,.ps-filter-card,.ps-content-card,.ps-set-nav) {
	background: var(--d-surf) !important; border-color: var(--d-line) !important;
}
/* hardcoded custom-select dropdown */
html.pp-dark body.page-template-sets .select-items { background-color: var(--d-surf2) !important; border-color: var(--d-line) !important; }
html.pp-dark body.page-template-sets .select-items div { color: var(--d-ink) !important; }
html.pp-dark body.page-template-sets .select-items div:hover,
html.pp-dark body.page-template-sets .same-as-selected { background-color: var(--d-surf) !important; }

/* ── SHOP page (/shop-mtg-proxy/ — shop-page plugin) ── */
html.pp-dark .shop-page-shortcode {
	--sp-background: var(--d-bg); --sp-card: var(--d-surf); --sp-foreground: var(--d-ink);
	--sp-secondary: var(--d-surf2); --sp-muted: var(--d-surf2); --sp-muted-fg: var(--d-mut);
	--sp-border: var(--d-line);
	/* --sp-accent (orange) + --sp-primary preserved */
	background-color: var(--d-bg) !important;   /* white space around the CTA */
}
html.pp-dark .shop-page-shortcode :is(.sp-card,.sp-trust-grid,.sp-social-inner) {
	background-color: var(--d-surf) !important; border-color: var(--d-line) !important;
}

/* ── SECRET LAIR popup — lift it clearly above the (very dark) page ── */
html.pp-dark .sl-modal-overlay { background: rgba(0,0,0,.72) !important; }
html.pp-dark .sl-modal-inner {
	background: #232b37 !important;            /* raised: lighter than --d-surf page cards */
	border: 1px solid #3a4350 !important;
	box-shadow: 0 24px 70px rgba(0,0,0,.75) !important;
}

/* ── HOME-V2 .pp-v2h-wrap — the ACTUAL persistent white: the pricing/best
   panels (#fff), the ::after white-veil gradient layered over the bg_prices.jpg
   photo (the "white with a gradient image"), the price tiles, and the
   orange-tint icon/pill chips. Scoped to .pp-v2h-wrap, dark mode only. ── */
html.pp-dark .pp-v2h-wrap :is(.pricing-panel,.best-panel,.price-tile,.price-tile-featured) {
	background: var(--d-surf) !important; border-color: var(--d-line) !important;
}
html.pp-dark .pp-v2h-wrap .pricing-panel::before { opacity: 0 !important; }          /* hide the price photo */
html.pp-dark .pp-v2h-wrap .pricing-panel::after {                                    /* recolour the white veil dark */
	background: linear-gradient(to bottom, var(--d-surf) 0%, var(--d-surf) 35%, transparent 100%) !important;
}
html.pp-dark .pp-v2h-wrap :is(.price-icon,.benefit-icon,.save-pill) { background: var(--d-acc-soft) !important; }

/* ── card-printing language popup — unselected items were white (hover/active
   already use the re-pointed --cp3-accent-bg, so only the base needs fixing) ── */
html.pp-dark .cp3-lang-item { background: var(--d-surf2) !important; }

/* ============================  FAQ (/faqs/, .ppfaq)  ===================== *
   The FAQ scopes its own token system on .ppfaq. Re-point it so the category
   chips (which are <button>s the global net skips), the Shipping process
   banner, group cards, search and active-chip state all go dark together.
   --ink stays dark: it is only ever used as text ON the gold/orange accent. */
html.pp-dark .ppfaq {
	--card: #181d25; --bg: #0f1216; --text: #e7e9ee; --muted: #a6aec0;
	--border: #2b323d; --gold: #e98a3c; --ink: #1a1208;
	--shadow: 0 10px 28px rgba(0,0,0,.45);
}
html.pp-dark .ppfaq-banner figcaption { color: #a6aec0 !important; }

/* ============================  CONTACT SUPPORT WIDGET  =================== *
   /contact (page 72619) → [pp_support] KBS decision-tree + ticket form inside
   .ppc-form hardcodes white cards/wrappers/buttons that the page-token re-point
   doesn't reach (text already uses --text/--dark which are re-pointed light, so
   it was light-on-light). Darken the hardcoded surfaces. Using background-COLOR
   on .my-btn flips the solid-white (NO / back / secondary) buttons to dark while
   the orange gradient (YES / submit) buttons keep their gradient untouched. */
html.pp-dark .page-id-72619 .ppc-form .options,
html.pp-dark .page-id-72619 .ppc-form #kbs_ticket_wrap,
html.pp-dark .page-id-72619 .ppc-form .ppc-drop,
html.pp-dark .page-id-72619 .ppc-form .ppc-formhead {
  background-color:#181d25 !important; border-color:#2b323d !important;
}
html.pp-dark .page-id-72619 .ppc-form a.my-btn,
html.pp-dark .page-id-72619 .ppc-form button.my-btn { background-color:#20262f !important; }
html.pp-dark .page-id-72619 .ppc-form input:not([type=submit]):not([type=button]),
html.pp-dark .page-id-72619 .ppc-form textarea,
html.pp-dark .page-id-72619 .ppc-form select {
  background-color:#20262f !important; color:#e7e9ee !important; border-color:#2b323d !important;
}
html.pp-dark .page-id-72619 .ppc-form ::placeholder { color:#a6aec0 !important; opacity:1; }

/* ============================================================================
   ACCOUNT ▸ ORDER VIEW + LEGACY MY-CARDS (frozen card-demo page)
   ========================================================================== */

/* ── /my-account/view-order/ — order details + customer details tables ── */
html.pp-dark :is(.woocommerce-table--order-details,.woocommerce-table--order-downloads,table.customer_details),
html.pp-dark :is(.woocommerce-table--order-details,.woocommerce-table--order-downloads,table.customer_details) :is(td,th) {
	background-color: var(--d-surf) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}
html.pp-dark .woocommerce-table--order-details :is(thead th,tfoot th,tfoot td) { background-color: var(--d-surf2) !important; }

/* ── /my-cards/ (legacy mycardsshow → card-demo custom.css; lots of inline
   styles). Force its buttons/sections onto the dark theme. ── */
/* card-demo section panels + headers (custom.css .sec-1 / .hdr-txt) */
html.pp-dark .sec-1 { background: var(--d-surf) !important; border-color: var(--d-line) !important; }
html.pp-dark .hdr-txt { background: var(--d-surf2) !important; color: var(--d-ink) !important; }
/* the primary card-demo button → brand orange (was maroon/white-on-cache);
   !important also overrides the inline background colours on these buttons */
html.pp-dark .cta-btn1 {
	background: linear-gradient(180deg,#f29342,#db6d22) !important; color: #fff !important; border-color: transparent !important;
}
html.pp-dark .cta-btn1:hover { color: #fff !important; filter: brightness(1.07); }
/* …except accept / watermark buttons keep a green identity (listed AFTER so they win) */
html.pp-dark :is(.acceptVisual,.acceptVisualAll,.waterBtn) { background: #1f7a45 !important; color: #fff !important; border-color: transparent !important; }
/* Bootstrap white close-X used in card-demo modals */
html.pp-dark .btn-close { filter: invert(1) grayscale(1) brightness(1.7); }

/* ============================================================================
   CREATOR DASHBOARD ▸ "MY VIDEOS" CARDS (creator-program/assets/cp.css)
   cp.css ships its own light tokens plus hard rules that FORCE all card text to
   pure black and stat blocks / card surface to near-white. On dark that makes
   text invisible and shows a faded platform banner image. We re-theme onto the
   --d-* palette here (every rule is !important to beat cp.css's forced-black
   color rule + base backgrounds).
   ========================================================================== */

/* 1) Card surface (incl. the platform-banner variant) */
html.pp-dark .cp-vcard {
	background: var(--d-surf) !important; border-color: var(--d-line) !important;
}
/* 2) Hide the platform banner background image in dark mode (just dark surface) */
html.pp-dark .cp-vcard--bg {
	background-image: none !important; background: var(--d-surf) !important;
}

/* 3) Card text, override the forced-black rule. Main text to ink, muted to mut */
html.pp-dark .cp-vcard,
html.pp-dark .cp-vcard__title a,
html.pp-dark .cp-vcard .cp-vstats span {
	color: var(--d-ink) !important;
}
html.pp-dark .cp-vcard .cp-vmeta,
html.pp-dark .cp-vcard .cp-vmeta span,
html.pp-dark .cp-vcard__updated,
html.pp-dark .cp-vcard .cp-vstats label,
html.pp-dark .cp-vcard .cp-credit-wait {
	color: var(--d-mut) !important;
}
html.pp-dark .cp-vcard__title a:hover { color: var(--d-acc) !important; }
/* external-link icon stays accent orange */
html.pp-dark .cp-vcard__link { color: var(--d-acc) !important; }

/* 4) Stat blocks → slightly raised dark surface (value/label text from #3) */
html.pp-dark .cp-vcard .cp-vstats div { background: var(--d-surf2) !important; }
/* refused card dims its values; keep them muted-but-readable on dark */
html.pp-dark .cp-vcard--refused .cp-vstats span { color: var(--d-mut) !important; }

/* 6) List header + controls */
html.pp-dark .cp-vhead .cp-h3,
html.pp-dark .cp-h3 { color: var(--d-ink) !important; }
html.pp-dark .cp-vsort { color: var(--d-mut) !important; }
html.pp-dark .cp-vsort select {
	background: var(--d-surf2) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}
/* pagination buttons (were white bg) */
html.pp-dark .cp-vpage__btn {
	background: var(--d-surf2) !important; color: var(--d-ink) !important; border-color: var(--d-line) !important;
}
html.pp-dark .cp-vpage__btn:hover:not([disabled]) {
	background: var(--d-acc-soft) !important; color: var(--d-acc) !important; border-color: var(--d-line) !important;
}
html.pp-dark .cp-vpage__btn.is-active {
	background: var(--d-acc) !important; color: #fff !important; border-color: transparent !important;
}

/* 7) Tag chips, dark chip surface + light text (were light pills) */
html.pp-dark .cp-pill {
	background: var(--d-surf2) !important; color: var(--d-mut) !important;
}
html.pp-dark .cp-pill--type {
	background: var(--d-acc-soft) !important; color: var(--d-acc) !important;
}

/* 8) Grey disabled "Eligible in XX days" button → darker grey reads better */
html.pp-dark .cp-btn--muted {
	background: var(--d-surf2) !important; color: var(--d-mut) !important;
}
