/* === NXTSTATE MOBILE SIDEBAR REDESIGN ===
   Scope: (admin preview only)
   Target: Blocksy mobile offcanvas drawer (#offcanvas)
   Remove the .admin-bar prefix once approved to go fully live.
=================================================== */

/* === Drawer container === */
#offcanvas,
#offcanvas.ct-panel {
  background: #0A0A0A !important;
  color: #ffffff !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  padding: 0 !important;
}

/* Hide any default content area padding */
#offcanvas .ct-panel-content {
  padding: 0 !important;
}

/* === Top brand bar === */
#offcanvas .ct-panel-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 20px 14px !important;
  background: #0A0A0A !important;
  border-bottom: none !important;
  position: relative !important;
}

/* Inject logo via ::before on the panel actions row */
#offcanvas .ct-panel-actions::before {
  content: '';
  display: block;
  width: 150px;
  height: 32px;
  background-image: url('https://nxtstate.co/wp-content/uploads/2026/01/Untitled-design-1.png');
  background-size: 150px 150px;
  background-position: center;
  background-repeat: no-repeat;
  flex: 0 0 150px;
}

/* Inject the brand pillar after the actions row */
#offcanvas .ct-panel-actions::after {
  content: 'HIGH PERFORMERS ONLY';
  position: absolute;
  bottom: -28px;
  left: 20px;
  font-size: 11px;
  color: #FF7A00;
  letter-spacing: 1.2px;
  font-weight: 700;
  border-bottom: 2px solid #FF7A00;
  padding-bottom: 10px;
  width: 24px;
  white-space: nowrap;
}

/* === Close button === */
#offcanvas .ct-toggle-close {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #888 !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#offcanvas .ct-toggle-close .ct-icon {
  fill: #888 !important;
  width: 12px !important;
  height: 12px !important;
}

#offcanvas .ct-toggle-close:hover {
  background: rgba(255, 122, 0, 0.15) !important;
  color: #FF7A00 !important;
}

/* === Main menu === */
#offcanvas .mobile-menu {
  background: transparent !important;
  margin-top: 30px !important;
}

#offcanvas .mobile-menu ul {
  background: transparent !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Top-level menu items */
#offcanvas .mobile-menu > .menu-container > li > a,
#offcanvas .mobile-menu > ul > li > a,
#offcanvas nav.mobile-menu li.menu-item > a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 20px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-top: none !important;
  background: transparent !important;
  text-decoration: none !important;
  border-left: 3px solid transparent !important;
}

/* Hover state */
#offcanvas .mobile-menu li.menu-item > a:hover {
  background: rgba(255, 122, 0, 0.04) !important;
  color: #FF7A00 !important;
}

/* Active / current page state */
#offcanvas .mobile-menu li.current-menu-item > a,
#offcanvas .mobile-menu li.current_page_item > a {
  border-left: 3px solid #FF7A00 !important;
  background: rgba(255, 122, 0, 0.06) !important;
  color: #ffffff !important;
}

/* Sub-menu items (Shop All, Metabolic, Recovery) */
#offcanvas .mobile-menu .sub-menu li > a,
#offcanvas .mobile-menu li.menu-item-has-children .sub-menu li > a {
  padding: 10px 20px 10px 36px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #c0c0c0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-left: 3px solid transparent !important;
}

#offcanvas .mobile-menu .sub-menu li > a:hover {
  color: #FF7A00 !important;
  background: rgba(255, 122, 0, 0.04) !important;
}

/* Submenu chevron toggle */
#offcanvas .ct-toggle-dropdown-mobile {
  color: #888 !important;
  background: transparent !important;
}

#offcanvas .ct-toggle-dropdown-mobile svg {
  fill: #888 !important;
  width: 12px !important;
  height: 12px !important;
}

#offcanvas .ct-toggle-dropdown-mobile.active svg,
#offcanvas li.active > .ct-toggle-dropdown-mobile svg {
  transform: rotate(180deg) !important;
}

/* === Footer trust signal (injected via menu container ::after) === */
#offcanvas .mobile-menu::after {
  content: "99%+ PURITY VERIFIED   \2022   FOR RESEARCH USE ONLY. NOT FOR HUMAN CONSUMPTION. NOT EVALUATED BY FDA.";
  display: block;
  margin: 30px 0 0;
  padding: 18px 20px 24px;
  background: rgba(255, 255, 255, 0.02);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 10px;
  color: #6b6b6b;
  letter-spacing: 0.3px;
  line-height: 1.6;
}

/* === Hide elements we don't want in the new sidebar === */
#offcanvas .ct-search-form,
#offcanvas .ct-header-search {
  display: none !important;
}

/* === Responsive: ensure these styles only apply at mobile breakpoint === */
@media (min-width: 1000px) {
  #offcanvas .ct-panel-actions::before,
  #offcanvas .ct-panel-actions::after,
  #offcanvas .mobile-menu::after {
    display: none;
  }
}


/* === Announcement bar — single-line marquee scroll on mobile === */
.nxtstate-top-banner {
  overflow: hidden !important;
  white-space: nowrap !important;
}
.nxtstate-top-banner__track {
  display: inline-block !important;
  white-space: nowrap !important;
  animation: nxt-marquee 30s linear infinite !important;
  padding-left: 100% !important;
}
@keyframes nxt-marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-100%); }
}

/* === Header stays solid black, never lightens on scroll === */
.ct-header,
.ct-header [data-row="top"],
.ct-header [data-row="middle"],
.ct-header [data-row="bottom"],
.ct-header.ct-sticky-active,
.ct-header.is-shrunk,
.ct-sticky-container,
[data-sticky="yes"] [data-row] {
  background-color: #0A0A0A !important;
}


/* === Force sidebar background to true black (override Blocksy theme variables) === */
#offcanvas,
#offcanvas.ct-panel,
#offcanvas[data-behaviour="modal"],
.ct-drawer-canvas,
.ct-drawer-canvas .ct-panel,
.ct-drawer-canvas .ct-panel.ct-header {
  background: #0A0A0A !important;
  background-color: #0A0A0A !important;
  --theme-palette-color-1: #0A0A0A !important;
  --theme-palette-color-2: #0A0A0A !important;
  --theme-palette-color-3: #FF7A00 !important;
  --theme-palette-color-4: #FF7A00 !important;
  --theme-palette-color-5: #ffffff !important;
  --theme-palette-color-6: #ffffff !important;
  --theme-palette-color-7: rgba(255,255,255,0.05) !important;
  --theme-palette-color-8: rgba(255,255,255,0.05) !important;
}

#offcanvas .ct-panel-content,
#offcanvas .ct-panel-actions,
.ct-drawer-canvas .ct-panel-content {
  background: #0A0A0A !important;
  background-color: #0A0A0A !important;
}

/* Hide socials block in offcanvas footer */
#offcanvas .ct-header-socials,
#offcanvas [data-id="socials"],
#offcanvas .ct-socials {
  display: none !important;
}

/* === Force Shop (and any submenu parent) to match other top-level headers === */
#offcanvas .mobile-menu li.menu-item-has-children > a,
#offcanvas .mobile-menu li.menu-item-has-children > a > span,
#offcanvas .mobile-menu li.page_item_has_children > a,
#offcanvas .mobile-menu .menu-item > .ct-menu-link,
#offcanvas .mobile-menu .menu-item > a > span {
  text-transform: uppercase !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  color: #ffffff !important;
}


/* === Force ALL top-level mobile menu items to uppercase (catches Shop) === */
#offcanvas .mobile-menu > .menu-container > .menu-item > a,
#offcanvas .mobile-menu > .menu-container > .menu-item > a *,
#offcanvas .mobile-menu > ul > .menu-item > a,
#offcanvas .mobile-menu > ul > .menu-item > a *,
#offcanvas nav.mobile-menu > .menu-container > .menu-item > .ct-menu-link,
#offcanvas nav.mobile-menu > .menu-container > .menu-item > .ct-menu-link *,
#offcanvas nav.mobile-menu li.menu-item:not(.sub-menu li) > a,
#offcanvas nav.mobile-menu li.menu-item:not(.sub-menu li) > a > span {
  text-transform: uppercase !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
}

