/* NGS-184 — Wholesale landing
 * Structure: Blank wholesale (centered hero/sections, 2-col apply).
 * Visual: design.md — midnight, Bebas/Cormorant/Outfit, brand-blue CTAs, gold accents.
*/

/* Wholesale shop filters mirror the mega menu: formats form one left-hand
 * column, while customer-facing goal categories form the right-hand column. */
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(1) { grid-column: 1; grid-row: 1; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(2) { grid-column: 1; grid-row: 2; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(3) { grid-column: 1; grid-row: 3; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(4) { grid-column: 1; grid-row: 4; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(5) { grid-column: 1; grid-row: 5; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(n+6) { grid-column: 2; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(6) { grid-row: 1; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(7) { grid-row: 2; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(8) { grid-row: 3; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(9) { grid-row: 4; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(10) { grid-row: 5; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(11) { grid-row: 6; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(12) { grid-row: 7; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(13) { grid-row: 8; }
body.ngs-wholesale-mode .nexgen-shop-filter-nav--categories > .nexgen-shop-filter-link:nth-child(14) { grid-row: 9; }

/* -------------------------------------------------------------------------
 * Page shell — flush to header/footer
 * ------------------------------------------------------------------------- */
body.page-wholesale,
body.ngs-wholesale-landing-page {
  background-color: var(--midnight, #060E22) !important;
  color: var(--white-90, rgba(255, 255, 255, 0.92));
}

body.page-wholesale > p,
body.ngs-wholesale-landing-page > p,
body.page-wholesale .page-header,
body.ngs-wholesale-landing-page .page-header {
  display: none !important;
}

body.page-wholesale .ngs-wholesale-landing,
body.ngs-wholesale-landing-page .ngs-wholesale-landing {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-wholesale .elementor-location-footer .nexgen-footer-outer,
body.ngs-wholesale-landing-page .elementor-location-footer .nexgen-footer-outer,
body.page-wholesale .elementor-location-footer .elementor-element-6dacbdc,
body.ngs-wholesale-landing-page .elementor-location-footer .elementor-element-6dacbdc {
  --margin-top: 0px !important;
  margin-top: 0 !important;
}

body.page-wholesale .elementor-location-header,
body.ngs-wholesale-landing-page .elementor-location-header,
body.page-wholesale .elementor-location-footer,
body.ngs-wholesale-landing-page .elementor-location-footer {
  margin: 0 !important;
}

/* -------------------------------------------------------------------------
 * Tokens + root
 * ------------------------------------------------------------------------- */
.ngs-wholesale-landing {
  --wh-bg: var(--midnight, #060E22);
  --wh-panel: var(--deep-navy, #0B1530);
  --wh-gold: var(--accent-gold, #C9A84C);
  --wh-gold-dim: var(--accent-gold-dim, rgba(201, 168, 76, 0.5));
  --wh-gold-glow: var(--accent-gold-glow, rgba(201, 168, 76, 0.15));
  --wh-gold-bright: var(--accent-gold-bright, #DC9814);
  --wh-blue: var(--brand-blue, #1A3178);
  --wh-text: var(--white-90, rgba(255, 255, 255, 0.92));
  --wh-muted: var(--white-60, rgba(255, 255, 255, 0.6));
  --wh-line: var(--white-12, rgba(255, 255, 255, 0.12));
  --wh-surface: var(--white-06, rgba(255, 255, 255, 0.06));
  --wh-radius: 8px;
  --wh-radius-card: 12px;
  --wh-radius-form: 20px;
  --wh-max: 1280px;

  position: relative;
  overflow: hidden;
  color: var(--wh-text);
  background: var(--wh-bg);
  -webkit-font-smoothing: antialiased;
}

.ngs-wholesale-landing::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
}

.ngs-wholesale-landing > * {
  position: relative;
  z-index: 1;
}

/* Shared content rail — centered like the rest of the site */
.ngs-wh-inner {
  width: 100%;
  max-width: var(--wh-max);
  margin: 0 auto;
  padding: 0 32px;
  box-sizing: border-box;
}

.ngs-wh-inner--narrow {
  max-width: 820px;
}

/* -------------------------------------------------------------------------
 * Centered section headers (Blank pattern; NG type)
 * ------------------------------------------------------------------------- */
.ngs-wh-section-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0 auto 2.75rem;
  max-width: 720px;
  width: 100%;
}

.ngs-wh-section-head .ngs-wh-eyebrow {
  margin-left: auto;
  margin-right: auto;
}

.ngs-wh-section-head h2 {
  margin-bottom: 0;
  text-align: center;
  width: 100%;
  text-wrap: unset;
}

.ngs-wh-section-head .ngs-wh-lead {
  margin-top: 0.85rem;
  margin-bottom: 0;
}

.ngs-wh-lead--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 100%;
  max-width: 36rem;
}

.ngs-wh-eyebrow {
  font-family: Outfit, system-ui, sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.72rem;
  color: var(--wh-gold);
  margin: 0 0 1rem;
}

.ngs-wh-eyebrow--badge {
  display: inline-block;
  padding: 0.45rem 0.9rem;
  border: 1px solid var(--wh-gold-dim);
  border-radius: 4px;
  background: rgba(201, 168, 76, 0.06);
  margin-bottom: 1.35rem;
}

.ngs-wh-title {
  font-family: "Bebas Neue", Impact, sans-serif;
  font-weight: 400;
  font-size: clamp(2.75rem, 7vw, 4.75rem);
  line-height: 1.05;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 1.25rem;
  text-wrap: balance;
}

.ngs-wholesale-landing h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: clamp(2rem, 3.5vw, 2.85rem);
  line-height: 1.15;
  color: #fff;
  margin: 0;
  text-wrap: balance;
}

.ngs-wh-lead {
  font-family: Outfit, system-ui, sans-serif;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--wh-muted);
  max-width: 40rem;
  margin: 0 0 1.5rem;
  text-wrap: pretty;
}

/* -------------------------------------------------------------------------
 * Hero — centered impact (matches Blank layout rhythm)
 * ------------------------------------------------------------------------- */
.ngs-wh-hero {
  text-align: center;
  padding: clamp(3.5rem, 7vw, 5.5rem) 0 clamp(3rem, 5vw, 4.5rem);
  background:
    radial-gradient(ellipse 70% 55% at 50% 0%, var(--blue-glow, rgba(26, 49, 120, 0.4)), transparent 65%);
}

.ngs-wh-hero .ngs-wh-lead {
  margin-left: auto;
  margin-right: auto;
}

.ngs-wh-hero .ngs-wh-cta-row {
  justify-content: center;
}

/* -------------------------------------------------------------------------
 * Buttons
 * ------------------------------------------------------------------------- */
.ngs-wh-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  align-items: center;
}

.ngs-wh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  height: 48px;
  box-sizing: border-box;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: var(--wh-radius);
  padding: 0 32px;
  border: 1px solid transparent;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  line-height: 1;
  transition:
    background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    border-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    box-shadow 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 0.15s cubic-bezier(0.2, 0, 0, 1);
}

.ngs-wh-btn:active {
  transform: scale(0.96);
}

.ngs-wh-btn-primary,
.ngs-wh-form button.ngs-wh-btn-primary,
.ngs-wholesale-landing button.ngs-wh-btn-primary {
  background: var(--wh-blue) !important;
  background-color: var(--wh-blue) !important;
  background-image: none !important;
  color: var(--white, #fff) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.ngs-wh-btn-primary:hover,
.ngs-wh-btn-primary:focus-visible,
.ngs-wh-form button.ngs-wh-btn-primary:hover {
  background: var(--deep-navy, #0B1530) !important;
  border-color: var(--wh-gold-dim) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow:
    0 6px 24px rgba(0, 0, 0, 0.5),
    0 0 16px var(--wh-gold-glow);
}

.ngs-wh-btn-primary:active {
  transform: scale(0.96) translateY(0);
}

.ngs-wh-btn-ghost {
  background: transparent !important;
  color: var(--wh-gold) !important;
  border: 1px solid var(--wh-gold-dim) !important;
  box-shadow: none;
  /* Match primary height/padding exactly — no smaller ghost padding */
  min-height: 48px;
  height: 48px;
  padding: 0 32px;
}

.ngs-wh-btn-ghost:hover,
.ngs-wh-btn-ghost:focus-visible {
  background: var(--wh-gold-glow) !important;
  border-color: var(--wh-gold) !important;
  color: var(--wh-gold-bright) !important;
}

/* -------------------------------------------------------------------------
 * Stats — full-bleed strip under hero
 * ------------------------------------------------------------------------- */
.ngs-wh-stats {
  border-top: 1px solid var(--wh-line);
  border-bottom: 1px solid var(--wh-line);
  background: rgba(11, 21, 48, 0.85);
  padding: 0;
}

.ngs-wh-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.ngs-wh-stat {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1.75rem 1.25rem;
  text-align: center;
  border-right: 1px solid var(--wh-line);
}

.ngs-wh-stat:last-child {
  border-right: none;
}

.ngs-wh-stat strong {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.5rem, 2.5vw, 1.85rem);
  color: var(--wh-gold);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.ngs-wh-stat span {
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.82rem;
  color: var(--wh-muted);
  line-height: 1.4;
}

/* -------------------------------------------------------------------------
 * Why cards
 * ------------------------------------------------------------------------- */
.ngs-wh-why,
.ngs-wh-program,
.ngs-wh-tiers,
.ngs-wh-apply {
  padding: clamp(4rem, 8vw, 6.5rem) 0;
}

.ngs-wh-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.ngs-wh-cards article {
  background: var(--wh-surface);
  border: 1px solid var(--wh-line);
  border-radius: var(--wh-radius-card);
  padding: 1.75rem 1.5rem 1.6rem;
  text-align: left;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.ngs-wh-cards article:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}

.ngs-wh-card-icon {
  display: block;
  width: 28px;
  height: 2px;
  background: linear-gradient(90deg, var(--wh-gold), transparent);
  margin-bottom: 1.1rem;
}

.ngs-wh-cards h3 {
  font-family: Outfit, system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin: 0 0 0.75rem;
  color: #fff;
}

.ngs-wh-cards p {
  margin: 0;
  color: var(--wh-muted);
  font-family: Outfit, system-ui, sans-serif;
  line-height: 1.55;
  font-size: 0.95rem;
}

/* -------------------------------------------------------------------------
 * Program capabilities — numbered 2×2 (Blank structure)
 * ------------------------------------------------------------------------- */
.ngs-wh-program {
  background:
    linear-gradient(180deg, transparent, rgba(11, 21, 48, 0.45), transparent);
}

.ngs-wh-cap-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.ngs-wh-cap {
  background: rgba(11, 21, 48, 0.7);
  border: 1px solid var(--wh-line);
  border-radius: var(--wh-radius-card);
  padding: 1.75rem 1.6rem 1.5rem;
  text-align: left;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.ngs-wh-cap:hover {
  border-color: var(--wh-gold-dim);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
}

.ngs-wh-cap-num {
  display: block;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--wh-gold);
  margin-bottom: 0.85rem;
}

.ngs-wh-cap h3 {
  font-family: Outfit, system-ui, sans-serif;
  font-size: 1.15rem;
  font-weight: 500;
  color: #fff;
  margin: 0 0 0.65rem;
}

.ngs-wh-cap p {
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--wh-muted);
  margin: 0 0 1rem;
}

.ngs-wh-cap ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.ngs-wh-cap li {
  position: relative;
  padding-left: 1.1rem;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.88rem;
  color: var(--wh-text);
  line-height: 1.4;
}

.ngs-wh-cap li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--wh-gold);
}

/* -------------------------------------------------------------------------
 * Mid banner CTA
 * ------------------------------------------------------------------------- */
.ngs-wh-banner {
  text-align: center;
  padding: clamp(3.5rem, 7vw, 5rem) 0;
  border-top: 1px solid var(--wh-line);
  border-bottom: 1px solid var(--wh-line);
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%, rgba(26, 49, 120, 0.35), transparent 70%),
    var(--wh-panel);
}

.ngs-wh-banner .ngs-wh-inner--narrow {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ngs-wh-banner h2 {
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0 0 1.5rem;
  text-align: center;
  width: 100%;
  text-wrap: unset;
}

.ngs-wh-banner .ngs-wh-btn {
  margin: 0 auto;
}

/* -------------------------------------------------------------------------
 * Tiers
 * ------------------------------------------------------------------------- */
.ngs-wh-tier-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.ngs-wh-tier {
  border: 1px solid var(--wh-line);
  background: var(--wh-surface);
  border-radius: var(--wh-radius-card);
  padding: 1.6rem 1.2rem;
  display: grid;
  gap: 0.45rem;
  text-align: center;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.ngs-wh-tier-featured {
  border-color: var(--wh-gold-dim);
  background: linear-gradient(180deg, rgba(201, 168, 76, 0.12), var(--wh-surface));
  box-shadow: 0 0 0 1px rgba(201, 168, 76, 0.1), 0 8px 24px rgba(0, 0, 0, 0.2);
}

.ngs-wh-tier-name {
  font-family: Outfit, system-ui, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--wh-gold);
}

.ngs-wh-tier-min {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.85rem;
  color: #fff;
  font-variant-numeric: tabular-nums;
}

.ngs-wh-tier-deal {
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.88rem;
  color: var(--wh-muted);
}

/* -------------------------------------------------------------------------
 * Apply — two columns (copy left / form right) — only left-aligned block
 * ------------------------------------------------------------------------- */
.ngs-wh-apply {
  padding-bottom: clamp(4rem, 8vw, 6rem);
  background:
    radial-gradient(ellipse 50% 40% at 85% 20%, rgba(26, 49, 120, 0.25), transparent 60%);
}

.ngs-wh-apply-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.15fr);
  gap: 3rem 3.5rem;
  align-items: start;
}

.ngs-wh-apply-copy {
  text-align: left;
  padding-top: 0.5rem;
}

.ngs-wh-apply-copy .ngs-wh-eyebrow {
  margin-left: 0;
}

.ngs-wh-apply-copy h2 {
  margin-bottom: 1rem;
  text-align: left;
}

.ngs-wh-apply-copy .ngs-wh-lead {
  max-width: none;
  margin-bottom: 1.1rem;
}

.ngs-wh-apply-points {
  margin: 0 0 2rem;
  padding-left: 1.15rem;
  color: var(--wh-muted);
  font-family: Outfit, system-ui, sans-serif;
  line-height: 1.8;
}

.ngs-wh-apply-points li::marker {
  color: var(--wh-gold);
}

.ngs-wh-next-inline {
  padding-top: 1.5rem;
  border-top: 1px solid var(--wh-line);
}

.ngs-wh-next-inline ol {
  margin: 0.75rem 0 0;
  padding-left: 1.15rem;
  color: var(--wh-muted);
  font-family: Outfit, system-ui, sans-serif;
  line-height: 1.75;
}

.ngs-wh-next-inline li::marker {
  color: var(--wh-gold);
  font-weight: 600;
}

.ngs-wh-apply-form {
  min-width: 0;
}

.ngs-wh-apply-form .ngs-wh-form-success,
.ngs-wh-apply-form .ngs-wh-form-error {
  max-width: none;
  width: 100%;
}

/* -------------------------------------------------------------------------
 * Form
 * ------------------------------------------------------------------------- */
.ngs-wh-form {
  max-width: none;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.1rem;
  background: rgba(11, 21, 48, 0.92);
  border: 1px solid var(--wh-line);
  border-radius: var(--wh-radius-form);
  padding: 1.85rem 1.7rem 1.55rem;
  box-shadow:
    0 20px 56px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.ngs-wh-form-head {
  grid-column: 1 / -1;
  margin: 0 0 0.25rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid var(--wh-line);
}

.ngs-wh-form-head h3 {
  margin: 0 0 0.35rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: 1.7rem;
  color: #fff;
}

.ngs-wh-form-head p {
  margin: 0;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.9rem;
  color: var(--wh-muted);
  line-height: 1.5;
}

.ngs-wh-field {
  margin: 0;
  display: grid;
  gap: 0.4rem;
}

.ngs-wh-field-span {
  grid-column: 1 / -1;
}

.ngs-wh-field label {
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--wh-text);
}

.ngs-wh-field input,
.ngs-wh-field select,
.ngs-wh-field textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: rgba(6, 14, 34, 0.7) !important;
  border: 1px solid var(--wh-line) !important;
  color: #fff !important;
  padding: 0.8rem 0.95rem;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.95rem;
  line-height: 1.4;
  border-radius: var(--wh-radius) !important;
  box-shadow: none !important;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.ngs-wh-field input::placeholder,
.ngs-wh-field textarea::placeholder {
  color: var(--white-30, rgba(255, 255, 255, 0.3));
}

.ngs-wh-field select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23C9A84C' d='M1.4 0.6L6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.95rem center !important;
  padding-right: 2.4rem !important;
}

.ngs-wh-field input:hover,
.ngs-wh-field select:hover,
.ngs-wh-field textarea:hover {
  border-color: rgba(255, 255, 255, 0.22) !important;
}

.ngs-wh-field input:focus,
.ngs-wh-field select:focus,
.ngs-wh-field textarea:focus {
  border-color: var(--wh-gold-dim) !important;
  box-shadow: 0 0 0 3px var(--wh-gold-glow) !important;
}

.ngs-wh-field textarea {
  min-height: 6.5rem;
  resize: vertical;
}

.ngs-wh-choice {
  min-width: 0;
  padding: 0;
  border: 0;
}

.ngs-wh-choice legend {
  margin: 0 0 0.4rem;
  padding: 0;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--wh-text);
}

.ngs-wh-choice-options {
  display: flex;
  min-height: 47px;
  gap: 1.25rem;
  align-items: center;
  padding: 0.75rem 0.95rem;
  background: rgba(6, 14, 34, 0.7);
  border: 1px solid var(--wh-line);
  border-radius: var(--wh-radius);
}

.ngs-wh-choice-options label {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  color: #fff;
  cursor: pointer;
}

.ngs-wh-choice input[type="radio"] {
  width: 1.1rem;
  height: 1.1rem;
  min-width: 1.1rem;
  margin: 0;
  padding: 0;
  accent-color: var(--wh-gold);
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  cursor: pointer;
}

.ngs-wh-choice-options:focus-within {
  border-color: var(--wh-gold-dim);
  box-shadow: 0 0 0 3px var(--wh-gold-glow);
}

.ngs-wh-check {
  grid-column: 1 / -1;
}

.ngs-wh-check label {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--wh-muted);
  line-height: 1.5;
  cursor: pointer;
}

.ngs-wh-check input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  min-width: 1.15rem;
  margin-top: 0.15rem;
  accent-color: var(--wh-gold);
  border-radius: 4px;
  cursor: pointer;
}

.ngs-wh-submit {
  grid-column: 1 / -1;
  margin: 0.25rem 0 0;
}

.ngs-wh-submit .ngs-wh-btn {
  width: 100%;
  min-height: 44px;
  height: 44px;
  padding: 0 24px;
  font-size: 0.75rem;
  letter-spacing: 1.25px;
}

.ngs-wh-fine {
  grid-column: 1 / -1;
  font-family: Outfit, system-ui, sans-serif;
  font-size: 0.75rem;
  color: var(--white-30, rgba(255, 255, 255, 0.3));
  margin: 0;
  line-height: 1.45;
}

.ngs-wh-form-success,
.ngs-wh-form-error {
  margin-bottom: 1.15rem;
  padding: 1.15rem 1.25rem;
  border-radius: var(--wh-radius-card);
  border: 1px solid var(--wh-line);
  font-family: Outfit, system-ui, sans-serif;
  background: var(--wh-surface);
}

.ngs-wh-form-success {
  border-color: var(--wh-gold-dim);
}

.ngs-wh-form-error {
  border-color: var(--heritage-red, #C5333A);
  color: #fff;
}

.ngs-wh-form-success h3 {
  margin: 0 0 0.35rem;
  color: var(--wh-gold);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: 1.4rem;
}

.ngs-wh-form-success p {
  margin: 0;
  color: var(--wh-muted);
}

/* Login chrome */
.ngs-wholesale-login-chrome {
  text-align: center;
  margin: 0 0 1.25rem;
}

.ngs-wholesale-login-eyebrow {
  font-family: Outfit, system-ui, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--accent-gold, #C9A84C);
  font-size: 0.75rem;
  margin: 0 0 0.35rem;
}

.ngs-wholesale-login-note {
  font-family: Outfit, system-ui, sans-serif;
  color: var(--warm-gray, #8A8580);
  margin: 0;
}

/* Wholesale login — compact vertical rhythm. The shared account stylesheet is
 * intentionally spacious for retail registration; wholesale is login-only. */
body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .site-content,
body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) #content {
  padding-top: 48px !important;
  padding-bottom: 72px !important;
}

body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .entry-header {
  margin-bottom: 0 !important;
}

body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .page-title,
body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) h1.entry-title,
body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .entry-header .entry-title {
  margin-bottom: 28px !important;
  text-wrap: balance;
}

body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .page-title::after,
body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) h1.entry-title::after,
body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .entry-header .entry-title::after {
  margin-top: 14px !important;
}

body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .woocommerce {
  gap: 0 !important;
}

body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .ngs-wholesale-login-chrome {
  margin: 0 auto 20px !important;
  max-width: 680px;
}

body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .nexgen-gate-notice {
  margin: 0 auto 20px !important;
  max-width: 680px !important;
  text-wrap: pretty;
}

body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .nexgen-gate-tabs {
  margin: 0 auto 20px !important;
}

body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) #customer_login > div {
  padding: 34px 38px !important;
}

@media (max-width: 600px) {
  body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .site-content,
  body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) #content {
    padding-top: 32px !important;
    padding-bottom: 56px !important;
  }

  body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .page-title,
  body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) h1.entry-title,
  body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .entry-header .entry-title {
    margin-bottom: 22px !important;
  }

  body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .ngs-wholesale-login-chrome,
  body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .nexgen-gate-notice,
  body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) .nexgen-gate-tabs {
    margin-bottom: 16px !important;
  }

  body.ngs-wholesale-mode.woocommerce-account:has(#customer_login) #customer_login > div {
    padding: 28px 22px !important;
  }
}

