/* =========================================================
   NPPP GLOBAL DESIGN SYSTEM
   2026-06-17
   Shared source of truth for NPPP buttons, cards, sections,
   clickable tiles, dashboard tiles, forms and small UI states.
   Loaded after nppp-custom.css so new cards can use these
   classes without redefining the same CSS in every Ghost card.
   ========================================================= */

:root {
  --nppp-text: #f4f4f4;
  --nppp-text-soft: #d7dbe3;
  --nppp-muted: #aeb5c2;
  --nppp-muted-2: #828b99;
  --nppp-cyan: #56c7ff;
  --nppp-purple: #8b5cff;
  --nppp-magenta: #d61b7f;
  --nppp-green: #3acc78;
  --nppp-page-width: 1560px;
  --nppp-dashboard-width: 1680px;
  --nppp-radius-xl: 34px;
  --nppp-radius-lg: 26px;
  --nppp-radius-md: 18px;
  --nppp-radius-sm: 13px;
  --nppp-border-open: rgba(255, 255, 255, 0.025);
  --nppp-border-soft: rgba(255, 255, 255, 0.045);
  --nppp-border-strong: rgba(255, 255, 255, 0.075);
  --nppp-panel: transparent;
  --nppp-panel-soft: transparent;
  --nppp-panel-soft-hover: rgba(255, 255, 255, 0.045);
  --nppp-button-border: rgba(214, 27, 127, 0.36);
  --nppp-button-border-hover: rgba(214, 27, 127, 0.58);
  --nppp-button-hover-bg: linear-gradient(135deg, rgba(214, 27, 127, 0.16), rgba(214, 27, 127, 0.055)), rgba(255, 255, 255, 0.02);
}

/* ---------- Page width helpers ---------- */