/* But keep sub-menu items in sentence case */
#offcanvas .mobile-menu .sub-menu .menu-item > a,
#offcanvas .mobile-menu .sub-menu .menu-item > a *,
#offcanvas .mobile-menu .sub-menu li > a,
#offcanvas .mobile-menu .sub-menu li > a * {
  text-transform: none !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* === Shop submenu parent (Blocksy wraps it in .ct-sub-menu-parent span) === */
#offcanvas .mobile-menu .ct-sub-menu-parent,
#offcanvas .mobile-menu .ct-sub-menu-parent > a,
#offcanvas .mobile-menu .ct-sub-menu-parent > a.ct-menu-link {
  text-transform: uppercase !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  color: #ffffff !important;
}


/* === Shop row: align with rest of menu items === */
#offcanvas .mobile-menu li.menu-item-has-children > .ct-sub-menu-parent {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  border-left: 3px solid transparent !important;
  border-top: none !important;
  background: transparent !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#offcanvas .mobile-menu li.menu-item-has-children > .ct-sub-menu-parent > a.ct-menu-link {
  padding: 0 !important;
  border: none !important;
  margin: 0 !important;
  flex: 1 !important;
  background: transparent !important;
  text-decoration: none !important;
}

#offcanvas .mobile-menu li.menu-item-has-children > .ct-sub-menu-parent > .ct-toggle-dropdown-mobile {
  margin: 0 !important;
  padding: 0 6px !important;
}

/* Avoid double border on the LI wrapping a .ct-sub-menu-parent */
#offcanvas .mobile-menu li.menu-item-has-children {
  border-bottom: none !important;
}

/* Hover/active state for the parent row */
#offcanvas .mobile-menu li.menu-item-has-children > .ct-sub-menu-parent:hover {
  background: rgba(255, 122, 0, 0.04) !important;
}

#offcanvas .mobile-menu li.menu-item-has-children.current-menu-item > .ct-sub-menu-parent,
#offcanvas .mobile-menu li.menu-item-has-children.current_page_item > .ct-sub-menu-parent {
  border-left: 3px solid #FF7A00 !important;
  background: rgba(255, 122, 0, 0.06) !important;
}


/* === FORCE PURE BLACK on header + announcement bar (added 2026-05-06) === */
.ct-header,
.ct-header [data-row="top"],
.ct-header [data-row="middle"],
.ct-header [data-row="bottom"],
.ct-header.ct-sticky-active,
.ct-header.ct-sticky-active [data-row],
.ct-header.is-shrunk,
.ct-header.is-shrunk [data-row],
.ct-sticky-container,
.ct-sticky-container [data-row],
[data-sticky="yes"] [data-row],
[data-id="top"],
[data-row="top"],
.ct-header-cta,
.ct-header-cta-container,
header .ct-header-trigger,
body .ct-header [data-row]:not(.no-bg) {
  background-color: #000000 !important;
  background: #000000 !important;
}
/* The marquee announcement strip itself */
.ct-header [data-row="top"] .ct-container,
.ct-header [data-row="top"] .ct-container-fluid,
.nx-marquee, .nx-announcement, .nx-announcement-bar {
  background-color: #000000 !important;
  background: #000000 !important;
}