.ngs-wholesale-mode .ngs-wholesale-thankyou {
  border: 1px solid var(--accent-gold, #C9A84C);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  margin: 1.5rem 0;
}

/* -------------------------------------------------------------------------
 * Wholesale homepage — replace the shared retail banner carousel with the
 * same video used by the wholesale shop hero. Retail Elementor data is intact.
 * ------------------------------------------------------------------------- */
body.ngs-wholesale-mode.ngs-wholesale-home-page .nexgen-section-hero {
  display: none !important;
}

body.ngs-wholesale-mode.ngs-wholesale-home-page .ngs-wh-home-video {
  position: relative;
  width: 100%;
  height: calc(100vw * 9 / 16 - 150px);
  min-height: 360px;
  overflow: hidden;
  background: var(--midnight, #060E22);
  border-bottom: 1px solid rgba(201, 168, 76, 0.28);
}

body.ngs-wholesale-mode.ngs-wholesale-home-page .ngs-wh-home-video__media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

@media (max-width: 767px) {
  body.ngs-wholesale-mode.ngs-wholesale-home-page .ngs-wh-home-video {
    height: 56.25vw;
    min-height: 220px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ngs-wholesale-mode.ngs-wholesale-home-page .ngs-wh-home-video__media {
    animation: none !important;
  }
}

/* -------------------------------------------------------------------------
 * Shop archive hero — wholesale mode (Products Archive `.nexgen-shop-hero`)
 * Full-bleed video + copy overlay. Scoped to body.ngs-wholesale-mode so
 * Elementor element-cache cannot leak wholesale chrome onto retail.
 * Do NOT style .nexgen-shop-hero::before — Elementor uses that pseudo.
 * object-fit: cover is intentional here (not the homepage Lee Priest contain rule).
 * ------------------------------------------------------------------------- */
body.ngs-wholesale-mode .nexgen-shop-hero {
  position: relative;
  overflow: hidden;
  /* Near-full 16:9 frame, ~150px shorter — crop from the bottom. */
  aspect-ratio: unset;
  width: 100%;
  height: calc(100vw * 9 / 16 - 150px);
  min-height: 0 !important;
  max-height: none !important;
  /* Keep original text placement (top padding) — do not flex-center. */
  padding: clamp(48px, 12vh, 120px) 24px !important;
  display: block;
  box-sizing: border-box;
  background: var(--midnight, #060E22);
  border-bottom: 1px solid rgba(201, 168, 76, 0.28);
  text-align: center;
}

body.ngs-wholesale-mode .nexgen-shop-hero .ngs-wh-shop-hero-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  pointer-events: none;
}

/*
 * Video scrim — darkens the bright vial highlights under the copy without
 * turning the whole hero into a solid plate. Sits above the video, below text.
 */
body.ngs-wholesale-mode .nexgen-shop-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(6, 14, 34, 0.72) 0%,
      rgba(6, 14, 34, 0.55) 42%,
      rgba(6, 14, 34, 0.28) 100%
    ),
    radial-gradient(
      ellipse 70% 55% at 50% 28%,
      rgba(6, 14, 34, 0.7) 0%,
      rgba(6, 14, 34, 0.2) 70%,
      transparent 100%
    );
}

/*
 * Readability plate on the copy column only — follows the text where it
 * already sits. Do not change hero flex/alignment or the text will move.
 */
body.ngs-wholesale-mode .nexgen-shop-hero > .e-con-inner {
  position: relative;
  z-index: 2;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding: 1.25rem 1.5rem 1.35rem;
  border-radius: 20px;
  background: rgba(6, 14, 34, 0.78);
  box-shadow: 0 0 48px 32px rgba(6, 14, 34, 0.45);
  box-sizing: border-box;
}

body.ngs-wholesale-mode .nexgen-shop-hero > .elementor-container,
body.ngs-wholesale-mode .nexgen-shop-hero > .elementor-element {
  position: relative;
  z-index: 2;
}

body.ngs-wholesale-mode .nexgen-shop-hero .nexgen-shop-hero-eyebrow .elementor-heading-title {
  color: var(--accent-gold, #C9A84C);
  letter-spacing: 0.28em;
  text-shadow: 0 1px 12px rgba(6, 14, 34, 0.65);
}

body.ngs-wholesale-mode .nexgen-shop-hero .nexgen-shop-hero-headline .elementor-heading-title {
  color: var(--white, #fff);
  text-shadow: 0 2px 18px rgba(6, 14, 34, 0.75);
}

body.ngs-wholesale-mode .nexgen-shop-hero .nexgen-shop-hero-sub .elementor-widget-container,
body.ngs-wholesale-mode .nexgen-shop-hero .nexgen-shop-hero-sub p {
  color: rgba(255, 255, 255, 0.88);
  max-width: 680px;
  text-shadow: 0 1px 14px rgba(6, 14, 34, 0.7);
}

@media (max-width: 767px) {
  body.ngs-wholesale-mode .nexgen-shop-hero {
    padding: clamp(36px, 8vh, 72px) 20px !important;
  }

  body.ngs-wholesale-mode .nexgen-shop-hero > .e-con-inner {
    padding: 1rem 1.1rem 1.15rem;
    border-radius: 16px;
    background: rgba(6, 14, 34, 0.82);
    box-shadow: 0 0 40px 24px rgba(6, 14, 34, 0.5);
  }

  body.ngs-wholesale-mode .nexgen-shop-hero::after {
    background:
      linear-gradient(
        180deg,
        rgba(6, 14, 34, 0.78) 0%,
        rgba(6, 14, 34, 0.6) 48%,
        rgba(6, 14, 34, 0.32) 100%
      ),
      radial-gradient(
        ellipse 85% 60% at 50% 24%,
        rgba(6, 14, 34, 0.75) 0%,
        rgba(6, 14, 34, 0.22) 72%,
        transparent 100%
      );
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ngs-wholesale-mode .nexgen-shop-hero .ngs-wh-shop-hero-video {
    display: none !important;
  }
}

/* -------------------------------------------------------------------------
 * Wholesale checkout preferences — compact billing-field placement.
 * ------------------------------------------------------------------------- */
body.ngs-wholesale-mode.woocommerce-checkout #ngs_wholesale_contact_method_field .woocommerce-input-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 28px;
}

body.ngs-wholesale-mode.woocommerce-checkout #ngs_wholesale_contact_method_field label.radio {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--white-90, rgba(255, 255, 255, 0.92)) !important;
  cursor: pointer;
}

body.ngs-wholesale-mode.woocommerce-checkout #ngs_wholesale_contact_method_field input[type="radio"] {
  flex: 0 0 auto;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: var(--accent-gold, #C9A84C);
  appearance: auto !important;
  -webkit-appearance: auto !important;
  cursor: pointer;
}

body.ngs-wholesale-mode.woocommerce-checkout #ngs_wholesale_contact_method_field label.radio .required,
body.ngs-wholesale-mode.woocommerce-checkout .ngs-wholesale-checkout-preference .description {
  display: none !important;
}

body.ngs-wholesale-mode.woocommerce-checkout #ngs_wholesale_contact_time_field select {
  min-height: 50px;
}

@media (max-width: 480px) {
  body.ngs-wholesale-mode.woocommerce-checkout #ngs_wholesale_contact_method_field .woocommerce-input-wrapper {
    gap: 6px 20px;
  }
}