.nppp-width-page,
.nppp-home-card-wrap {
  width: min(var(--nppp-page-width), calc(100vw - 48px)) !important;
  max-width: var(--nppp-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: var(--nppp-text) !important;
}

.nppp-width-dashboard,
.nppp-dashboard-shell,
.nppp-dashboard-wrap,
.nppp-lesson-app,
.nppp-lesson-shell,
.nppp-video-shell,
.nppp-video-layout {
  width: min(var(--nppp-dashboard-width), calc(100vw - 48px)) !important;
  max-width: var(--nppp-dashboard-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---------- Section / card language ---------- */

.nppp-section,
.nppp-panel,
.nppp-home-hero,
.nppp-home-section,
.nppp-home-final-cta,
.nppp-dash-shell,
.nppp-legal-shell,
.nppp-policy-shell,
.nppp-enroll-shell,
.nppp-testimonial-shell {
  color: var(--nppp-text) !important;
  border: 1px solid var(--nppp-border-open) !important;
  border-radius: var(--nppp-radius-lg) !important;
  background: var(--nppp-panel) !important;
  box-shadow: none !important;
}

.nppp-card,
.nppp-tile,
.nppp-feature-card,
.nppp-module,
.nppp-home-card,
.nppp-home-submit-card,
.nppp-home-enrollment-box,
.nppp-home-testimonial-card,
.nppp-home-note,
.nppp-dashboard-status,
.nppp-dashboard-tile,
.nppp-legal-card,
.nppp-policy-card,
.nppp-enroll-card,
.nppp-form-card,
.nppp-note-card {
  color: var(--nppp-text) !important;
  border: 1px solid var(--nppp-border-soft) !important;
  border-radius: var(--nppp-radius-md) !important;
  background: var(--nppp-panel-soft) !important;
  box-shadow: none !important;
}

.nppp-card,
.nppp-tile,
.nppp-feature-card,
.nppp-home-card,
.nppp-home-submit-card,
.nppp-home-enrollment-box,
.nppp-home-testimonial-card,
.nppp-home-note,
.nppp-dashboard-tile,
.nppp-legal-card,
.nppp-policy-card,
.nppp-enroll-card,
.nppp-form-card,
.nppp-note-card {
  padding: 22px !important;
}

.nppp-card h1,
.nppp-card h2,
.nppp-card h3,
.nppp-panel h1,
.nppp-panel h2,
.nppp-panel h3,
.nppp-section h1,
.nppp-section h2,
.nppp-section h3,
.nppp-home-section-title,
.nppp-dashboard-tile h3,
.nppp-feature-card h3,
.nppp-home-submit-card h3,
.nppp-home-testimonial-name {
  color: #ffffff !important;
}

.nppp-card p,
.nppp-card li,
.nppp-panel p,
.nppp-panel li,
.nppp-section p,
.nppp-section li,
.nppp-home-section-intro,
.nppp-feature-card p,
.nppp-home-submit-card p,
.nppp-home-testimonial-quote,
.nppp-home-note p {
  color: var(--nppp-text-soft) !important;
}

.nppp-muted,
.nppp-card-meta,
.nppp-home-testimonial-role,
.nppp-dash-kicker {
  color: var(--nppp-muted-2) !important;
}

/* ---------- Official NPPP button system ---------- */

.nppp-button,
a.nppp-button,
button.nppp-button,
.nppp-home-button,
a.nppp-home-button,
.nppp-home-button-subtle,
a.nppp-home-button-subtle,
.nppp-btn,
a.nppp-btn,
button.nppp-btn,
.nppp-btn-primary,
a.nppp-btn-primary,
button.nppp-btn-primary,
.nppp-btn-secondary,
a.nppp-btn-secondary,
button.nppp-btn-secondary,
.nppp-header-cta,
a.nppp-header-cta,
.nppp-dev-actions button,
.nppp-dashboard-completion-toggle,
.kg-button-card a,
button[type="submit"].nppp-button,
input[type="submit"].nppp-button,
.nppp-form button[type="submit"],
.nppp-form-submit,
.nppp-submit-button,
.nppp-enroll-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 50px !important;
  padding: 13px 22px 12px !important;
  border-radius: 999px !important;
  border: 1px solid var(--nppp-button-border) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-align: center !important;
  font: inherit !important;
  font-size: 0.96rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
  filter: none !important;
  text-shadow: none !important;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease !important;
}

.nppp-button:visited,
a.nppp-button:visited,
.nppp-home-button:visited,
a.nppp-home-button:visited,
.nppp-home-button-subtle:visited,
a.nppp-home-button-subtle:visited,
.nppp-btn:visited,
a.nppp-btn:visited,
.nppp-btn-primary:visited,
a.nppp-btn-primary:visited,
.nppp-btn-secondary:visited,
a.nppp-btn-secondary:visited,
.nppp-header-cta:visited,
a.nppp-header-cta:visited,
.kg-button-card a:visited,
.nppp-button:active,
.nppp-button:focus,
.nppp-home-button:active,
.nppp-home-button:focus,
.nppp-home-button-subtle:active,
.nppp-home-button-subtle:focus,
.nppp-btn:active,
.nppp-btn:focus,
.nppp-btn-primary:active,
.nppp-btn-primary:focus,
.nppp-btn-secondary:active,
.nppp-btn-secondary:focus,
.nppp-header-cta:active,
.nppp-header-cta:focus,
.nppp-dev-actions button:active,
.nppp-dev-actions button:focus,
.nppp-dashboard-completion-toggle:active,
.nppp-dashboard-completion-toggle:focus,
.kg-button-card a:active,
.kg-button-card a:focus,
.nppp-form button[type="submit"]:active,
.nppp-form button[type="submit"]:focus,
.nppp-form-submit:active,
.nppp-form-submit:focus,
.nppp-submit-button:active,
.nppp-submit-button:focus,
.nppp-enroll-button:active,
.nppp-enroll-button:focus {
  border-color: var(--nppp-button-border) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.nppp-button:hover,
a.nppp-button:hover,
button.nppp-button:hover,
.nppp-home-button:hover,
a.nppp-home-button:hover,
.nppp-home-button-subtle:hover,
a.nppp-home-button-subtle:hover,
.nppp-btn:hover,
a.nppp-btn:hover,
button.nppp-btn:hover,
.nppp-btn-primary:hover,
a.nppp-btn-primary:hover,
button.nppp-btn-primary:hover,
.nppp-btn-secondary:hover,
a.nppp-btn-secondary:hover,
button.nppp-btn-secondary:hover,
.nppp-header-cta:hover,
a.nppp-header-cta:hover,
.nppp-dev-actions button:hover,
.nppp-dashboard-completion-toggle:hover,
.kg-button-card a:hover,
.nppp-form button[type="submit"]:hover,
.nppp-form-submit:hover,
.nppp-submit-button:hover,
.nppp-enroll-button:hover {
  border-color: var(--nppp-button-border-hover) !important;
  background: var(--nppp-button-hover-bg) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.nppp-button-small,
.nppp-button.nppp-button-small,
.nppp-dev-actions button,
.nppp-dashboard-completion-toggle {
  min-height: 36px !important;
  padding: 8px 13px !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.nppp-button:disabled,
button.nppp-button:disabled,
.nppp-dev-actions button:disabled,
.nppp-dashboard-completion-toggle:disabled,
.nppp-form button[type="submit"]:disabled,
.nppp-submit-button:disabled,
.nppp-enroll-button:disabled {
  opacity: 0.55 !important;
  cursor: wait !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ---------- Clickable cards / tiles ---------- */

a.nppp-clickable-card,
a.nppp-clickable-tile,
.nppp-clickable-card,
.nppp-clickable-tile,
.nppp-dashboard-tile-link,
.nppp-academy-dashboard .nppp-whats-new-item,
.nppp-whats-new-item {
  color: #ffffff !important;
  text-decoration: none !important;
  border: 1px solid var(--nppp-button-border) !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

a.nppp-clickable-card:hover,
a.nppp-clickable-tile:hover,
.nppp-clickable-card:hover,
.nppp-clickable-tile:hover,
.nppp-dashboard-tile-link:hover,
.nppp-academy-dashboard .nppp-whats-new-item:hover,
.nppp-whats-new-item:hover {
  color: #ffffff !important;
  text-decoration: none !important;
  border-color: var(--nppp-button-border-hover) !important;
  background: var(--nppp-button-hover-bg) !important;
  box-shadow: none !important;
}

.nppp-academy-dashboard .nppp-whats-new-item,
.nppp-whats-new-item {
  border-radius: var(--nppp-radius-sm) !important;
}

.nppp-clickable-card:focus-visible,
.nppp-clickable-tile:focus-visible,
.nppp-dashboard-tile-link:focus-visible,
.nppp-academy-dashboard .nppp-whats-new-item:focus-visible,
.nppp-whats-new-item:focus-visible,
.nppp-button:focus-visible,
.nppp-home-button:focus-visible,
.nppp-header-cta:focus-visible,
.nppp-dev-actions button:focus-visible,
.nppp-dashboard-completion-toggle:focus-visible {
  outline: 2px solid rgba(86, 199, 255, 0.48) !important;
  outline-offset: 3px !important;
}

/* ---------- Dashboard refinements ---------- */

.nppp-academy-dashboard .nppp-dash-shell {
  padding: 28px 32px 34px !important;
}

.nppp-academy-dashboard .nppp-dashboard-stack {
  display: grid !important;
  gap: 16px !important;
}

.nppp-academy-dashboard .nppp-overview-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.nppp-academy-dashboard .nppp-whats-new-list {
  scrollbar-width: thin !important;
}

.nppp-academy-dashboard .nppp-whats-new-thumb {
  border: 1px solid var(--nppp-border-strong) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

.nppp-academy-dashboard .nppp-whats-new-label {
  color: rgba(86, 199, 255, 0.92) !important;
}

.nppp-academy-dashboard .nppp-whats-new-title {
  color: #ffffff !important;
}

.nppp-academy-dashboard .nppp-whats-new-excerpt {
  color: var(--nppp-text-soft) !important;
}

.nppp-dashboard-completion-toggle.is-completed {
  border-color: rgba(58, 204, 120, 0.70) !important;
  background: linear-gradient(135deg, rgba(58, 204, 120, 0.22), rgba(58, 204, 120, 0.095)), rgba(255, 255, 255, 0.02) !important;
  color: #eafff2 !important;
  font-weight: 900 !important;
}

.nppp-dashboard-completion-toggle.is-completed:hover,
.nppp-dashboard-completion-toggle.is-completed:focus {
  border-color: rgba(58, 204, 120, 0.95) !important;
  background: linear-gradient(135deg, rgba(58, 204, 120, 0.30), rgba(58, 204, 120, 0.14)), rgba(255, 255, 255, 0.03) !important;
  color: #ffffff !important;
}

/* ---------- Forms ---------- */

.nppp-form label,
.nppp-form-label,
.nppp-enroll-form label,
.nppp-testimonial-form label {
  color: #ffffff !important;
  font-weight: 800 !important;
}

.nppp-form input,
.nppp-form textarea,
.nppp-form select,
.nppp-form-input,
.nppp-form textarea.nppp-form-input,
.nppp-enroll-form input,
.nppp-enroll-form textarea,
.nppp-enroll-form select,
.nppp-testimonial-form input,
.nppp-testimonial-form textarea,
.nppp-testimonial-form select {
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 14px !important;
  background: rgba(2, 5, 10, 0.50) !important;
  box-shadow: none !important;
  outline: none !important;
}

.nppp-form input:focus,
.nppp-form textarea:focus,
.nppp-form select:focus,
.nppp-form-input:focus,
.nppp-enroll-form input:focus,
.nppp-enroll-form textarea:focus,
.nppp-enroll-form select:focus,
.nppp-testimonial-form input:focus,
.nppp-testimonial-form textarea:focus,
.nppp-testimonial-form select:focus {
  border-color: rgba(86, 199, 255, 0.42) !important;
  box-shadow: 0 0 0 3px rgba(86, 199, 255, 0.08) !important;
}

.nppp-form input::placeholder,
.nppp-form textarea::placeholder,
.nppp-enroll-form input::placeholder,
.nppp-enroll-form textarea::placeholder,
.nppp-testimonial-form input::placeholder,
.nppp-testimonial-form textarea::placeholder {
  color: rgba(215, 219, 227, 0.48) !important;
}

/* ---------- Testimonials ---------- */

.nppp-home-testimonial-person {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

.nppp-home-testimonial-photo {
  width: 112px !important;
  height: 132px !important;
  max-width: none !important;
  flex: 0 0 112px !important;
  aspect-ratio: 14 / 16 !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  border: 1px solid rgba(86, 199, 255, 0.20) !important;
  background: rgba(4, 8, 16, 0.72) !important;
  box-shadow: 0 0 0 1px rgba(214, 27, 127, 0.12) inset, 0 12px 30px rgba(0, 0, 0, 0.28) !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 1180px) {
  .nppp-academy-dashboard .nppp-overview-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  .nppp-width-page,
  .nppp-home-card-wrap,
  .nppp-width-dashboard,
  .nppp-dashboard-shell,
  .nppp-dashboard-wrap,
  .nppp-lesson-app,
  .nppp-lesson-shell,
  .nppp-video-shell,
  .nppp-video-layout {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
  }

  .nppp-section,
  .nppp-panel,
  .nppp-home-hero,
  .nppp-home-section,
  .nppp-home-final-cta,
  .nppp-dash-shell,
  .nppp-legal-shell,
  .nppp-policy-shell,
  .nppp-enroll-shell,
  .nppp-testimonial-shell {
    border-radius: var(--nppp-radius-md) !important;
    padding: 24px !important;
  }

  .nppp-button,
  a.nppp-button,
  button.nppp-button,
  .nppp-home-button,
  a.nppp-home-button,
  .nppp-home-button-subtle,
  a.nppp-home-button-subtle,
  .nppp-form button[type="submit"],
  .nppp-form-submit,
  .nppp-submit-button,
  .nppp-enroll-button {
    width: 100% !important;
  }

  .nppp-home-testimonial-photo {
    width: 96px !important;
    height: 112px !important;
    flex-basis: 96px !important;
    border-radius: 16px !important;
  }
}

@media (max-width: 480px) {
  .nppp-home-testimonial-person {
    gap: 14px !important;
  }

  .nppp-home-testimonial-photo {
    width: 86px !important;
    height: 102px !important;
    flex-basis: 86px !important;
  }
}


/* =========================================================
   NPPP TRANSPARENT CARD SAFETY LAYER
   2026-06-17
   Keeps the global design system for buttons, borders,
   hover states, tiles and forms, but prevents the theme from
   turning existing Ghost HTML cards into opaque dark blocks.
   ========================================================= */

.nppp-section,
.nppp-panel,
.nppp-home-hero,
.nppp-home-section,
.nppp-home-final-cta,
.nppp-dash-shell,
.nppp-legal-shell,
.nppp-policy-shell,
.nppp-enroll-shell,
.nppp-testimonial-shell,
.nppp-card,
.nppp-tile,
.nppp-feature-card,
.nppp-module,
.nppp-home-card,
.nppp-home-submit-card,
.nppp-home-enrollment-box,
.nppp-home-testimonial-card,
.nppp-home-note,
.nppp-dashboard-status,
.nppp-dashboard-tile,
.nppp-legal-card,
.nppp-policy-card,
.nppp-enroll-card,
.nppp-form-card,
.nppp-note-card {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.nppp-home-hero::before,
.nppp-home-hero::after,
.nppp-home-section::before,
.nppp-home-section::after,
.nppp-home-card::before,
.nppp-home-card::after,
.nppp-section::before,
.nppp-section::after,
.nppp-panel::before,
.nppp-panel::after {
  display: none !important;
}

/* Clickable tiles still behave like buttons on hover. */
a.nppp-clickable-card:hover,
a.nppp-clickable-tile:hover,
.nppp-clickable-card:hover,
.nppp-clickable-tile:hover,
.nppp-dashboard-tile-link:hover,
.nppp-academy-dashboard .nppp-whats-new-item:hover,
.nppp-whats-new-item:hover {
  background:
    linear-gradient(135deg, rgba(214, 27, 127, 0.16), rgba(214, 27, 127, 0.055)),
    rgba(255, 255, 255, 0.02) !important;
  background-color: transparent !important;
}


/* =========================================================
   NPPP BORDERLESS HTML CARD SAFETY LAYER
   2026-06-17
   Removes the faint grey borders from NPPP HTML-card
   sections/panels while preserving borders on actual buttons
   and clickable controls.
   ========================================================= */

.kg-card.kg-html-card,
.nppp-section,
.nppp-panel,
.nppp-home-hero,
.nppp-home-section,
.nppp-home-final-cta,
.nppp-dash-shell,
.nppp-legal-shell,
.nppp-policy-shell,
.nppp-enroll-shell,
.nppp-testimonial-shell,
.nppp-card,
.nppp-tile,
.nppp-feature-card,
.nppp-module,
.nppp-home-card,
.nppp-home-submit-card,
.nppp-home-enrollment-box,
.nppp-home-testimonial-card,
.nppp-home-note,
.nppp-dashboard-status,
.nppp-dashboard-tile,
.nppp-legal-card,
.nppp-policy-card,
.nppp-enroll-card,
.nppp-form-card,
.nppp-note-card,
.nppp-overview-block,
.nppp-program-block,
.nppp-whats-new-card {
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Keep borders on things that should still read as buttons/interactive controls. */
.nppp-button,
.nppp-button-small,
.nppp-home-button,
.nppp-home-button-subtle,
.nppp-dashboard-completion-toggle,
.nppp-dev-actions button,
button.nppp-button,
a.nppp-button,
a.nppp-home-button,
a.nppp-clickable-card,
a.nppp-clickable-tile,
.nppp-clickable-card,
.nppp-clickable-tile,
.nppp-dashboard-tile-link,
.nppp-whats-new-item,
input,
select,
textarea {
  border-style: solid !important;
}


/* =========================================================
   NPPP STATIC CARD HOVER SOURCE REMOVED
   2026-06-17
   Static text cards and panels must not behave like buttons.
   The original broad hover source was removed from nppp-custom.css.
   This final layer only neutralizes movement/cursor effects and
   deliberately does NOT change borders, backgrounds, or shadows.
   ========================================================= */

.nppp-home-card:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile),
.nppp-card:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile),
.nppp-tile:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile),
.nppp-panel:not(a):not(button),
.nppp-section:not(a):not(button),
.nppp-feature-card:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile),
.nppp-home-submit-card:not(a):not(button),
.nppp-home-enrollment-box:not(a):not(button),
.nppp-home-testimonial-card:not(a):not(button),
.nppp-home-note:not(a):not(button),
.nppp-legal-card:not(a):not(button),
.nppp-policy-card:not(a):not(button),
.nppp-enroll-card:not(a):not(button),
.nppp-form-card:not(a):not(button),
.nppp-note-card:not(a):not(button),
.nppp-home-card [class*="card"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button),
.nppp-home-section [class*="card"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button),
.nppp-home-panel [class*="card"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button),
.nppp-home-card [class*="panel"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button),
.nppp-home-section [class*="panel"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button),
.nppp-home-panel [class*="panel"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button) {
  transition: none !important;
  cursor: default !important;
}

.nppp-home-card:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):hover,
.nppp-card:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):hover,
.nppp-tile:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):hover,
.nppp-panel:not(a):not(button):hover,
.nppp-section:not(a):not(button):hover,
.nppp-feature-card:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):hover,
.nppp-home-submit-card:not(a):not(button):hover,
.nppp-home-enrollment-box:not(a):not(button):hover,
.nppp-home-testimonial-card:not(a):not(button):hover,
.nppp-home-note:not(a):not(button):hover,
.nppp-legal-card:not(a):not(button):hover,
.nppp-policy-card:not(a):not(button):hover,
.nppp-enroll-card:not(a):not(button):hover,
.nppp-form-card:not(a):not(button):hover,
.nppp-note-card:not(a):not(button):hover,
.nppp-home-card [class*="card"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button):hover,
.nppp-home-section [class*="card"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button):hover,
.nppp-home-panel [class*="card"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button):hover,
.nppp-home-card [class*="panel"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button):hover,
.nppp-home-section [class*="panel"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button):hover,
.nppp-home-panel [class*="panel"]:not(a):not(button):not(.nppp-clickable-card):not(.nppp-clickable-tile):not(.nppp-button):not(.nppp-home-button):hover {
  transform: none !important;
  translate: none !important;
  scale: none !important;
  filter: none !important;
  opacity: 1 !important;
  cursor: default !important;
}

/* Official hover remains only on actual interactive NPPP elements. */
.nppp-button:hover,
a.nppp-button:hover,
button.nppp-button:hover,
.nppp-home-button:hover,
a.nppp-home-button:hover,
.nppp-home-button-subtle:hover,
a.nppp-home-button-subtle:hover,
.nppp-btn:hover,
a.nppp-btn:hover,
button.nppp-btn:hover,
.nppp-btn-primary:hover,
a.nppp-btn-primary:hover,
button.nppp-btn-primary:hover,
.nppp-btn-secondary:hover,
a.nppp-btn-secondary:hover,
button.nppp-btn-secondary:hover,
.nppp-header-cta:hover,
a.nppp-header-cta:hover,
.nppp-dev-actions button:hover,
.nppp-dashboard-completion-toggle:hover,
.kg-button-card a:hover,
.nppp-form button[type="submit"]:hover,
.nppp-form-submit:hover,
.nppp-submit-button:hover,
.nppp-enroll-button:hover,
a.nppp-clickable-card:hover,
a.nppp-clickable-tile:hover,
.nppp-dashboard-tile-link:hover,
.nppp-academy-dashboard .nppp-whats-new-item:hover,
.nppp-whats-new-item:hover {
  border-color: rgba(214, 27, 127, 0.58) !important;
  background:
    linear-gradient(135deg, rgba(214, 27, 127, 0.16), rgba(214, 27, 127, 0.055)),
    rgba(255, 255, 255, 0.02) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

/* Normal NPPP buttons should stay darker than the preserved hover state. */
.nppp-button:not(:hover):not(:disabled),
a.nppp-button:not(:hover):not(:disabled),
button.nppp-button:not(:hover):not(:disabled),
.nppp-button-subtle:not(:hover):not(:disabled),
a.nppp-button-subtle:not(:hover):not(:disabled),
button.nppp-button-subtle:not(:hover):not(:disabled),
.nppp-home-button:not(:hover):not(:disabled),
a.nppp-home-button:not(:hover):not(:disabled),
.nppp-home-button-subtle:not(:hover):not(:disabled),
a.nppp-home-button-subtle:not(:hover):not(:disabled),
.nppp-btn:not(:hover):not(:disabled),
a.nppp-btn:not(:hover):not(:disabled),
button.nppp-btn:not(:hover):not(:disabled),
.nppp-btn-primary:not(:hover):not(:disabled),
a.nppp-btn-primary:not(:hover):not(:disabled),
button.nppp-btn-primary:not(:hover):not(:disabled),
.nppp-btn-secondary:not(:hover):not(:disabled),
a.nppp-btn-secondary:not(:hover):not(:disabled),
button.nppp-btn-secondary:not(:hover):not(:disabled),
.nppp-header-cta:not(:hover):not(:disabled),
a.nppp-header-cta:not(:hover):not(:disabled),
.kg-button-card a:not(:hover):not(:disabled),
.hero-btn-1:not(:hover):not(:disabled),
.hero-btn-2:not(:hover):not(:disabled),
.nppp-form button[type="submit"]:not(:hover):not(:disabled),
.nppp-form-submit:not(:hover):not(:disabled),
.nppp-submit-button:not(:hover):not(:disabled),
.nppp-enroll-button:not(:hover):not(:disabled),
a[href*="/enroll"]:not(:hover):not(:disabled),
a[href*="/submit-testimonial"]:not(:hover):not(:disabled),
.nppp-home-card a[class*="button"]:not(:hover):not(:disabled),
.nppp-home-section a[class*="button"]:not(:hover):not(:disabled),
.nppp-home-panel a[class*="button"]:not(:hover):not(:disabled) {
  border-color: rgba(214, 27, 127, 0.36) !important;
  background: rgba(255, 255, 255, 0.018) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
/* NPPP legal document surfaces */
.nppp-page-legal .nppp-legal-document {
  max-width: 980px;
  margin-inline: auto;
}

.nppp-page-legal section.nppp-legal-section {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.nppp-page-legal .nppp-legal-card.nppp-legal-section,
.nppp-page-legal .nppp-policy-card.nppp-legal-section {
  border: 1px solid rgba(148, 163, 184, 0.13) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.024), rgba(255, 255, 255, 0.008)),
    rgba(6, 9, 18, 0.28) !important;
  border-radius: 16px !important;
  padding: clamp(16px, 2vw, 22px) !important;
  box-shadow: none !important;
}

.nppp-page-legal .nppp-legal-section + .nppp-legal-section {
  margin-top: 14px;
}

.nppp-page-legal .nppp-legal-note,
.nppp-page-legal .nppp-legal-contact {
  border: 1px solid rgba(148, 163, 184, 0.11) !important;
  background:
    linear-gradient(180deg, rgba(86, 199, 255, 0.018), rgba(214, 27, 127, 0.012)),
    rgba(255, 255, 255, 0.012) !important;
  border-radius: 14px !important;
  padding: clamp(14px, 1.8vw, 20px) !important;
  box-shadow: none !important;
}

.nppp-page-legal .nppp-terms-section-title,
.nppp-page-legal .nppp-privacy-section-title,
.nppp-page-legal .nppp-policy-section-title,
.nppp-page-legal .nppp-legal-contact h2 {
  margin: 0 0 10px !important;
  color: #ffffff !important;
  font-size: clamp(1.05rem, 1.7vw, 1.28rem) !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

.nppp-page-legal .nppp-terms-section-title span,
.nppp-page-legal .nppp-privacy-section-title span,
.nppp-page-legal .nppp-policy-section-title span {
  color: rgba(86, 199, 255, 0.86);
  font-weight: 700;
}

.nppp-page-legal .nppp-legal-section p,
.nppp-page-legal .nppp-legal-section li,
.nppp-page-legal .nppp-legal-note,
.nppp-page-legal .nppp-legal-contact {
  line-height: 1.62;
}

.nppp-page-legal .nppp-legal-section p,
.nppp-page-legal .nppp-legal-section ul {
  margin-top: 0;
  margin-bottom: 0.7rem;
}

.nppp-page-legal .nppp-legal-section p:last-child,
.nppp-page-legal .nppp-legal-section ul:last-child {
  margin-bottom: 0;
}

.nppp-page-legal .nppp-legal-section ul {
  padding-left: 1.2rem;
}

.nppp-page-legal .nppp-legal-contact {
  margin-top: 18px;
}

.nppp-page-legal .nppp-legal-section,
.nppp-page-legal .nppp-legal-note,
.nppp-page-legal .nppp-legal-contact {
  cursor: default !important;
  transform: none !important;
}

.nppp-page-legal .nppp-legal-section:hover,
.nppp-page-legal .nppp-legal-note:hover,
.nppp-page-legal .nppp-legal-contact:hover {
  transform: none !important;
  box-shadow: none !important;
}