/* Wrapper safety net */
body .ct-header, html body header.ct-header, html body .ct-header > * { background-color:#000000 !important; }

/* === Force dark theme on WooCommerce shop + category archives (2026-05-06) === */
body.woocommerce-shop,
body.tax-product_cat,
body.post-type-archive-product,
body.archive.woocommerce,
body.woocommerce-page,
body.woocommerce-shop #main,
body.tax-product_cat #main,
body.post-type-archive-product #main,
body.woocommerce-shop .site-main,
body.tax-product_cat .site-main,
body.post-type-archive-product .site-main,
body.woocommerce-shop .ct-main,
body.tax-product_cat .ct-main {
  background-color: #000000 !important;
  color: #ffffff !important;
}
body.woocommerce-shop .product-categories-name, body.woocommerce-shop .woocommerce-result-count, body.woocommerce-shop .woocommerce-loop-product__title, body.tax-product_cat .woocommerce-loop-product__title, body.tax-product_cat .woocommerce-result-count { color:#ffffff !important; }
body.woocommerce-shop .price, body.tax-product_cat .price { color:#FF7A00 !important; }
body.woocommerce-shop .woocommerce-ordering select, body.tax-product_cat .woocommerce-ordering select { background:#0A0A0A !important; color:#fff !important; border:1px solid #2a2a2a !important; }
body.woocommerce-shop .product .button, body.tax-product_cat .product .button { background:#FF7A00 !important; color:#fff !important; border:none !important; }
body.woocommerce-shop .product .button:hover, body.tax-product_cat .product .button:hover { background:#ff8c1a !important; }
body.woocommerce-shop a, body.tax-product_cat a { color:#ffffff; }
body.woocommerce-shop a:hover, body.tax-product_cat a:hover { color:#FF7A00; }

/* === WooCommerce checkout/cart dark theme (2026-05-06) === */
body.woocommerce-checkout, body.woocommerce-cart, body.woocommerce-account { background:#000 !important; color:#fff !important; }
/* Coupon notice + WooCommerce info bars */
body.woocommerce .woocommerce-info, body.woocommerce-checkout .woocommerce-info, body.woocommerce-cart .woocommerce-info { background:#0A0A0A !important; color:#fff !important; border-top:3px solid #FF7A00 !important; }
body.woocommerce .woocommerce-info::before, body.woocommerce-checkout .woocommerce-info::before { color:#FF7A00 !important; }
body.woocommerce .woocommerce-info a, body.woocommerce-checkout .woocommerce-info a { color:#FF7A00 !important; font-weight:600 !important; }
/* Coupon entry form */
body.woocommerce-checkout form.checkout_coupon, body.woocommerce-cart .coupon { background:#0A0A0A !important; border:1px solid #2a2a2a !important; }
/* Form inputs */
body.woocommerce-checkout input[type="text"], body.woocommerce-checkout input[type="email"], body.woocommerce-checkout input[type="tel"], body.woocommerce-checkout input[type="number"], body.woocommerce-checkout textarea, body.woocommerce-checkout select, body.woocommerce-checkout .select2-selection { background:#0A0A0A !important; color:#fff !important; border:1px solid #2a2a2a !important; }
body.woocommerce-checkout input::placeholder, body.woocommerce-checkout textarea::placeholder { color:#888 !important; }
body.woocommerce-checkout label, body.woocommerce-checkout legend { color:#fff !important; }
/* Order summary box */
body.woocommerce-checkout .woocommerce-checkout-review-order, body.woocommerce-checkout #order_review { background:#0A0A0A !important; border:1px solid #2a2a2a !important; padding:16px !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table th, body.woocommerce-checkout .woocommerce-checkout-review-order-table td { color:#fff !important; border-color:#2a2a2a !important; }
/* Payment methods */
body.woocommerce-checkout #payment, body.woocommerce-checkout .wc_payment_methods { background:#0A0A0A !important; border:1px solid #2a2a2a !important; }
body.woocommerce-checkout #payment li { background:transparent !important; color:#fff !important; }
body.woocommerce-checkout #payment .payment_box { background:#000 !important; color:#ccc !important; border:1px solid #2a2a2a !important; }
/* Place Order button */
body.woocommerce-checkout #place_order { background:#FF7A00 !important; color:#fff !important; border:none !important; font-weight:700 !important; }
body.woocommerce-checkout #place_order:hover { background:#ff8c1a !important; }
/* Cart page same family */
body.woocommerce-cart .cart_totals, body.woocommerce-cart .shop_table { background:#0A0A0A !important; color:#fff !important; }
body.woocommerce-cart .shop_table th, body.woocommerce-cart .shop_table td { color:#fff !important; border-color:#2a2a2a !important; }
body.woocommerce-cart input[type="text"], body.woocommerce-cart input[type="email"] { background:#0A0A0A !important; color:#fff !important; border:1px solid #2a2a2a !important; }

/* === WooCommerce notices + select2 dropdown + text selection (2026-05-06) === */
/* Success / message banner (coupon applied, etc) */
body.woocommerce .woocommerce-message, body.woocommerce-checkout .woocommerce-message, body.woocommerce-cart .woocommerce-message { background:#0A0A0A !important; color:#fff !important; border-top:3px solid #2ECC71 !important; }
body.woocommerce .woocommerce-message::before { color:#2ECC71 !important; }
body.woocommerce .woocommerce-message a, body.woocommerce-checkout .woocommerce-message a { color:#FF7A00 !important; }
/* Error notice */
body.woocommerce .woocommerce-error, body.woocommerce-checkout .woocommerce-error { background:#0A0A0A !important; color:#fff !important; border-top:3px solid #FF4136 !important; }
body.woocommerce .woocommerce-error::before { color:#FF4136 !important; }
body.woocommerce .woocommerce-error a, body.woocommerce-checkout .woocommerce-error a { color:#FF7A00 !important; }
/* Notices wrapper */
body.woocommerce-checkout .woocommerce-notices-wrapper, body.woocommerce-cart .woocommerce-notices-wrapper { background:transparent !important; }
/* Select2 dropdown styling — the open dropdown menu */
.select2-dropdown, .select2-container--default .select2-results, .select2-container--default .select2-results__options, body .select2-dropdown { background:#0A0A0A !important; color:#fff !important; border:1px solid #2a2a2a !important; }
.select2-container--default .select2-results__option { background:#0A0A0A !important; color:#fff !important; }
.select2-container--default .select2-results__option--highlighted, .select2-container--default .select2-results__option--highlighted[aria-selected] { background:#FF7A00 !important; color:#fff !important; }
.select2-container--default .select2-results__option[aria-selected=true] { background:#1a1a1a !important; color:#FF7A00 !important; }
.select2-search--dropdown .select2-search__field { background:#0A0A0A !important; color:#fff !important; border:1px solid #2a2a2a !important; }
.select2-container--default .select2-selection--single, .select2-container--default .select2-selection--single .select2-selection__rendered { background:#0A0A0A !important; color:#fff !important; }
/* Text selection highlight visibility */
::selection { background:#FF7A00 !important; color:#fff !important; }
::-moz-selection { background:#FF7A00 !important; color:#fff !important; }
body.woocommerce-checkout ::selection, body.woocommerce-cart ::selection, body.woocommerce ::selection { background:#FF7A00 !important; color:#fff !important; }

/* === About Us draft (page 2384) hide Blocksy default hero === */
body.page-id-2384 .hero-section, body.page-id-2384 .ct-hero-section, body.page-id-2384 .entry-header, body.page-id-2384 [class*="hero-section"]{display:none !important;height:0 !important;visibility:hidden !important;}
body.page-id-2384 #main, body.page-id-2384 article, body.page-id-2384 .entry-content{padding-top:0 !important;margin-top:0 !important;}
body.page-id-2384 .entry-content{padding:0 !important;margin:0 !important;}
body.page-id-2384 .ct-container{max-width:none !important;padding:0 !important;}
/* === Lab reports filter dropdown contrast fix === */
select.lr-filter-select, #lr-filter{background:#0A0A0A !important;color:#ffffff !important;border:1px solid #2a2a2a !important;font-size:14px !important;padding:10px 14px !important;letter-spacing:0.3px !important;}
select.lr-filter-select option, #lr-filter option{background:#0A0A0A !important;color:#ffffff !important;}
select.lr-filter-select:hover, #lr-filter:hover{border-color:#FF7A00 !important;}

/* === Bulk Orders mobile optimization (page 2379, scoped to <=768px only) === */
@media (max-width: 768px) {
  body.page-id-2379 .nx-bulk-redesign > div { padding-left: 18px !important; padding-right: 18px !important; }
  body.page-id-2379 .nx-bulk-redesign > div[style*="60px 32px"], body.page-id-2379 .nx-bulk-redesign > div[style*="64px 32px"], body.page-id-2379 .nx-bulk-redesign > div[style*="50px 32px"], body.page-id-2379 .nx-bulk-redesign > div[style*="48px 32px"], body.page-id-2379 .nx-bulk-redesign > div[style*="70px 32px"], body.page-id-2379 .nx-bulk-redesign > div[style*="80px 32px"] { padding-top: 44px !important; padding-bottom: 40px !important; padding-left: 18px !important; padding-right: 18px !important; }
  /* Hero h1 */
  body.page-id-2379 .nx-bulk-redesign h1 { font-size: 30px !important; line-height: 1.2 !important; letter-spacing: -0.3px !important; padding: 0 4px !important; }
  /* All section h2 */
  body.page-id-2379 .nx-bulk-redesign h2 { font-size: 24px !important; line-height: 1.25 !important; letter-spacing: -0.2px !important; padding: 0 4px !important; }
  body.page-id-2379 .nx-bulk-redesign p { font-size: 15px !important; line-height: 1.6 !important; }
  /* Hero CTAs full-width stacked */
  body.page-id-2379 .nx-bulk-redesign a[href="#nx-quote"], body.page-id-2379 .nx-bulk-redesign a[href="#nx-pricing"] { width: 100% !important; box-sizing: border-box !important; padding: 14px 20px !important; font-size: 14px !important; text-align: center !important; }
  body.page-id-2379 .nx-bulk-redesign a[href="/shop/"], body.page-id-2379 .nx-bulk-redesign a[href="/lab-reports/"] { width: 100% !important; box-sizing: border-box !important; }
  /* Hero trust strip wraps neatly */
  body.page-id-2379 .nx-bulk-redesign div[style*="font-size:12px"][style*="letter-spacing:1px"] { gap: 8px 14px !important; font-size: 11px !important; }
  /* Trusted by 5-col -> 2-col */
  body.page-id-2379 .nx-bulk-redesign div[style*="grid-template-columns:repeat(5,1fr)"] { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  /* Volume pricing 4-col -> 2-col */
  body.page-id-2379 .nx-bulk-redesign div[style*="grid-template-columns:repeat(4,1fr)"] { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  /* Process 3-col -> 1-col stacked */
  body.page-id-2379 .nx-bulk-redesign div[style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: 1fr !important; gap: 10px !important; }
  /* Quote form sub-grids 1fr 1fr -> single col */
  body.page-id-2379 .nx-bulk-redesign form.nx-quote-form div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; gap: 12px !important; }
  /* Inputs slightly bigger touch targets */
  body.page-id-2379 .nx-bulk-redesign input, body.page-id-2379 .nx-bulk-redesign select, body.page-id-2379 .nx-bulk-redesign textarea, body.page-id-2379 .nx-bulk-redesign button[type="submit"] { font-size: 16px !important; padding: 14px 14px !important; }
  /* Pricing tier badges centered + tighter */
  body.page-id-2379 .nx-bulk-redesign div[style*="font-size:32px"][style*="font-weight:600"] { font-size: 26px !important; }
  /* Stat badge POPULAR doesnt overflow */
  body.page-id-2379 .nx-bulk-redesign div[style*="position:absolute"] { font-size: 9px !important; padding: 3px 8px !important; }
  /* Hero CTA wrapper stacks vertically */
  body.page-id-2379 .nx-bulk-redesign div[style*="justify-content:center"][style*="flex-wrap:wrap"] { flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
}
/* Tighter for very small screens */
@media (max-width: 380px) {
  body.page-id-2379 .nx-bulk-redesign h1 { font-size: 26px !important; }
  body.page-id-2379 .nx-bulk-redesign h2 { font-size: 22px !important; }
}

/* === About Us mobile optimization (page 2384, scoped to <=768px only) === */
@media (max-width: 768px) {
  body.page-id-2384 .nx-about-redesign > div { padding-left: 18px !important; padding-right: 18px !important; padding-top: 44px !important; padding-bottom: 40px !important; }
  /* Hero h1 (Verified. Not claimed.) - keep impact, fit on screen */
  body.page-id-2384 .nx-about-redesign h1 { font-size: 36px !important; line-height: 1.1 !important; letter-spacing: -0.4px !important; max-width: 100% !important; padding: 0 !important; }
  /* All section h2 (incl. Based in Chicago. Obsessed with receipts.) */
  body.page-id-2384 .nx-about-redesign h2 { font-size: 24px !important; line-height: 1.25 !important; letter-spacing: -0.2px !important; max-width: 100% !important; padding: 0 !important; }
  body.page-id-2384 .nx-about-redesign p { font-size: 15px !important; line-height: 1.65 !important; }
  /* Body paragraphs */
  body.page-id-2384 .nx-about-redesign div[style*="line-height:1.8"] p { font-size: 14px !important; line-height: 1.7 !important; }
  /* Eyebrow tags slightly smaller */
  body.page-id-2384 .nx-about-redesign div[style*="letter-spacing:1.5px"], body.page-id-2384 .nx-about-redesign div[style*="letter-spacing:2px"] { font-size: 10px !important; }
  /* Three commitments: 3-col -> 1-col stacked */
  body.page-id-2384 .nx-about-redesign div[style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: 1fr !important; gap: 10px !important; }
  /* By the numbers: 4-col -> 2-col */
  body.page-id-2384 .nx-about-redesign div[style*="grid-template-columns:repeat(4,1fr)"] { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  /* Who we serve: 5-col -> 2-col stacked */
  body.page-id-2384 .nx-about-redesign div[style*="grid-template-columns:repeat(5,1fr)"] { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  /* Stat numbers smaller on mobile */
  body.page-id-2384 .nx-about-redesign div[style*="font-size:36px"] { font-size: 28px !important; }
  /* Closing CTA buttons full-width stacked */
  body.page-id-2384 .nx-about-redesign a[href="/shop/"], body.page-id-2384 .nx-about-redesign a[href="/lab-reports/"] { width: 100% !important; box-sizing: border-box !important; padding: 14px 20px !important; font-size: 14px !important; text-align: center !important; }
  body.page-id-2384 .nx-about-redesign div[style*="justify-content:center"][style*="flex-wrap:wrap"] { flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
  /* Standards card titles - prevent awkward breaks */
  body.page-id-2384 .nx-about-redesign div[style*="font-size:17px"][style*="font-weight:600"] { font-size: 16px !important; }
}
@media (max-width: 380px) {
  body.page-id-2384 .nx-about-redesign h1 { font-size: 30px !important; }
  body.page-id-2384 .nx-about-redesign h2 { font-size: 22px !important; }
}

/* === Tiered pricing table dark theme fix (all products) === */
table.shop_table.tiered-pricing-table { background: #0A0A0A !important; border: 1px solid #2a2a2a !important; color: #ffffff !important; }
table.shop_table.tiered-pricing-table th, table.shop_table.tiered-pricing-table td { background: transparent !important; color: #ffffff !important; border-color: #2a2a2a !important; padding: 10px 14px !important; }
table.shop_table.tiered-pricing-table thead th { background: #000 !important; color: #FF7A00 !important; font-weight: 600 !important; letter-spacing: 0.5px !important; font-size: 12px !important; text-transform: uppercase !important; }
/* Active tier row - orange highlight, dark text for contrast */
table.shop_table.tiered-pricing-table tr.tiered-pricing--active, table.shop_table.tiered-pricing-table tr.tiered-pricing--active td { background: #FF7A00 !important; color: #000000 !important; font-weight: 600 !important; }
/* Tiered pricing wrapper */
.tiered-pricing-wrapper, .tpt__tiered-pricing { background: transparent !important; color: #ffffff !important; }
.tiered-pricing-wrapper *, .tpt__tiered-pricing * { color: inherit; }
/* Mobile: tighten table padding so it fits */
@media (max-width: 600px) {
  table.shop_table.tiered-pricing-table th, table.shop_table.tiered-pricing-table td { padding: 8px 10px !important; font-size: 14px !important; }
  table.shop_table.tiered-pricing-table thead th { font-size: 11px !important; }
}

/* === Shop page mobile: force 2 columns (desktop untouched, no rule above 999px) === */
@media (max-width: 999px) {
  body.woocommerce-shop ul.products, body.tax-product_cat ul.products, body.post-type-archive-product ul.products, body.woocommerce ul.products.columns-4, body.woocommerce ul.products.columns-3 { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; padding: 0 !important; margin: 0 !important; }
  body.woocommerce-shop ul.products li.product, body.tax-product_cat ul.products li.product, body.post-type-archive-product ul.products li.product, body.woocommerce ul.products li.product { width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; }
}
/* === Tiered pricing table mobile fix - higher specificity to beat plugin defaults === */
@media (max-width: 999px) {
  body.single-product table.shop_table.tiered-pricing-table, html body table.shop_table.tiered-pricing-table { background-color: #0A0A0A !important; border: 1px solid #2a2a2a !important; }
  body.single-product table.shop_table.tiered-pricing-table tr, html body table.shop_table.tiered-pricing-table tr { background-color: transparent !important; }
  body.single-product table.shop_table.tiered-pricing-table tr th, body.single-product table.shop_table.tiered-pricing-table tr td, html body table.shop_table.tiered-pricing-table th, html body table.shop_table.tiered-pricing-table td { background-color: transparent !important; color: #ffffff !important; border-color: #2a2a2a !important; }
  body.single-product table.shop_table.tiered-pricing-table thead tr th, html body table.shop_table.tiered-pricing-table thead th { background-color: #000 !important; color: #FF7A00 !important; }
  /* Active row - orange bg with BLACK text */
  body.single-product table.shop_table.tiered-pricing-table tr.tiered-pricing--active, body.single-product table.shop_table.tiered-pricing-table tr.tiered-pricing--active td, body.single-product table.shop_table.tiered-pricing-table tr.tiered-pricing--active th, html body table.shop_table.tiered-pricing-table tr.tiered-pricing--active, html body table.shop_table.tiered-pricing-table tr.tiered-pricing--active td, html body table.shop_table.tiered-pricing-table tr.tiered-pricing--active th { background-color: #FF7A00 !important; color: #000000 !important; font-weight: 600 !important; }
}

/* === HARD FIX: Tiered pricing TR rows must be transparent (plugin sets them white) === */
html body table.shop_table.tiered-pricing-table tr,
html body table.shop_table.tiered-pricing-table tbody tr,
html body table.shop_table.tiered-pricing-table thead tr { background-color: transparent !important; background: transparent !important; }
html body table.shop_table.tiered-pricing-table tr:nth-child(odd),
html body table.shop_table.tiered-pricing-table tr:nth-child(even) { background-color: transparent !important; background: transparent !important; }
/* Active row keeps orange */
html body table.shop_table.tiered-pricing-table tr.tiered-pricing--active { background-color: #FF7A00 !important; background: #FF7A00 !important; }
html body table.shop_table.tiered-pricing-table tr.tiered-pricing--active td { color: #000000 !important; font-weight: 600 !important; }

/* === Shop sort dropdown mobile fix (desktop untouched) === */
@media (max-width: 999px) {
  body.woocommerce-shop .woo-listing-top, body.tax-product_cat .woo-listing-top, body.post-type-archive-product .woo-listing-top { display: flex !important; justify-content: center !important; align-items: center !important; padding: 12px 16px !important; margin-bottom: 16px !important; }
  body.woocommerce-shop .woocommerce-ordering, body.tax-product_cat .woocommerce-ordering, body.post-type-archive-product .woocommerce-ordering { width: 100% !important; max-width: 100% !important; margin: 0 !important; position: relative !important; }
  body.woocommerce-shop select.orderby, body.tax-product_cat select.orderby, body.post-type-archive-product select.orderby { width: 100% !important; height: 44px !important; padding: 0 36px 0 14px !important; font-size: 15px !important; background: #0A0A0A !important; color: #ffffff !important; border: 1px solid #2a2a2a !important; border-radius: 6px !important; }
  body.woocommerce-shop select.orderby:focus, body.tax-product_cat select.orderby:focus { border-color: #FF7A00 !important; outline: none !important; }
  /* Position sort icon properly inside form */
  body.woocommerce-shop .woocommerce-ordering .ct-sort-icon, body.tax-product_cat .woocommerce-ordering .ct-sort-icon { position: absolute !important; right: 14px !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: #FF7A00 !important; }
}

/* === Shop sort dropdown options - desktop only (mobile uses native picker) === */
@media (min-width: 1000px) {
  body.woocommerce-shop select.orderby option, body.tax-product_cat select.orderby option, body.post-type-archive-product select.orderby option, html body select.orderby option { background-color: #0A0A0A !important; background: #0A0A0A !important; color: #ffffff !important; }
  body.woocommerce-shop select.orderby option:hover, body.woocommerce-shop select.orderby option:checked, html body select.orderby option:checked { background-color: #FF7A00 !important; color: #000000 !important; }
}

/* === Order received / thank you page success message === */
.woocommerce-order-received .woocommerce-notice, .woocommerce-order-received .woocommerce-notice--success, .woocommerce-thankyou-order-received { background:#0A0A0A !important; color:#ffffff !important; border-top:3px solid #2ECC71 !important; padding:18px 22px !important; }
.woocommerce-order-received .woocommerce-notice::before, .woocommerce-thankyou-order-received::before { color:#2ECC71 !important; }
.woocommerce-order-received p, .woocommerce-order-received .woocommerce-thankyou-order-received { color:#ffffff !important; }
/* Order details table on thank you page */
.woocommerce-order-received .woocommerce-order-overview, .woocommerce-order-received .order_details, .woocommerce-order-received .woocommerce-table { background:#0A0A0A !important; color:#ffffff !important; }
.woocommerce-order-received .woocommerce-table th, .woocommerce-order-received .woocommerce-table td, .woocommerce-order-received .order_details th, .woocommerce-order-received .order_details td { color:#ffffff !important; border-color:#2a2a2a !important; }
.woocommerce-order-received .woocommerce-customer-details, .woocommerce-order-received .woocommerce-customer-details address { background:#0A0A0A !important; color:#ffffff !important; border-color:#2a2a2a !important; }
.woocommerce-order-received h2, .woocommerce-order-received h3 { color:#FF7A00 !important; }
.woocommerce-order-received a { color:#FF7A00 !important; }

/* === Order received page mobile optimization (desktop untouched) === */
@media (max-width: 768px) {
  body.woocommerce-order-received .entry-content, body.woocommerce-order-received .ct-container, body.woocommerce-order-received #main { padding-left: 14px !important; padding-right: 14px !important; }
  body.woocommerce-order-received .woocommerce-notice, body.woocommerce-order-received .woocommerce-thankyou-order-received { padding: 14px 16px !important; font-size: 16px !important; line-height: 1.4 !important; }
  /* Order overview - 4 stat cards (Order number, Date, Total, Payment method) - stack vertically on mobile */
  body.woocommerce-order-received ul.woocommerce-order-overview, body.woocommerce-order-received .woocommerce-order-overview { display: flex !important; flex-direction: column !important; gap: 10px !important; padding: 0 !important; margin: 16px 0 !important; }
  body.woocommerce-order-received .woocommerce-order-overview li { width: 100% !important; max-width: 100% !important; padding: 12px 14px !important; border-right: none !important; border-bottom: 1px solid #2a2a2a !important; text-align: left !important; font-size: 14px !important; }
  body.woocommerce-order-received .woocommerce-order-overview li strong { display: inline !important; margin-left: 6px !important; font-size: 14px !important; }
  /* Order details table - make sure it doesnt overflow */
  body.woocommerce-order-received .woocommerce-table, body.woocommerce-order-received .order_details { font-size: 14px !important; }
  body.woocommerce-order-received .woocommerce-table th, body.woocommerce-order-received .woocommerce-table td, body.woocommerce-order-received .order_details th, body.woocommerce-order-received .order_details td { padding: 10px 8px !important; word-wrap: break-word !important; }
  /* Customer details - stack billing/shipping vertically */
  body.woocommerce-order-received .woocommerce-customer-details .col2-set, body.woocommerce-order-received .woocommerce-columns--2 { display: flex !important; flex-direction: column !important; gap: 16px !important; }
  body.woocommerce-order-received .woocommerce-customer-details .col-1, body.woocommerce-order-received .woocommerce-customer-details .col-2 { width: 100% !important; max-width: 100% !important; flex: none !important; }
  body.woocommerce-order-received .woocommerce-customer-details address { padding: 14px !important; font-size: 14px !important; line-height: 1.6 !important; }
  /* Headings tighter on mobile */
  body.woocommerce-order-received h2 { font-size: 22px !important; margin: 24px 0 12px !important; }
  body.woocommerce-order-received h3 { font-size: 18px !important; margin: 18px 0 10px !important; }
}


/* === SALE BADGE FIX — readable on dark theme === */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale,
li.product .onsale,
.product .onsale {
  background-color: #FF7A00 !important;
  color: #000000 !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 4px !important;
  border: none !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1 !important;
  height: auto !important;
  width: auto !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  margin: 0 !important;
  z-index: 9 !important;
  position: absolute !important;
  text-shadow: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}
/* Single product page sale badge */
.woocommerce div.product span.onsale,
.single-product .onsale {
  background-color: #FF7A00 !important;
  color: #000000 !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}


/* === HIDE BROKEN FEATURED PRODUCTS SECTION === */
/* The .nxt-products section uses hardcoded prices that don't sync with WooCommerce */
/* Hidden until rebuilt as a dynamic widget. /shop/ page works correctly. */
.nxt-products,
.nxt-section:has(.nxt-products) {
  display: none !important;
}

#payment .payment_box .mps-card-form, .woocommerce-checkout .mps-card-form, .mps-card-form{
    background: black !important;
}

/* ===== NXT MOBILE: order-received page polish (2026-05-15) =====
   Scope: body.woocommerce-order-received on mobile only.
   Fixes:
   1. WooCommerce success-notice bell icon overlapping the wrapped "Thank you" text.
   2. Hides any WPLoyalty banner / promo / notification widget that pops in above
      the thank-you message on mobile (the white-card-with-lime-star artifact).
================================================================== */
@media (max-width: 600px) {
  body.woocommerce-order-received .woocommerce-thankyou-order-received {
    padding: 16px 16px 16px 44px !important;
    line-height: 1.55 !important;
  }
  body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
    top: 16px !important;
    left: 16px !important;
  }

  /* Suppress WPLoyalty banner / notification widgets on the thank-you page */
  body.woocommerce-order-received .wll-launcher-container .wll-message-popup,
  body.woocommerce-order-received .wll-notification-bar,
  body.woocommerce-order-received .wll-launcher-message,
  body.woocommerce-order-received [class*="wll-banner"],
  body.woocommerce-order-received [class*="wll-promo"],
  body.woocommerce-order-received [class*="wll-toast"] {
    display: none !important;
  }
}


/* === WPLoyalty thank-you page text color fix (2026-05-15) === */
/* The plugin uses color: var(--text-color), which is white on our dark theme.
   The card itself has a white background, so the "You earned X points" copy
   renders white-on-white. Force a dark text color inside any WPLoyalty card
   on the order-received page (desktop + mobile). */
body.woocommerce-order-received .wlr-points-container,
body.woocommerce-order-received .wlr-points-container *,
body.woocommerce-order-received .wlr-card,
body.woocommerce-order-received .wlr-card *,
body.woocommerce-order-received .wlr-card-container,
body.woocommerce-order-received .wlr-card-container *,
body.woocommerce-order-received .wlr-card-inner-container,
body.woocommerce-order-received .wlr-card-inner-container *,
body.woocommerce-order-received .wlr-earning-options,
body.woocommerce-order-received .wlr-earning-options *,
body.woocommerce-order-received [class*="wlr-points"],
body.woocommerce-order-received [class*="wlr-points"] * {
  color: #0a0a0a !important;
  --text-color: #0a0a0a !important;
}
body.woocommerce-order-received .wlr-points-icon,
body.woocommerce-order-received .wlr-points-icon * {
  color: #EC7015 !important;
}


/* ============================================================
   MY ACCOUNT POLISH (2026-05-15) — athlete program prep
   Scope: body.woocommerce-account on every my-account subpage
   ============================================================ */

/* 1. Kill page-title hero banner */
body.woocommerce-account .entry-header,
body.woocommerce-account header.entry-header,
body.woocommerce-account .page-title-wrap,
body.woocommerce-account .ct-hero-section {
  display: none !important;
}

/* 2. WooCommerce notices */
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-notice,
body.woocommerce-account .woocommerce-info *,
body.woocommerce-account .woocommerce-message *,
body.woocommerce-account .woocommerce-error * {
  color: #0a0a0a !important;
  --text-color: #0a0a0a !important;
}
body.woocommerce-account .woocommerce-info a:not(.button),
body.woocommerce-account .woocommerce-message a:not(.button) {
  color: #EC7015 !important;
  text-decoration: underline;
}

/* 3. Orders / Downloads tables */
body.woocommerce-account table.shop_table,
body.woocommerce-account table.woocommerce-orders-table,
body.woocommerce-account .woocommerce-MyAccount-orders table,
body.woocommerce-account .woocommerce-MyAccount-downloads table {
  background-color: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px;
  overflow: hidden;
}
body.woocommerce-account table.shop_table th,
body.woocommerce-account table.shop_table td,
body.woocommerce-account table.woocommerce-orders-table th,
body.woocommerce-account table.woocommerce-orders-table td {
  color: #0a0a0a !important;
  --text-color: #0a0a0a !important;
  background-color: transparent !important;
}
body.woocommerce-account table.shop_table th {
  background-color: #f6f6f6 !important;
  font-weight: 700;
}
body.woocommerce-account table.shop_table a:not(.button) {
  color: #EC7015 !important;
}

/* 4. Edit Account + Address forms */
body.woocommerce-account .woocommerce-EditAccountForm label,
body.woocommerce-account .woocommerce-EditAccountForm legend,
body.woocommerce-account .woocommerce-address-fields label,
body.woocommerce-account form.edit-account label,
body.woocommerce-account form.edit-account legend,
body.woocommerce-account form.edit-account span.required {
  color: #ffffff !important;
}
body.woocommerce-account .woocommerce-EditAccountForm input[type=text],
body.woocommerce-account .woocommerce-EditAccountForm input[type=email],
body.woocommerce-account .woocommerce-EditAccountForm input[type=password],
body.woocommerce-account .woocommerce-EditAccountForm input[type=tel],
body.woocommerce-account .woocommerce-EditAccountForm textarea,
body.woocommerce-account .woocommerce-EditAccountForm select,
body.woocommerce-account form.edit-account input[type=text],
body.woocommerce-account form.edit-account input[type=email],
body.woocommerce-account form.edit-account input[type=password],
body.woocommerce-account form.edit-account input[type=tel],
body.woocommerce-account .woocommerce-address-fields input,
body.woocommerce-account .woocommerce-address-fields select,
body.woocommerce-account .woocommerce-address-fields textarea {
  color: #0a0a0a !important;
  background-color: #ffffff !important;
  border: 1px solid #d4d4d4 !important;
  border-radius: 6px;
}
body.woocommerce-account .woocommerce-EditAccountForm input::placeholder,
body.woocommerce-account form.edit-account input::placeholder,
body.woocommerce-account .woocommerce-address-fields input::placeholder {
  color: #888 !important;
  opacity: 1;
}

/* 5. Address display blocks */
body.woocommerce-account .woocommerce-Address,
body.woocommerce-account .woocommerce-Address address,
body.woocommerce-account .u-columns address {
  color: #ffffff !important;
}
body.woocommerce-account .woocommerce-Address-title h3,
body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Address-title .edit {
  color: #EC7015 !important;
}

/* 6. WPLoyalty Points & Rewards subpage */
body.woocommerce-account .wlr-card,
body.woocommerce-account .wlr-card *,
body.woocommerce-account .wlr-card-container,
body.woocommerce-account .wlr-card-container *,
body.woocommerce-account .wlr-card-inner-container,
body.woocommerce-account .wlr-card-inner-container *,
body.woocommerce-account [class*="wlr-points"],
body.woocommerce-account [class*="wlr-points"] *,
body.woocommerce-account .wlr-myaccount-page,
body.woocommerce-account .wlr-myaccount-page * {
  color: #0a0a0a !important;
  --text-color: #0a0a0a !important;
}
body.woocommerce-account .wlr-points-icon,
body.woocommerce-account .wlr-points-icon * {
  color: #EC7015 !important;
}

/* 7. Dashboard greeting + intro copy */
body.woocommerce-account .woocommerce-MyAccount-content p,
body.woocommerce-account .woocommerce-MyAccount-content {
  color: #ffffff;
}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Address-title .edit) {
  color: #EC7015 !important;
}


/* ============================================================
   PARTNER PORTAL / AFFILIATE DASHBOARD RESTYLE (2026-05-15)
   Brand it orange (#EC7015) + black to match NXTSTATE.
   Targets AffiliateWP shortcode output on the /partners/ page
   (logged-in affiliate dashboard — Statistics, Graphs, Referrals,
   Payouts, Visits, Settings, Coupons, Creatives tabs).
============================================================ */

/* === Tab navigation: brand it === */
.affwp-affiliate-dashboard-tabs,
ul.affwp-affiliate-dashboard-tabs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  border-bottom: 2px solid #1a1a1a;
}
.affwp-affiliate-dashboard-tab {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.affwp-affiliate-dashboard-tab a,
li.affwp-affiliate-dashboard-tab a {
  display: inline-block !important;
  padding: 12px 18px !important;
  color: #cccccc !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 3px solid transparent !important;
  transition: all 0.2s ease;
  font-size: 15px;
}
.affwp-affiliate-dashboard-tab a:hover {
  color: #ffffff !important;
  background: rgba(236, 112, 21, 0.08) !important;
}
.affwp-affiliate-dashboard-tab.active a {
  color: #EC7015 !important;
  border-bottom-color: #EC7015 !important;
  background: rgba(236, 112, 21, 0.05) !important;
}

/* === Headings inside dashboard === */
.affwp-affiliate-dashboard h3,
.affwp-affiliate-dashboard h2 {
  color: #ffffff !important;
  font-weight: 700;
  margin-top: 28px;
}

/* === Tables: stats, referrals, payouts, visits, coupons === */
.affwp-table,
table.affwp-table,
.affwp-table-responsive {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #0f0f0f !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 24px;
}
.affwp-table thead,
.affwp-table thead tr {
  background: #1a1a1a !important;
}
.affwp-table thead th {
  color: #EC7015 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  letter-spacing: 0.04em;
  padding: 14px 16px !important;
  background: #1a1a1a !important;
  border-bottom: 1px solid #2a2a2a !important;
}
.affwp-table tbody tr {
  background: transparent !important;
  border-bottom: 1px solid #1f1f1f !important;
}
.affwp-table tbody tr:last-child {
  border-bottom: none !important;
}
.affwp-table tbody tr:hover {
  background: rgba(236, 112, 21, 0.04) !important;
}
.affwp-table td {
  color: #ffffff !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  background: transparent !important;
}
.affwp-table td a {
  color: #EC7015 !important;
  text-decoration: none;
}
.affwp-table td a:hover { text-decoration: underline; }

/* The single big-number rows on Statistics get a brand-orange highlight */
.affwp-table tbody tr td:first-child {
  font-weight: 700 !important;
}
.affwp-affiliate-dashboard .affwp-table:nth-of-type(2) tbody td {
  color: #EC7015 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* === Empty-state messages === */
.affwp-affiliate-dashboard p,
.affwp-affiliate-dashboard .affwp-notice,
.affwp-affiliate-dashboard td:only-child {
  color: #cccccc !important;
}

/* === Forms: Settings tab (profile, payment, etc.) === */
.affwp-form,
form#affwp-edit-profile-form,
form#affwp-payment-email-form {
  background: #0f0f0f;
  padding: 24px;
  border: 1px solid #2a2a2a;
  border-radius: 10px;
}
.affwp-form label,
.affwp-form legend,
form#affwp-edit-profile-form label,
form#affwp-payment-email-form label {
  color: #ffffff !important;
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
}
.affwp-form input[type=text],
.affwp-form input[type=email],
.affwp-form input[type=password],
.affwp-form input[type=url],
.affwp-form input[type=tel],
.affwp-form textarea,
.affwp-form select,
form#affwp-edit-profile-form input,
form#affwp-payment-email-form input {
  color: #ffffff !important;
  background: #1a1a1a !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 6px;
  padding: 10px 12px;
  width: 100%;
  max-width: 480px;
}
.affwp-form input:focus,
.affwp-form textarea:focus,
.affwp-form select:focus {
  border-color: #EC7015 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(236, 112, 21, 0.2);
}

/* === Buttons (Submit, Generate, etc.) === */
.affwp-form input[type=submit],
.affwp-form button,
.affwp-affiliate-dashboard input[type=submit],
.affwp-affiliate-dashboard button.button,
input.affwp-submit {
  background: #EC7015 !important;
  color: #0a0a0a !important;
  border: none !important;
  padding: 12px 20px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 14px;
  border-radius: 6px !important;
  cursor: pointer;
  transition: background 0.2s ease;
}
.affwp-form input[type=submit]:hover,
.affwp-affiliate-dashboard input[type=submit]:hover,
input.affwp-submit:hover {
  background: #ff8a3d !important;
}

/* === Affiliate URL generator + share blocks === */
.affwp-affiliate-dashboard .affwp-affiliate-url,
.affwp-affiliate-dashboard #affwp-graphs-date-options {
  background: #0f0f0f;
  border: 1px solid #2a2a2a;
  border-radius: 10px;
  padding: 16px;
  color: #ffffff;
}

/* === Graphs tab: chart wrapper === */
#affwp-graphs-wrap,
.affwp-graphs {
  background: #0f0f0f;
  border: 1px solid #2a2a2a;
  border-radius: 10px;
  padding: 16px;
  color: #ffffff;
}

/* === Pagination === */
.affwp-pagination a,
.affwp-pagination span {
  color: #ffffff !important;
  border: 1px solid #2a2a2a;
  padding: 6px 10px;
  border-radius: 4px;
  text-decoration: none;
}
.affwp-pagination .current {
  background: #EC7015 !important;
  color: #0a0a0a !important;
  border-color: #EC7015 !important;
}

/* === Coupons tab === */
.affwp-coupon-code {
  background: #1a1a1a !important;
  color: #EC7015 !important;
  border: 1px dashed #EC7015 !important;
  padding: 6px 12px;
  border-radius: 6px;
  font-family: monospace;
  font-weight: 700;
}


/* ============================================================
   EARN WITH US PAGE — landing page styles (page-id-2525)
   Hides the Blocksy page-title banner and applies all
   .nxt-earn-page section styles via Customizer.
============================================================ */

/* Hide page-title banner on this page */
body.page-id-2525 .entry-header,
body.page-id-2525 header.entry-header,
body.page-id-2525 .page-title-wrap,
body.page-id-2525 .ct-hero-section {
  display: none !important;
}

/* Make the page full-bleed */
body.page-id-2525 article.page > .entry-content { max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.page-id-2525 .ct-container-full { max-width: none !important; padding: 0 !important; }

/* Page wrapper */
.nxt-earn-page { background:#0a0a0a; color:#fff; font-family:-apple-system,BlinkMacSystemFont,'Inter',Helvetica,Arial,sans-serif; line-height:1.55; }
.nxt-earn-page *, .nxt-earn-page *::before, .nxt-earn-page *::after { box-sizing:border-box; }
.nxt-earn-page .container { max-width:1100px; margin:0 auto; padding:0 28px; }

/* Hero */
.nxt-earn-page .hero { padding:90px 28px 80px; text-align:center; background:radial-gradient(circle at 50% 30%, rgba(236, 112, 21,0.10) 0%, transparent 60%); border-bottom:1px solid #1a1a1a; }
.nxt-earn-page .hero-eyebrow { font-size:13px; color:#EC7015; font-weight:700; text-transform:uppercase; letter-spacing:0.18em; margin-bottom:22px; }
.nxt-earn-page .hero h1 { font-size:60px; line-height:1.08; font-weight:900; max-width:880px; margin:0 auto 24px; letter-spacing:-0.02em; color:#fff !important; }
.nxt-earn-page .hero h1 .accent { color:#EC7015 !important; }
.nxt-earn-page .hero p.lead { font-size:19px; color:#ccc; max-width:640px; margin:0 auto 40px; }
.nxt-earn-page .cta-row { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.nxt-earn-page .btn { display:inline-block; padding:16px 32px; font-size:15px; font-weight:800; text-transform:uppercase; letter-spacing:0.06em; text-decoration:none; border-radius:6px; cursor:pointer; border:none; transition:transform .15s ease,background .2s ease; }
.nxt-earn-page .btn-primary { background:#EC7015 !important; color:#0a0a0a !important; }
.nxt-earn-page .btn-primary:hover { background:#ff8a3d !important; transform:translateY(-1px); }
.nxt-earn-page .btn-secondary { background:transparent !important; color:#fff !important; border:1px solid #2a2a2a !important; }
.nxt-earn-page .btn-secondary:hover { border-color:#EC7015 !important; color:#EC7015 !important; }

/* Sections */
.nxt-earn-page section.section { padding:80px 28px; border-bottom:1px solid #1a1a1a; }
.nxt-earn-page .section-eyebrow { font-size:12px; color:#EC7015; font-weight:700; text-transform:uppercase; letter-spacing:0.2em; text-align:center; margin-bottom:14px; }
.nxt-earn-page .section-title { font-size:40px !important; font-weight:800; text-align:center; margin-bottom:18px; letter-spacing:-0.015em; color:#fff !important; }
.nxt-earn-page .section-subtitle { font-size:17px; color:#ccc; text-align:center; max-width:640px; margin:0 auto 50px; }

/* Tiers */
.nxt-earn-page .tiers { display:grid; grid-template-columns:1fr auto 1fr; gap:32px; align-items:stretch; }
.nxt-earn-page .tier-card { background:#131313; border:1px solid #2a2a2a; border-radius:16px; padding:36px 30px; position:relative; }
.nxt-earn-page .tier-card.featured { border-color:#EC7015; background:linear-gradient(180deg,#1a1410 0%,#131313 100%); }
.nxt-earn-page .tier-badge { display:inline-block; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:0.15em; padding:6px 12px; border-radius:99px; margin-bottom:16px; }
.nxt-earn-page .tier-badge.affiliate { background:rgba(255,255,255,0.08); color:#fff; }
.nxt-earn-page .tier-badge.athlete { background:#EC7015; color:#0a0a0a; }
.nxt-earn-page .tier-card h3 { font-size:28px !important; font-weight:800; margin-bottom:6px; letter-spacing:-0.01em; color:#fff !important; }
.nxt-earn-page .tier-sub { color:#888; font-size:14px; margin-bottom:24px; }
.nxt-earn-page .tier-card ul { list-style:none; padding:0; margin:0; }
.nxt-earn-page .tier-card li { padding:10px 0; border-bottom:1px solid #1f1f1f; font-size:15px; color:#ddd; display:flex; align-items:flex-start; gap:10px; }
.nxt-earn-page .tier-card li:last-child { border-bottom:none; }
.nxt-earn-page .tier-card li::before { content:"→"; color:#EC7015; font-weight:700; flex-shrink:0; }
.nxt-earn-page .tier-card strong { color:#fff !important; }

/* Graduation arrow */
.nxt-earn-page .graduation { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px 10px; text-align:center; gap:10px; }
.nxt-earn-page .graduation-arrow { font-size:36px; color:#EC7015; line-height:1; }
.nxt-earn-page .graduation-label { font-size:12px; color:#888; text-transform:uppercase; letter-spacing:0.15em; font-weight:700; max-width:100px; line-height:1.3; }
.nxt-earn-page .graduation-trigger { background:rgba(236, 112, 21,0.1); border:1px solid rgba(236, 112, 21,0.3); border-radius:8px; padding:12px 14px; margin-top:10px; font-size:13px; color:#EC7015; font-weight:700; line-height:1.4; }

/* Recruit override section */
.nxt-earn-page .recruit-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:900px; margin:40px auto 0; }
.nxt-earn-page .recruit-card { background:#131313; border:1px solid #2a2a2a; border-radius:12px; padding:30px 24px; text-align:center; }
.nxt-earn-page .recruit-stat { font-size:36px; font-weight:900; color:#EC7015; margin-bottom:8px; }
.nxt-earn-page .recruit-label { font-size:14px; color:#ddd; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; }

/* How it works steps */
.nxt-earn-page .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.nxt-earn-page .step { background:#131313; border:1px solid #2a2a2a; border-radius:12px; padding:32px 26px; text-align:left; }
.nxt-earn-page .step-num { width:44px; height:44px; background:#EC7015; color:#0a0a0a; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:18px; margin-bottom:18px; }
.nxt-earn-page .step h4 { font-size:20px !important; font-weight:800; margin-bottom:10px; color:#fff !important; }
.nxt-earn-page .step p { color:#aaa; font-size:15px; }

/* Terms */
.nxt-earn-page .terms-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.nxt-earn-page .term { background:#131313; border:1px solid #2a2a2a; border-radius:10px; padding:22px 24px; }
.nxt-earn-page .term .term-label { font-size:11px; font-weight:700; color:#EC7015; text-transform:uppercase; letter-spacing:0.15em; margin-bottom:6px; }
.nxt-earn-page .term .term-value { font-size:17px; font-weight:700; color:#fff; margin-bottom:6px; }
.nxt-earn-page .term .term-desc { font-size:14px; color:#aaa; line-height:1.5; }

/* Apply form (wraps AffiliateWP shortcode output) */
.nxt-earn-page .apply-section { background:linear-gradient(180deg,#0a0a0a 0%,#131313 100%); }
.nxt-earn-page .form-wrap { max-width:720px; margin:0 auto; background:#0f0f0f; border:1px solid #2a2a2a; border-radius:14px; padding:44px; }
.nxt-earn-page .form-wrap label, .nxt-earn-page .form-wrap legend { color:#fff !important; font-weight:600; text-transform:uppercase; font-size:12px; letter-spacing:0.06em; }
.nxt-earn-page .form-wrap input[type=text], .nxt-earn-page .form-wrap input[type=email], .nxt-earn-page .form-wrap input[type=password], .nxt-earn-page .form-wrap input[type=tel], .nxt-earn-page .form-wrap input[type=url], .nxt-earn-page .form-wrap textarea, .nxt-earn-page .form-wrap select { background:#1a1a1a !important; color:#fff !important; border:1px solid #2a2a2a !important; border-radius:6px !important; padding:12px 14px !important; width:100% !important; }
.nxt-earn-page .form-wrap input[type=submit], .nxt-earn-page .form-wrap button[type=submit] { background:#EC7015 !important; color:#0a0a0a !important; font-weight:900 !important; text-transform:uppercase; letter-spacing:0.08em; padding:18px !important; width:100%; cursor:pointer; border:none !important; border-radius:8px !important; }
.nxt-earn-page .form-wrap input[type=submit]:hover { background:#ff8a3d !important; }
.nxt-earn-page .form-wrap a { color:#EC7015 !important; }

/* Mobile */
@media (max-width:768px){
  .nxt-earn-page .hero{padding:60px 20px 50px;}
  .nxt-earn-page .hero h1{font-size:36px;}
  .nxt-earn-page .section-title{font-size:28px !important;}
  .nxt-earn-page section.section{padding:50px 20px;}
  .nxt-earn-page .tiers{grid-template-columns:1fr;}
  .nxt-earn-page .graduation-arrow{transform:rotate(90deg);}
  .nxt-earn-page .steps{grid-template-columns:1fr;}
  .nxt-earn-page .terms-grid{grid-template-columns:1fr;}
  .nxt-earn-page .recruit-cards{grid-template-columns:1fr;}
  .nxt-earn-page .form-wrap{padding:28px 20px;}
}


/* Fix: clobber leftover padding/margin from earlier broken rule */
body.page-id-2525 .nxt-earn-page {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}


/* Hide "My Account" menu item from desktop header only — keep visible in mobile sidebar */
#header-menu-1 .menu-item-2534,
nav.header-menu-1 .menu-item-2534,
.ct-header .menu-item-2534 {
  display: none !important;
}
/* But re-show it inside the mobile offcanvas drawer */
#offcanvas .menu-item-2534,
.mobile-menu .menu-item-2534 {
  display: list-item !important;
}


/* === Mobile order-received WPLoyalty card text fix (mobile only) === */
@media (max-width: 768px) {
	  body.woocommerce-order-received [class*="wlr"],
	  body.woocommerce-order-received [class*="wployalty"],
	  body.woocommerce-order-received [class*="wlr"] *,
	body.woocommerce-order-received [class*="wployalty"] * {
		    color: #0a0a0a !important;
	}
}
	}
}

/* === GIFTiT free gift cards on cart page  make SKU titles visible regardless of state === */
.woocommerce-cart .wgb-products-list .wgb-product-name,
.woocommerce-cart .wgb-products-list .product-name,
.woocommerce-cart .wgb-products-list .product-title,
.woocommerce-cart .wgb-products-list h3,
.woocommerce-cart .wgb-products-list h4,
.woocommerce-cart [class*="wgb-product"] .product-title,
.woocommerce-cart [class*="wgb-product"] .product-name,
.woocommerce-cart [class*="wgb-product"] h3,
.woocommerce-cart [class*="wgb-product"] h4,
.woocommerce-cart [class*="wgb-gift"] .product-title,
.woocommerce-cart [class*="wgb-gift"] .product-name,
.woocommerce-cart [class*="wgb-gift"] h3,
.woocommerce-cart [class*="wgb-gift"] h4 {
	  color: #FFFFFF !important;
	  opacity: 1 !important;
	  font-weight: 700 !important;
	  text-shadow: 0 2px 8px rgba(0,0,0,0.85), 0 0 2px rgba(0,0,0,0.6) !important;
	  position: relative !important;
	  z-index: 5 !important;
}

/* Also force visibility on disabled/unavailable gift states */
.woocommerce-cart [class*="wgb"][class*="disabled"] .product-title,
.woocommerce-cart [class*="wgb"][class*="disabled"] .product-name,
.woocommerce-cart [class*="wgb"][class*="disabled"] h3,
.woocommerce-cart [class*="wgb"][class*="disabled"] h4,
.woocommerce-cart [class*="wgb"][class*="unavailable"] .product-title,
.woocommerce-cart [class*="wgb"][class*="unavailable"] .product-name {
	  color: #FFFFFF !important;
	  opacity: 1 !important;
	  text-shadow: 0 2px 8px rgba(0,0,0,0.9), 0 0 3px rgba(0,0,0,0.7) !important;
}

/* If the overlay sits on the entire card via opacity/filter, target it specifically so the TEXT stays visible */
.woocommerce-cart [class*="wgb-product"][class*="disabled"],
.woocommerce-cart [class*="wgb-product"].unavailable {
	  filter: none !important;
}

/* Make the gift section header more visible too */
.woocommerce-cart .wgb-section-title,
.woocommerce-cart .wgb-gift-section-title,
.woocommerce-cart [class*="wgb"] .section-title {
	  color: #FFFFFF !important;
	  opacity: 1 !important;
}
}
}
}
}