/* -------------------------------------------------------------------------
 * Header nav — wholesale mode (hide About / COAs / Wholesale interest link)
 * Support is injected via PHP filter. CSS is defense-in-depth vs Elementor cache.
 * ------------------------------------------------------------------------- */
body.ngs-wholesale-mode .nexgen-header .menu-item:has(> a[href*="/about-us"]),
body.ngs-wholesale-mode .nexgen-header .menu-item:has(> a[href*="/coas"]),
body.ngs-wholesale-mode .nexgen-header .menu-item:has(> a[href$="/wholesale/"]),
body.ngs-wholesale-mode .nexgen-header .menu-item:has(> a[href$="/wholesale"]),
body.ngs-wholesale-mode .nexgen-header .menu-item.nexgen-menu-coas,
body.ngs-wholesale-mode .nexgen-header .menu-item.nexgen-menu-wholesale {
  display: none !important;
}

body.ngs-wholesale-mode .nexgen-header a[href*="/about-us"],
body.ngs-wholesale-mode .nexgen-header a[href*="/coas"],
body.ngs-wholesale-mode .nexgen-header a[href$="/wholesale/"],
body.ngs-wholesale-mode .nexgen-header a[href$="/wholesale"] {
  display: none !important;
}

/* -------------------------------------------------------------------------
 * Shop megamenu — wholesale mode
 *
 * Retail panel pads with --nexgen-shop-panel-pad = (100vw-1100px)/2, which
 * leaves a huge empty gutter on wide screens. Kill that. Put US Finished at
 * normal text size flush-left; give the rest of the viewport to 3 equal
 * Tier tiles (same footprint as the old large Tier 1 card).
 * ------------------------------------------------------------------------- */
@media (min-width: 1025px) {
  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .elementor-nav-menu > li.menu-item-has-children > .elementor-nav-menu--dropdown.nexgen-shop-megamenu,
  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .elementor-nav-menu > li.menu-item-has-children.nexgen-submenu-open > .elementor-nav-menu--dropdown.nexgen-shop-megamenu,
  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .elementor-nav-menu > li.menu-item-has-children.nexgen-submenu-open.nexgen-submenu-visible > .elementor-nav-menu--dropdown.nexgen-shop-megamenu,
  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .elementor-nav-menu > li.menu-item-has-children > a[aria-expanded="true"] + .elementor-nav-menu--dropdown.nexgen-shop-megamenu {
    --nexgen-shop-panel-pad: 60px !important;
    padding-top: 36px !important;
    padding-bottom: 24px !important;
    padding-left: 60px !important;
    padding-right: 60px !important;
    /* Left col = open air beside tiles; right col = kit tiles. */
    grid-template-columns: minmax(0, 1fr) minmax(640px, 58%) !important;
    gap: 20px 24px !important;
  }

  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .elementor-nav-menu > li.menu-item-has-children > .elementor-nav-menu--dropdown.nexgen-shop-megamenu > li.nexgen-shop-col-global,
  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .elementor-nav-menu > li.menu-item-has-children > .elementor-nav-menu--dropdown.nexgen-shop-megamenu > li.nexgen-shop-col-global-hidden {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  /* Center US Finished in the white space left of the tiles. */
  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .elementor-nav-menu > li.menu-item-has-children > .elementor-nav-menu--dropdown.nexgen-shop-megamenu > li.nexgen-shop-col-us {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: start !important;
    width: 360px !important;
    max-width: 100% !important;
  }

  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .elementor-nav-menu > li.menu-item-has-children > .elementor-nav-menu--dropdown.nexgen-shop-megamenu > li.nexgen-shop-figures-item {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    justify-self: stretch !important;
  }

  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .elementor-nav-menu > li.menu-item-has-children > .elementor-nav-menu--dropdown.nexgen-shop-megamenu > li.nexgen-shop-footer-item {
    grid-column: 1 / -1 !important;
  }

  /* Restore retail link sizing — do not shrink the US Finished lists. */
  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .nexgen-nav-menu .elementor-nav-menu > li.menu-item-has-children > .elementor-nav-menu--dropdown.nexgen-shop-megamenu > li.nexgen-shop-col-us > .sub-menu {
    gap: 0 24px !important;
  }

  body.ngs-wholesale-mode .nexgen-header .nexgen-header-nav .nexgen-nav-menu .elementor-nav-menu > li.menu-item-has-children > .elementor-nav-menu--dropdown.nexgen-shop-megamenu > li.nexgen-shop-col-us > .sub-menu > li > a.elementor-sub-item {
    font-size: 14px !important;
    line-height: 1.4 !important;
    padding: 11px 0 !important;
  }

  /* Three equal kit tiles — ~20% smaller than the 480px preview pass. */
  body.ngs-wholesale-mode .nexgen-shop-figures {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    min-height: 384px !important;
    height: 384px !important;
    max-height: none !important;
  }

  body.ngs-wholesale-mode .nexgen-shop-figure,
  body.ngs-wholesale-mode .nexgen-shop-figure--large {
    grid-row: auto !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  body.ngs-wholesale-mode .nexgen-shop-figures__stack {
    display: none !important;
  }

  body.ngs-wholesale-mode .nexgen-shop-figure__label,
  body.ngs-wholesale-mode .nexgen-shop-figure--large .nexgen-shop-figure__label {
    font-size: 18px !important;
    line-height: 1.2 !important;
  }
}

/* -------------------------------------------------------------------------
 * Responsive
 * ------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .ngs-wh-btn,
  .ngs-wh-cards article,
  .ngs-wh-cap,
  .ngs-wh-tier,
  .ngs-wh-field input,
  .ngs-wh-field select,
  .ngs-wh-field textarea {
    transition: none !important;
  }

  .ngs-wh-cards article:hover,
  .ngs-wh-btn-primary:hover {
    transform: none !important;
  }
}

@media (max-width: 1024px) {
  .ngs-wh-inner {
    padding: 0 24px;
  }

  .ngs-wh-apply-grid {
    gap: 2.5rem;
  }
}

@media (max-width: 900px) {
  .ngs-wh-stats-grid,
  .ngs-wh-cards,
  .ngs-wh-tier-grid,
  .ngs-wh-cap-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ngs-wh-stat {
    border-right: none;
    border-bottom: 1px solid var(--wh-line);
  }

  .ngs-wh-stat:nth-child(odd) {
    border-right: 1px solid var(--wh-line);
  }

  .ngs-wh-stat:nth-last-child(-n + 2) {
    border-bottom: none;
  }

  .ngs-wh-apply-grid {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }
}

@media (max-width: 600px) {
  .ngs-wh-inner {
    padding: 0 18px;
  }

  .ngs-wh-stats-grid,
  .ngs-wh-cards,
  .ngs-wh-tier-grid,
  .ngs-wh-cap-grid,
  .ngs-wh-form {
    grid-template-columns: 1fr;
  }

  .ngs-wh-stat,
  .ngs-wh-stat:nth-child(odd) {
    border-right: none;
    border-bottom: 1px solid var(--wh-line);
  }

  .ngs-wh-stat:last-child {
    border-bottom: none;
  }

  .ngs-wh-btn {
    width: 100%;
  }

  .ngs-wh-cta-row {
    flex-direction: column;
    align-items: stretch;
  }
}

/* -------------------------------------------------------------------------
 * Shop tiles — Single / Kit pack selector (wholesale only)
 * Match Mix & Match / dose-pill language on the cream card body.
 * ------------------------------------------------------------------------- */
body.ngs-wholesale-mode .nexgen-shop-grid .nexgen-shop-card-bundle {
  display: none !important;
}

/* Woo injects "View cart" after ajax add — keep Add / Buy Now layout intact. */
body.ngs-wholesale-mode .nexgen-shop-grid ul.products li.product a.added_to_cart,
body.ngs-wholesale-mode .nexgen-shop-grid ul.products li.product .nexgen-family-card-actions a.added_to_cart {
  display: none !important;
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 5px;
  width: 100%;
  margin: 0;
  padding: 0;
  min-width: 0;
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__eyebrow {
  margin: 0;
  font-family: 'Outfit', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: var(--accent-gold, #C9A84C);
  line-height: 1.2;
  text-align: left;
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__options {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 5px;
  width: 100%;
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__option {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  margin: 0;
  padding: 8px 6px;
  background: linear-gradient(180deg, #FFFFFF 0%, var(--cream, #F5F5F0) 100%);
  border: 1px solid rgba(28, 26, 23, 0.16);
  border-radius: 6px;
  color: var(--near-black, #1C1A17);
  cursor: default;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__option.is-active,
body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__option--static {
  background: linear-gradient(180deg, #152448 0%, var(--deep-navy, #0B1530) 100%);
  border-color: var(--accent-gold, #C9A84C);
  color: #FFFFFF;
  box-shadow:
    0 0 0 1px rgba(201, 168, 76, 0.35),
    0 2px 8px rgba(6, 14, 34, 0.18);
  transform: none;
  pointer-events: none;
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__qty,
body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__sep,
body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__label {
  font-family: 'Outfit', sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
  white-space: nowrap;
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__sep {
  color: var(--warm-gray, #8A8580);
  font-weight: 600;
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__option.is-active .ngs-wh-pack__sep {
  color: rgba(255, 255, 255, 0.55);
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__option.is-active .ngs-wh-pack__qty {
  color: #FFFFFF;
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__option.is-active .ngs-wh-pack__label {
  color: var(--accent-gold, #C9A84C);
}

body.ngs-wholesale-mode .nexgen-shop-grid .ngs-wh-pack__hint {
  margin: 0;
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--warm-gray, #8A8580);
  text-align: left;
}
