/* ==========================================================================
   NutriTracker Premium Theme Override — Aurora v2 (v2.1.1)
   ========================================================================== */

:root {
  /* Backgrounds — three-tone section rhythm */
  --nt-bg: #070714;
  --nt-bg-raised: #0d0d26;
  --nt-bg-alt: #0a0a1f;
  --nt-bg-card: #12123a;
  --nt-bg-card-hover: #15153a;
  --nt-bg-sidebar: #262d36;
  --nt-bg-popover: #2d3139;
  --nt-bg-muted: #3a4452;

  /* Borders */
  --nt-border: rgba(255, 255, 255, 0.12);
  --nt-border-subtle: rgba(255, 255, 255, 0.06);
  --nt-border-accent: rgba(79, 142, 247, 0.40);

  /* Text */
  --nt-text: #ebe9f4;
  --nt-text-muted: #9898b0;
  --nt-text-dim: #6b6b88;

  /* Accent palette — three distinct roles */
  --nt-primary: #4f8ef7;      /* CTAs, links, highlights */
  --nt-accent: #8b5cf6;       /* persona, testimonials, gradient endpoint */
  --nt-indigo: #6366f1;       /* borders, active states, decoration */
  --nt-frost: #7d71ff;

  /* Functional */
  --nt-radius-sm: 8px;
  --nt-radius-card: 20px;
  --nt-radius-pill: 9999px;
  --nt-font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --nt-font-heading: 'Inter', system-ui, -apple-system, sans-serif;
  --nt-max-w: 1200px;
  --nt-section-pad: clamp(1.5rem, 2.5vw, 2.25rem);
  --nt-section-pad-sm: clamp(1.5rem, 3vw, 2.5rem);
}

html { scroll-behavior: smooth; }

body, .has-dark-shade-background-color, .has-background-background-color, .has-black-color-background-color {
  background-color: var(--nt-bg) !important;
}
body {
  font-family: var(--nt-font-body) !important;
  color: var(--nt-text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6, .wp-block-heading, .wp-block-site-title {
  font-family: var(--nt-font-heading) !important;
  font-weight: 700 !important;
}
/* Tighten tracking as size increases — how Inter is designed */
h1, .wp-block-heading:is([style*="3.5rem"], [style*="4rem"], [style*="4.5rem"], [style*="5rem"]) {
  letter-spacing: -0.03em !important;
}
h2, .wp-block-heading { letter-spacing: -0.025em !important; }
h3 { letter-spacing: -0.01em !important; }

/* Gradient text utility */
.nt-gradient-text {
  background: linear-gradient(135deg, var(--nt-primary) 0%, var(--nt-accent) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Kill SaaSLauncher pill */
.saaslauncher-header .is-style-saaslauncher-boxshadow {
  border-radius: 0 !important; box-shadow: none !important; background: transparent !important;
}

/* --- HEADER --- */
.saaslauncher-header.is-style-saaslauncher-sticky-navigation {
  padding: 0 !important; position: sticky !important; top: 0 !important; z-index: 1000 !important;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, transform 0.3s cubic-bezier(0.4,0,0.2,1) !important;
  background: transparent !important;
}
.saaslauncher-header .is-style-saaslauncher-boxshadow {
  max-width: 1260px; margin: 0 auto; padding: 12px 24px !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px;
}
.saaslauncher-header.nt-scrolled {
  background: rgba(14, 17, 23, 0.88) !important;
  backdrop-filter: blur(24px) !important; -webkit-backdrop-filter: blur(24px) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.saaslauncher-header.nt-hidden { transform: translateY(-100%) !important; }
.saaslauncher-header.is-style-saaslauncher-sticky-navigation.sticky-enabled {
  padding-top: 0 !important; padding-bottom: 0 !important; background: rgba(14, 17, 23, 0.88) !important;
}
.saaslauncher-header .wp-block-site-title { font-size: 22px !important; font-weight: 600 !important; }
.saaslauncher-header .wp-block-navigation { font-size: 15px !important; font-weight: 400 !important; gap: 8px !important; }
.saaslauncher-header .wp-block-navigation-item__content {
  padding: 8px 12px !important; border-radius: 8px; transition: background 0.2s ease !important;
}
.saaslauncher-header .wp-block-navigation-item__content:hover { background: rgba(255,255,255,0.08); }
.saaslauncher-header .wp-block-button__link {
  padding: 10px 20px !important; font-size: 14px !important; font-weight: 600 !important;
  border-radius: 999px !important; color: #ffffff !important; transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.saaslauncher-header .wp-block-button__link:hover {
  transform: translateY(-1px); box-shadow: 0 4px 16px rgba(61, 138, 232, 0.4);
}
.saaslauncher-header.nt-scrolled::after {
  content: ""; position: absolute; bottom: -1px; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(61,138,232,0.4) 30%, rgba(125,113,255,0.4) 70%, transparent);
}

/* --- HEADER MOBILE --- */
@media (max-width: 768px) {
  .saaslauncher-header .is-style-saaslauncher-boxshadow { padding: 10px 16px !important; }
  .saaslauncher-header .wp-block-site-title { font-size: 18px !important; }
  .saaslauncher-header .wp-block-buttons { display: none !important; }
  .saaslauncher-header .wp-block-navigation__responsive-container-open { padding: 8px !important; }
}
@media (max-width: 480px) {
  .saaslauncher-header .is-style-saaslauncher-boxshadow { padding: 8px 12px !important; }
  .saaslauncher-header .wp-block-site-title { font-size: 16px !important; }
}

/* ==========================================================================
   NutriTracker Premium Theme Override — Aurora v2
   ========================================================================== */

:root {
  /* Backgrounds — three-tone section rhythm */
  --nt-bg: #070714;
  --nt-bg-raised: #0d0d26;
  --nt-bg-alt: #0a0a1f;
  --nt-bg-card: #12123a;
  --nt-bg-card-hover: #15153a;
  --nt-bg-sidebar: #262d36;
  --nt-bg-popover: #2d3139;
  --nt-bg-muted: #3a4452;

  /* Borders */
  --nt-border: rgba(255, 255, 255, 0.12);
  --nt-border-subtle: rgba(255, 255, 255, 0.06);
  --nt-border-accent: rgba(79, 142, 247, 0.40);

  /* Text */
  --nt-text: #ebe9f4;
  --nt-text-muted: #9898b0;
  --nt-text-dim: #6b6b88;

  /* Accent palette — three distinct roles */
  --nt-primary: #4f8ef7;      /* CTAs, links, highlights */
  --nt-accent: #8b5cf6;       /* persona, testimonials, gradient endpoint */
  --nt-indigo: #6366f1;       /* borders, active states, decoration */
  --nt-frost: #7d71ff;

  /* Functional */
  --nt-radius-sm: 8px;
  --nt-radius-card: 20px;
  --nt-radius-pill: 9999px;
  --nt-font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --nt-font-heading: 'Inter', system-ui, -apple-system, sans-serif;
  --nt-max-w: 1200px;
}

html { scroll-behavior: smooth; }

body, .has-dark-shade-background-color, .has-background-background-color, .has-black-color-background-color {
  background-color: var(--nt-bg) !important;
}
body {
  font-family: var(--nt-font-body) !important;
  color: var(--nt-text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6, .wp-block-heading, .wp-block-site-title {
  font-family: var(--nt-font-heading) !important;
  font-weight: 700 !important;
}
/* Tighten tracking as size increases — how Inter is designed */
h1, .wp-block-heading:is([style*="3.5rem"], [style*="4rem"], [style*="4.5rem"], [style*="5rem"]) {
  letter-spacing: -0.03em !important;
}
h2, .wp-block-heading { letter-spacing: -0.025em !important; }
h3 { letter-spacing: -0.01em !important; }

/* Gradient text utility */
.nt-gradient-text {
  background: linear-gradient(135deg, var(--nt-primary) 0%, var(--nt-accent) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Kill SaaSLauncher pill */
.saaslauncher-header .is-style-saaslauncher-boxshadow {
  border-radius: 0 !important; box-shadow: none !important; background: transparent !important;
}

/* --- HEADER --- */
.saaslauncher-header.is-style-saaslauncher-sticky-navigation {
  padding: 0 !important; position: sticky !important; top: 0 !important; z-index: 1000 !important;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, transform 0.3s cubic-bezier(0.4,0,0.2,1) !important;
  background: transparent !important;
}
.saaslauncher-header .is-style-saaslauncher-boxshadow {
  max-width: 1260px; margin: 0 auto; padding: 12px 24px !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px;
}
.saaslauncher-header.nt-scrolled {
  background: rgba(14, 17, 23, 0.88) !important;
  backdrop-filter: blur(24px) !important; -webkit-backdrop-filter: blur(24px) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.saaslauncher-header.nt-hidden { transform: translateY(-100%) !important; }
.saaslauncher-header.is-style-saaslauncher-sticky-navigation.sticky-enabled {
  padding-top: 0 !important; padding-bottom: 0 !important; background: rgba(14, 17, 23, 0.88) !important;
}
.saaslauncher-header .wp-block-site-title { font-size: 22px !important; font-weight: 600 !important; }
.saaslauncher-header .wp-block-navigation { font-size: 15px !important; font-weight: 400 !important; gap: 8px !important; }
.saaslauncher-header .wp-block-navigation-item__content {
  padding: 8px 12px !important; border-radius: 8px; transition: background 0.2s ease !important;
}
.saaslauncher-header .wp-block-navigation-item__content:hover { background: rgba(255,255,255,0.08); }
.saaslauncher-header .wp-block-button__link {
  padding: 10px 20px !important; font-size: 14px !important; font-weight: 600 !important;
  border-radius: 999px !important; color: #ffffff !important; transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.saaslauncher-header .wp-block-button__link:hover {
  transform: translateY(-1px); box-shadow: 0 4px 16px rgba(61, 138, 232, 0.4);
}
.saaslauncher-header.nt-scrolled::after {
  content: ""; position: absolute; bottom: -1px; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(61,138,232,0.4) 30%, rgba(125,113,255,0.4) 70%, transparent);
}

/* --- HEADER MOBILE --- */
@media (max-width: 768px) {
  .saaslauncher-header .is-style-saaslauncher-boxshadow { padding: 10px 16px !important; }
  .saaslauncher-header .wp-block-site-title { font-size: 18px !important; }
  .saaslauncher-header .wp-block-buttons { display: none !important; }
  .saaslauncher-header .wp-block-navigation__responsive-container-open { padding: 8px !important; }
}
@media (max-width: 480px) {
  .saaslauncher-header .is-style-saaslauncher-boxshadow { padding: 8px 12px !important; }
  .saaslauncher-header .wp-block-site-title { font-size: 16px !important; }
}


/* ==========================================================================
   HERO — Aurora gradient with animated glow + star particles
   ========================================================================== */

.entry-content > .wp-block-group.alignfull:first-child,
.wp-block-post-content > .wp-block-group.alignfull:first-child {
  position: relative; overflow: hidden;
  background: linear-gradient(165deg, #070714 0%, #0c1a3a 20%, #1a0e42 45%, #0d2847 65%, #070714 100%) !important;
  padding-top: clamp(1.5rem, 3vw, 2.5rem) !important; padding-bottom: clamp(2rem, 4vw, 3rem) !important;
}
.entry-content > .wp-block-group.alignfull:first-child::before,
.wp-block-post-content > .wp-block-group.alignfull:first-child::before {
  content: ""; position: absolute;
  top: -30%; left: -10%; width: 120%; height: 100%;
  background: radial-gradient(ellipse at 30% 50%, rgba(79,142,247,0.15) 0%, transparent 55%),
              radial-gradient(ellipse at 70% 30%, rgba(139,92,246,0.12) 0%, transparent 50%),
              radial-gradient(ellipse at 50% 80%, rgba(99,102,241,0.08) 0%, transparent 45%);
  pointer-events: none; z-index: 0;
  animation: ntAuroraShift 12s ease-in-out infinite alternate;
}
@keyframes ntAuroraShift {
  0% { transform: translate(0, 0) scale(1); opacity: 0.8; }
  50% { transform: translate(2%, -3%) scale(1.05); opacity: 1; }
  100% { transform: translate(-2%, 2%) scale(0.98); opacity: 0.85; }
}
.entry-content > .wp-block-group.alignfull:first-child::after,
.wp-block-post-content > .wp-block-group.alignfull:first-child::after {
  content: ""; position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,0.4) 50%, transparent 100%),
    radial-gradient(1px 1px at 25% 45%, rgba(255,255,255,0.3) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 40% 15%, rgba(255,255,255,0.5) 50%, transparent 100%),
    radial-gradient(1px 1px at 55% 65%, rgba(255,255,255,0.25) 50%, transparent 100%),
    radial-gradient(1px 1px at 70% 30%, rgba(255,255,255,0.35) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 85% 55%, rgba(255,255,255,0.45) 50%, transparent 100%),
    radial-gradient(1px 1px at 15% 75%, rgba(255,255,255,0.3) 50%, transparent 100%),
    radial-gradient(1px 1px at 90% 10%, rgba(255,255,255,0.2) 50%, transparent 100%),
    radial-gradient(1px 1px at 60% 85%, rgba(255,255,255,0.3) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 35% 90%, rgba(255,255,255,0.4) 50%, transparent 100%),
    radial-gradient(1px 1px at 80% 80%, rgba(255,255,255,0.25) 50%, transparent 100%),
    radial-gradient(1px 1px at 5% 50%, rgba(255,255,255,0.2) 50%, transparent 100%);
  pointer-events: none; z-index: 0;
  animation: ntStarTwinkle 8s ease-in-out infinite alternate;
}
@keyframes ntStarTwinkle { 0% { opacity: 0.6; } 100% { opacity: 1; } }

.entry-content > .wp-block-group.alignfull:first-child > *,
.wp-block-post-content > .wp-block-group.alignfull:first-child > * { position: relative; z-index: 1; }

/* Hero heading */
.entry-content > .wp-block-group.alignfull:first-child h2.wp-block-heading {
  font-size: clamp(2.75rem, 5.5vw, 4.5rem) !important;
  line-height: 1.06 !important; letter-spacing: -0.035em !important;
  font-weight: 800 !important; margin-bottom: 1.25rem !important;
}
/* No AOS on hero */
.entry-content > .wp-block-group.alignfull:first-child,
.entry-content > .wp-block-group.alignfull:first-child [data-aos] { opacity: 1 !important; transform: none !important; }

/* ==========================================================================
   SECTION SYSTEM — Class-based backgrounds
   For use in <!-- wp:html --> blocks with proper classes
   ========================================================================== */

.nt-section { width: 100%; }
.nt-section-base { background-color: var(--nt-bg); }
.nt-section-raised { background-color: var(--nt-bg-raised); }
.nt-section-alt { background-color: var(--nt-bg-alt); }
.nt-section-accent {
  background: linear-gradient(165deg, var(--nt-bg) 0%, #0c1a3a 50%, var(--nt-bg) 100%);
}

/* Fallback: override inline WP backgrounds for existing pages not yet rewritten */
.wp-block-group.alignfull[style*="background-color:#07071a"] { background-color: var(--nt-bg) !important; }
.wp-block-group.alignfull[style*="background-color:#0a0a1e"] { background-color: var(--nt-bg-alt) !important; }
.wp-block-group.alignfull[style*="background-color:#0b0b22"] { background-color: var(--nt-bg-card) !important; }
.wp-block-group.alignfull.has-background:nth-of-type(3n+2) { background-color: var(--nt-bg-raised) !important; }
.wp-block-group.alignfull.has-background:nth-of-type(3n) { background-color: var(--nt-bg-alt) !important; }

/* Section transitions */
.nt-section + .nt-section { border-top: 1px solid var(--nt-border-subtle); }
.wp-block-group.alignfull + .wp-block-group.alignfull { border-top: 1px solid var(--nt-border-subtle); }

/* Container */
.nt-container { max-width: var(--nt-max-w); margin: 0 auto; padding: 5rem 1.5rem; }
.nt-container-narrow { max-width: 800px; margin: 0 auto; padding: 5rem 1.5rem; }

/* Section glow */
.nt-glow { position: relative; overflow: hidden; }
.nt-glow::before {
  content: ""; position: absolute; width: 400px; height: 400px; border-radius: 50%;
  background: var(--nt-primary); opacity: 0.04; filter: blur(100px);
  pointer-events: none; top: 20%; right: -5%; z-index: 0;
}
.nt-glow::after {
  content: ""; position: absolute; width: 300px; height: 300px; border-radius: 50%;
  background: var(--nt-accent); opacity: 0.03; filter: blur(100px);
  pointer-events: none; bottom: 15%; left: -3%; z-index: 0;
}
.nt-glow > * { position: relative; z-index: 1; }
.nt-glow-alt::before { top: auto; bottom: 20%; right: auto; left: -5%; background: var(--nt-accent); }
.nt-glow-alt::after { bottom: auto; top: 15%; left: auto; right: -3%; background: var(--nt-primary); }

/* ==========================================================================
   CARD SYSTEM — Two weights, class-based
   ========================================================================== */

.nt-card {
  background: var(--nt-bg-card);
  border: 1px solid var(--nt-border);
  border-radius: var(--nt-radius-card);
  padding: 2rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 2px 12px rgba(0,0,0,0.2);
  transition: transform 0.3s cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 0.3s ease, border-color 0.3s ease;
}
.nt-card:hover {
  transform: translateY(-3px);
  border-color: rgba(99,102,241,0.3);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 12px 32px rgba(0,0,0,0.3), 0 0 0 1px rgba(79,142,247,0.15);
}

.nt-card-featured {
  background: linear-gradient(145deg, rgba(79,142,247,0.06) 0%, var(--nt-bg-card) 100%);
  border: 1px solid var(--nt-border-accent);
  border-radius: var(--nt-radius-card);
  padding: 2rem;
  box-shadow: 0 0 24px rgba(79,142,247,0.06), inset 0 1px 0 rgba(255,255,255,0.05);
}

/* Fallback: attribute selectors for existing page content */
div[style*="border-radius:24px"][style*="padding:2rem"],
div[style*="border-radius:20px"][style*="padding:1.5rem"],
div[style*="border-radius:20px"][style*="padding:2rem"],
div[style*="border-radius:16px"][style*="padding:1.5rem"],
div[style*="border-radius:16px"][style*="padding:2rem"] {
  background: var(--nt-bg-card) !important;
  border: 1px solid var(--nt-border) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 2px 12px rgba(0,0,0,0.2) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}
div[style*="border-radius:24px"][style*="padding:2rem"]:hover,
div[style*="border-radius:20px"][style*="padding:1.5rem"]:hover,
div[style*="border-radius:20px"][style*="padding:2rem"]:hover,
div[style*="border-radius:16px"][style*="padding:1.5rem"]:hover,
div[style*="border-radius:16px"][style*="padding:2rem"]:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(99,102,241,0.3) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 12px 32px rgba(0,0,0,0.3) !important;
}

/* Fallback: inline backgrounds */
div[style*="background-color:#0b0b22"] { background-color: var(--nt-bg-card) !important; }
div[style*="border-color:#2f6fed"] {
  background: linear-gradient(145deg, rgba(79,142,247,0.06) 0%, var(--nt-bg-card) 100%) !important;
  border-color: var(--nt-border-accent) !important;
}

/* ==========================================================================
   GRID LAYOUTS — Responsive columns
   ========================================================================== */

.nt-grid { display: grid; gap: clamp(1rem, 2.5vw, 1.5rem); }
.nt-grid-2 { grid-template-columns: repeat(2, 1fr); }
.nt-grid-3 { grid-template-columns: repeat(3, 1fr); }

.nt-grid-5 {
  grid-template-columns: repeat(6, 1fr); gap: clamp(0.75rem, 2vw, 1rem);
}
.nt-grid-5 > *:nth-child(1) { grid-column: 1 / 3; }
.nt-grid-5 > *:nth-child(2) { grid-column: 3 / 5; }
.nt-grid-5 > *:nth-child(3) { grid-column: 5 / 7; }
.nt-grid-5 > *:nth-child(4) { grid-column: 2 / 4; }
.nt-grid-5 > *:nth-child(5) { grid-column: 4 / 6; }

@media (max-width: 991px) {
  .nt-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .nt-grid-5 { grid-template-columns: 1fr; }
  .nt-grid-5 > * { grid-column: auto !important; }
}
@media (max-width: 640px) {
  .nt-grid-2, .nt-grid-3 { grid-template-columns: 1fr; }
}

/* ==========================================================================
   IMAGE SYSTEM — Mockups, screenshots, constrained sizing
   ========================================================================== */

.nt-mockup {
  max-height: 500px; width: auto; max-width: 100%;
  object-fit: contain; border-radius: 16px;
}
.nt-mockup-phone {
  max-height: 550px; width: auto; max-width: 380px;
  object-fit: contain; border-radius: 16px;
}
.nt-screenshot {
  max-height: 400px !important; width: 100% !important;
  object-fit: cover !important; object-position: top !important;
  border-radius: var(--nt-radius-card); border: 1px solid var(--nt-border);
}
/* Override Optimole lazy placeholders that preserve tall aspect ratios */
img.nt-screenshot, img.nt-mockup-phone, img.nt-mockup {
  max-height: 400px !important;
}
img.nt-mockup-phone { max-height: 550px !important; }
img.nt-mockup { max-height: 500px !important; }

/* Fallback: constrain landscape inline-styled images only.
   Portrait phone screenshots in gallery sections are handled
   per-section with .nt-section-N selectors. */
img[style*="width:100%"][style*="border-radius:24px"],
img[style*="width:100%"][style*="border-radius:16px"] {
  max-height: 520px !important;
  object-fit: contain !important; object-position: top !important;
}
img[style*="max-width:380px"], img[style*="max-width:300px"] {
  max-height: 500px !important;
  object-fit: contain !important;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */

.nt-btn-primary {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--nt-primary); color: #fff; text-decoration: none;
  padding: 0.85rem 1.8rem; border-radius: var(--nt-radius-pill);
  font-weight: 600; font-size: 1rem; min-height: 52px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.nt-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(79,142,247,0.35);
}
.nt-btn-ghost {
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; color: #fff; text-decoration: none;
  padding: 0.85rem 1.8rem; border-radius: var(--nt-radius-pill);
  font-weight: 600; font-size: 1rem; min-height: 52px;
  border: 1px solid var(--nt-border);
  transition: border-color 0.2s ease, background 0.2s ease;
}
.nt-btn-ghost:hover {
  border-color: rgba(99,102,241,0.4); background: rgba(99,102,241,0.08);
}

/* Fallback: inline styled buttons */
a[style*="background:#2f6fed"], a[style*="background: #2f6fed"] {
  background: var(--nt-primary) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
a[style*="background:#2f6fed"]:hover, a[style*="background: #2f6fed"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(79,142,247,0.35) !important;
}
a[style*="border:1px solid #2a2a3f"] { border-color: var(--nt-border) !important; }
a[style*="border:1px solid #2a2a3f"]:hover {
  border-color: rgba(99,102,241,0.4) !important; background: rgba(99,102,241,0.08) !important;
}

/* ==========================================================================
   TYPOGRAPHY UTILITIES
   ========================================================================== */

.nt-heading-xl { font-size: clamp(2.75rem, 5.5vw, 4.5rem); font-weight: 800; line-height: 1.06; letter-spacing: -0.035em; }
.nt-heading-lg { font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 700; line-height: 1.15; letter-spacing: -0.025em; }
.nt-heading-md { font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; }
.nt-body-lg { font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.65; color: var(--nt-text-muted); }
.nt-body { font-size: clamp(0.875rem, 1.2vw, 1rem); line-height: 1.7; color: var(--nt-text-muted); }
.nt-kicker {
  font-size: 0.8rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--nt-primary); margin-bottom: 12px;
}
.nt-text-center { text-align: center; }
.nt-text-white { color: #fff; }

/* ==========================================================================
   INLINE STYLE OVERRIDES (for unrewritten pages)
   ========================================================================== */

a[style*="color:#8fb3ff"] { color: var(--nt-primary) !important; }
[style*="color:#9a9ab0"] { color: var(--nt-text-dim) !important; }
[style*="color:#c7c7d2"] { color: var(--nt-text-muted) !important; }
div[style*="border:1px solid #1e1e36"], div[style*="border-color:#1e1e36"] { border-color: var(--nt-border) !important; }
p[style*="text-transform:uppercase"][style*="letter-spacing"] { color: var(--nt-primary) !important; }

.wp-block-group[style*="border-color:#2f6fed"][style*="border-radius:32px"] {
  background: linear-gradient(145deg, rgba(79,142,247,0.04) 0%, var(--nt-bg-card) 50%) !important;
  border-color: var(--nt-border-accent) !important;
}
div[style*="border-color:#2f6fed"][style*="border-radius"] li { color: #fff !important; }

/* Step number emojis — DO NOT color, let native emoji render */
div[style*="border-radius:24px"] > p[style*="font-size:2rem"],
div[style*="border-radius:20px"] > p[style*="font-size:2rem"] {
  text-shadow: none;
}

/* Image glow */
figure.wp-block-image img { filter: drop-shadow(0 0 40px rgba(79,142,247,0.08)); }

/* ==========================================================================
   FAQ ACCORDION
   ========================================================================== */

.saaslauncher-accordion details { border-bottom: 1px solid var(--nt-border-subtle); }
.saaslauncher-accordion details[open] summary ~ * { animation: ntSlideDown 0.3s ease; }
@keyframes ntSlideDown { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.saaslauncher-accordion summary { color: var(--nt-text) !important; font-weight: 600; }
.saaslauncher-accordion .saaslauncher-accordion__content p { color: var(--nt-text-muted) !important; }

/* ==========================================================================
   FOOTER
   ========================================================================== */

.saaslauncher-footer { background-color: var(--nt-bg-raised) !important; border-top: 1px solid var(--nt-border-subtle) !important; }
.saaslauncher-footer h3 { color: var(--nt-text) !important; font-weight: 600 !important; font-size: 0.9rem !important; }
.saaslauncher-footer a { color: var(--nt-text-muted) !important; transition: color 0.2s ease !important; }
.saaslauncher-footer a:hover { color: var(--nt-primary) !important; }

/* Header transparent over aurora */
.saaslauncher-header { background: transparent !important; }
.saaslauncher-header.nt-scrolled { background: rgba(7, 7, 20, 0.92) !important; backdrop-filter: blur(20px) !important; }


/* Fluid section spacing — Tier 1 SaaS standard */
.entry-content > .wp-block-group.alignfull.has-background {
  padding-block: var(--nt-section-pad) !important;
}
.entry-content > .wp-block-group.alignfull:first-child {
  padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(2rem, 4vw, 3rem) !important;
}

/* Glow overflow safety — prevent horizontal scroll on mobile */
.nt-glow {
  overflow-x: hidden !important;
}
.wp-block-group.alignfull.has-background {
  overflow-x: hidden;
}

/* ==========================================================================
   MOBILE RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
  .wp-block-group.alignfull.has-background { padding-block: clamp(2.5rem, 6vw, 4rem) !important; }
  .entry-content > .wp-block-group.alignfull:first-child { padding-block: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 3vw, 2rem) !important; }
  .nt-container { padding: 3rem 1rem; }

  div[style*="border-radius:24px"][style*="padding:2rem"],
  div[style*="border-radius:20px"][style*="padding:1.5rem"],
  div[style*="border-radius:20px"][style*="padding:2rem"] { padding: 1.25rem !important; }

  div[style*="display:flex"][style*="gap"][style*="flex-wrap:wrap"] { gap: 1rem !important; }

  .entry-content > .wp-block-group.alignfull:first-child div[style*="gap:16px"][style*="justify-content:center"] > a[style*="line-height:0"] img {
    height: 44px !important;
  }

  a[style*="border-radius:999px"], a[style*="text-decoration:none"][style*="padding"] {
    min-height: 44px !important; display: inline-flex !important; align-items: center !important;
  }
  div[style*="border-radius:32px"][style*="padding-top:3rem"] { padding: 2rem 1.5rem !important; }

  .saaslauncher-accordion details { padding: 0.5rem 0 !important; }
  .saaslauncher-accordion summary {
    padding: 0.75rem 0 !important; min-height: 44px !important;
    display: flex !important; align-items: center !important;
  }
}
@media (max-width: 480px) {
  .wp-block-group.alignfull.has-background {
    padding-block: clamp(2rem, 5vw, 3rem) !important;
    padding-inline: 1rem !important;
  }
  .entry-content > .wp-block-group.alignfull:first-child { padding-block: clamp(1.5rem, 4vw, 2.5rem) clamp(1.5rem, 3vw, 2rem) !important; }
  .nt-container { padding: 2.25rem 1rem; }
  div[style*="border-radius:32px"][style*="padding-top:3rem"] { padding: 1.5rem 1rem !important; }
}

/* ==========================================================================
   SCROLL REVEAL
   ========================================================================== */

.nt-reveal {
  opacity: 0; transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.25,0.46,0.45,0.94),
              transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94) !important;
}
.nt-reveal.nt-visible { opacity: 1 !important; transform: translateY(0) !important; }
.nt-reveal-d1 { transition-delay: 0.08s !important; }
.nt-reveal-d2 { transition-delay: 0.16s !important; }
.nt-reveal-d3 { transition-delay: 0.24s !important; }
.nt-reveal-d4 { transition-delay: 0.32s !important; }
@media (prefers-reduced-motion: reduce) {
  .nt-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ==========================================================================
   BLOG READING EXPERIENCE
   ========================================================================== */

.single-post .entry-content, .single-post .wp-block-post-content {
  max-width: 65ch !important; margin-left: auto !important; margin-right: auto !important;
  line-height: 1.75 !important; font-size: 1.05rem !important;
}
.single-post .entry-content p { margin-bottom: 1.5em !important; }
.single-post .entry-content h2 { margin-top: 2.5em !important; font-size: 1.75rem !important; }
.single-post .entry-content h3 { margin-top: 2em !important; font-size: 1.35rem !important; }
.single-post .entry-content blockquote {
  border-left: 3px solid var(--nt-primary) !important; padding-left: 1.5rem !important;
  margin: 2rem 0 !important; color: var(--nt-text-muted) !important; font-style: italic !important;
}
.single-post .entry-content img { border-radius: 16px !important; }
.single-post .comment-respond, .single-post #respond { display: none !important; }

.nt-blog-cta {
  max-width: 65ch; margin: 3rem auto; padding: 2rem;
  border: 1px solid var(--nt-border); border-radius: var(--nt-radius-card);
  text-align: center; background: var(--nt-bg-card);
}

/* ==========================================================================
   ANDROID BANNER
   ========================================================================== */

.nt-android-banner {
  position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
  background: var(--nt-bg); border-bottom: 1px solid var(--nt-border-subtle);
  padding: 10px 12px; display: flex; align-items: center; gap: 10px;
  font-family: var(--nt-font-body); box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.nt-android-banner img { width: 40px; height: 40px; border-radius: 10px; }
.nt-android-banner-text { flex: 1; color: #fff; font-size: 13px; line-height: 1.3; }
.nt-android-banner-text strong { display: block; font-size: 14px; }
.nt-android-banner-text span { color: var(--nt-text-muted); font-size: 11px; }
.nt-android-banner a.nt-ab-cta {
  background: var(--nt-primary); color: #fff; text-decoration: none;
  padding: 6px 14px; border-radius: var(--nt-radius-pill); font-size: 13px; font-weight: 600;
}
.nt-android-banner button.nt-ab-close {
  background: none; border: none; color: var(--nt-text-muted);
  font-size: 18px; cursor: pointer; padding: 4px; line-height: 1;
}
body.nt-android-banner-active { padding-top: 62px !important; }
@media (min-width: 769px) { .nt-android-banner { display: none !important; } }
/* ==========================================================================
   LIGHT SECTION — Visual rhythm breaker
   Add .nt-section-light to any Group block to flip to light mode.
   !important overrides inline background-color from Gutenberg HTML.
   ========================================================================== */

.nt-section-light,
.nt-section-light.wp-block-group.alignfull.has-background {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
}

.nt-section-light h2,
.nt-section-light h3,
.nt-section-light .wp-block-heading {
  color: #0f172a !important;
}

.nt-section-light p,
.nt-section-light li {
  color: #475569 !important;
}

/* Keep accent blue visible on light */
.nt-section-light p[style*="color:#4f8ef7"],
.nt-section-light p[style*="color:#8fb3ff"] {
  color: var(--nt-primary) !important;
}

/* Cards inside light section — Premium CareScribe standard */
.nt-section-light div[style*="border-radius:20px"][style*="padding"],
.nt-section-light div[style*="border-radius:24px"][style*="padding"] {
  background: #1a1a50 !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.02) !important;
  transition: box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.nt-section-light div[style*="border-radius:20px"][style*="padding"]:hover,
.nt-section-light div[style*="border-radius:24px"][style*="padding"]:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04) !important;
  transform: translateY(-4px) !important;
  border-color: #cbd5e1 !important;
}

/* Card headings on white cards */
.nt-section-light div[style*="border-radius"] h3,
.nt-section-light div[style*="border-radius"] h3[style] {
  color: #0f172a !important;
}

/* Card body text on white cards */
.nt-section-light div[style*="border-radius"] p,
.nt-section-light div[style*="border-radius"] p[style] {
  color: #475569 !important;
}

/* Trust badges in light section */
.nt-section-light span[style*="color:#6b6b88"],
.nt-section-light span[style*="color:#9a9ab0"],
.nt-section-light span[style*="color:#9898b0"] {
  color: #64748b !important;
}

/* Step numbers — let native emoji render */
.nt-section-light div[style*="border-radius"] > p[style*="font-size:2rem"] {
  text-shadow: none !important;
}

/* Links in light section */
.nt-section-light a[style*="color:#8fb3ff"],
.nt-section-light a[style*="color:#4f8ef7"],
.nt-section-light a:not([style*="background"]) {
  color: var(--nt-primary) !important;
}
.nt-section-light a:not([style*="background"]):hover {
  color: #3b7de8 !important;
}

/* CTA buttons inside light sections keep their background */
.nt-section-light a[style*="background:#2f6fed"],
.nt-section-light a[style*="background:var(--nt-primary)"] {
  color: #ffffff !important;
}

/* Disable glow orbs in light sections */
.nt-section-light.nt-glow::before,
.nt-section-light.nt-glow::after {
  display: none !important;
}

/* ==========================================================================
   SECTION TRANSITIONS — Smooth dark↔light boundaries
   ========================================================================== */

.nt-section-light {
  border-top: 1px solid rgba(0,0,0,0.04);
}

/* Remove double borders between adjacent sections */
.nt-section-light + .wp-block-group.alignfull.nt-section-light {
  border-top: none !important;
}
.nt-section-light + .wp-block-group.alignfull:not(.nt-section-light) {
  border-top: none !important;
}
.wp-block-group.alignfull:not(.nt-section-light) + .nt-section-light {
  border-top: none !important;
}

/* Light→Dark transition — subtle gradient echo */
.nt-section-light + .wp-block-group.alignfull:not(.nt-section-light) {
  position: relative;
}
.nt-section-light + .wp-block-group.alignfull:not(.nt-section-light)::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 60px;
  background: linear-gradient(to bottom, rgba(241,245,249,0.04), transparent);
  pointer-events: none;
  z-index: 0;
}

/* ==========================================================================
   MOCKUP PAIR — Side-by-side phone screenshots with aspect lock
   Apply .nt-mockup-pair to the flex container wrapping two phone mockups.
   ========================================================================== */

.nt-mockup-pair {
  display: flex !important;
  gap: clamp(1rem, 3vw, 2rem) !important;
  justify-content: center !important;
  align-items: flex-end !important;
  flex-wrap: wrap !important;
  max-width: 720px !important;
  margin: 0 auto clamp(2rem, 4vw, 3rem) !important;
}
.nt-mockup-pair > div {
  flex: 0 1 300px !important;
  text-align: center;
}
.nt-mockup-pair img {
  width: 100% !important;
  max-width: 300px !important;
  height: auto !important;
  aspect-ratio: 9 / 19.5;
  object-fit: cover;
  object-position: top;
  border-radius: 24px !important;
}
@media (max-width: 640px) {
  .nt-mockup-pair > div { flex: 0 1 200px !important; }
  .nt-mockup-pair img { max-width: 200px !important; }
}

/* ==========================================================================
   BENTO GRID — CSS Grid for "Why choose a coach" cards
   Applied via .nt-bento-grid class on the container
   ========================================================================== */

.nt-bento-grid {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
  max-width: 1200px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .nt-bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .nt-bento-featured {
    grid-column: span 2;
  }
}

@media (min-width: 1024px) {
  .nt-bento-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .nt-bento-featured {
    grid-column: span 2;
  }
}

.nt-bento-card {
  flex: none !important;
  min-width: 0 !important;
}

.nt-bento-featured {
  background: linear-gradient(145deg, rgba(79,142,247,0.06) 0%, var(--nt-bg-card) 100%) !important;
  border-color: var(--nt-border-accent) !important;
}
.nt-bento-featured:hover {
  border-color: rgba(79,142,247,0.5) !important;
}

/* Featured card gets larger heading */
.nt-bento-featured h3 {
  font-size: clamp(1.1rem, 1.8vw, 1.4rem) !important;
}

@media (max-width: 767px) {
  .nt-bento-featured {
    grid-column: span 1 !important;
  }
}


/* ==========================================================================
   PREMIUM POLISH v2.1.1 — Comprehensive visual quality fixes
   Appended to nt-premium.css
   ========================================================================== */

/* ---------- FIX: Screenshot images (Section 5) ----------
   The original rule img[style*="width:100%"][style*="border-radius:24px"]
   was crushing portrait phone screenshots to 400px rectangles.
   Override it for the screenshot gallery section specifically.
   -------------------------------------------------------- */

/* Screenshot gallery — grid layout with constrained phone-sized images */
.nt-section-5 div[style*="flex-wrap"] {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
  max-width: 1000px !important;
  margin: 2rem auto 0 !important;
}

.nt-section-5 div[style*="flex-wrap"] > div {
  flex: none !important;
  width: auto !important;
  text-align: center;
}

/* Phone screenshots need proper containment, not cropping */
.nt-section-5 img[style*="border-radius:24px"] {
  max-height: 480px !important;
  height: auto !important;
  width: 100% !important;
  object-fit: contain !important;
  object-position: top !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

/* Screenshot captions */
.nt-section-5 p[style*="font-size:0.85rem"] {
  color: var(--nt-text-dim) !important;
  margin-top: 0.75rem !important;
  font-size: 0.8rem !important;
}

@media (max-width: 991px) {
  .nt-section-5 div[style*="flex-wrap"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .nt-section-5 div[style*="flex-wrap"] {
    grid-template-columns: 1fr !important;
    max-width: 320px !important;
  }
  .nt-section-5 img[style*="border-radius:24px"] {
    max-height: 560px !important;
  }
}

/* ---------- FIX: Trust badges section (Section 4) ----------
   Too much empty space, text all inline. Needs tighter layout
   and visual interest on the light background.
   ------------------------------------------------------------ */

.nt-section-4 {
  padding-block: clamp(1.5rem, 3vw, 2.5rem) !important;
}

.nt-section-4 div[style*="flex-wrap"] {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: clamp(1rem, 2vw, 2rem) !important;
}

.nt-section-4 span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #475569 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  white-space: nowrap;
}

/* ---------- FIX: Dark card visibility ----------
   Cards with background-color:#0b0b22 on dark sections need
   more visible borders and subtle inner glow.
   ------------------------------------------------ */

/* Strengthen dark card borders */
div[style*="border-radius:24px"][style*="background-color:#0b0b22"],
div[style*="border-radius:20px"][style*="background-color:#0b0b22"] {
  background: var(--nt-bg-card) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05),
              0 2px 16px rgba(0,0,0,0.3) !important;
}

div[style*="border-radius:24px"][style*="background-color:#0b0b22"]:hover,
div[style*="border-radius:20px"][style*="background-color:#0b0b22"]:hover {
  border-color: rgba(99,102,241,0.25) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06),
              0 8px 32px rgba(0,0,0,0.4),
              0 0 0 1px rgba(79,142,247,0.1) !important;
  transform: translateY(-2px) !important;
}

/* ---------- FIX: Coach cards (Section 6) ----------
   Coach name + description cards need visible structure
   ---------------------------------------------------- */

.nt-section-6 div[style*="border-radius:20px"][style*="padding"] {
  background: var(--nt-bg-card) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04),
              0 2px 12px rgba(0,0,0,0.25) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  padding: clamp(1.25rem, 2.5vw, 2rem) !important;
}

.nt-section-6 div[style*="border-radius:20px"][style*="padding"]:hover {
  border-color: rgba(99,102,241,0.3) !important;
  transform: translateY(-3px) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06),
              0 12px 36px rgba(0,0,0,0.35) !important;
}

/* Coach name labels */
.nt-section-6 p[style*="font-weight:800"],
.nt-section-6 p[style*="font-weight:700"] {
  color: #fff !important;
}

/* Coach description text */
.nt-section-6 p[style*="font-style:italic"] {
  color: var(--nt-text-muted) !important;
  line-height: 1.65 !important;
}

/* Coach tags/meta */
.nt-section-6 p[style*="font-size:0.8rem"] {
  color: var(--nt-text-dim) !important;
}

/* ---------- ENHANCE: Light section cards — more visual depth ---------- */

/* White cards need a bit more visual structure */
.nt-section-light div[style*="border-radius:24px"][style*="padding"],
.nt-section-light div[style*="border-radius:24px"][style*="background-color"] {
  background: #1a1a50 !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06),
              0 1px 2px rgba(0,0,0,0.03) !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  padding: clamp(1.5rem, 3vw, 2.5rem) !important;
}

.nt-section-light div[style*="border-radius:24px"][style*="padding"]:hover,
.nt-section-light div[style*="border-radius:24px"][style*="background-color"]:hover {
  box-shadow: 0 10px 40px rgba(0,0,0,0.08),
              0 4px 12px rgba(0,0,0,0.04) !important;
  transform: translateY(-4px) !important;
  border-color: #cbd5e1 !important;
}

/* Headings on light section cards */
.nt-section-light div[style*="border-radius:24px"] p[style*="font-weight:800"],
.nt-section-light div[style*="border-radius:24px"] p[style*="font-weight:700"] {
  color: #0f172a !important;
}

/* Body text on light section cards */
.nt-section-light div[style*="border-radius:24px"] p[style*="line-height"] {
  color: #475569 !important;
}

/* Emoji step numbers on light cards — native rendering */
.nt-section-light div[style*="border-radius:24px"] > p[style*="font-size:2rem"]:first-child {
  text-shadow: none !important;
  font-size: 1.75rem !important;
}

/* ---------- ENHANCE: Section heading kicker text ----------
   Consistent styling for section subtitles
   ---------------------------------------------------------- */

.wp-block-group.alignfull p[style*="text-align:center"][style*="color:#c7c7d2"] {
  max-width: 600px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Light section kicker text */
.nt-section-light p[style*="text-align:center"][style*="color:#c7c7d2"] {
  color: #64748b !important;
}

/* ---------- ENHANCE: Testimonial cards (Section 9) ---------- */

.nt-section-9 div[style*="border-radius:24px"] {
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(18,18,58,0.8) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04),
              0 4px 20px rgba(0,0,0,0.25) !important;
}

/* Star ratings */
.nt-section-9 p[style*="color:#fbbf24"] {
  letter-spacing: 3px !important;
  font-size: 1rem !important;
}

/* ---------- ENHANCE: Comparison cards (Section 8) ---------- */

.nt-section-8 div[style*="border-radius:24px"] {
  background: var(--nt-bg-card) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

/* "NUTRITRACKER GIVES YOU" card — accent treatment */
.nt-section-8 div[style*="border-radius:24px"]:last-child {
  border-color: var(--nt-border-accent) !important;
  background: linear-gradient(145deg, rgba(79,142,247,0.04), var(--nt-bg-card)) !important;
}

/* List items in comparison cards */
.nt-section-8 li {
  color: var(--nt-text-muted) !important;
  padding: 0.25rem 0;
}

.nt-section-8 div[style*="border-radius:24px"]:last-child li {
  color: var(--nt-text) !important;
}

/* ---------- ENHANCE: FAQ section (Section 11) ---------- */

/* Section 11 no longer just FAQ — it wraps stats+trust+FAQ. Don't constrain width. */
.nt-section-11 {
  max-width: none;
}

/* ---------- ENHANCE: Footer CTA (Section 12) ---------- */

.nt-section-12 {
  padding-block: clamp(2rem, 4vw, 3rem) !important;
}

/* ---------- FIX: Section 2 mockup images on light background ----------
   Phone mockups in the light section need different treatment —
   they shouldn't have the white card override.
   -------------------------------------------------------------------- */

.nt-section-light div[style*="text-align:center"] img[style*="border-radius"] {
  background: transparent !important;
  border: none !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
}

/* ---------- FIX: Flex container display inheritance ----------
   SCOPED: Do NOT override elements that have explicit grid classes
   ------------------------------------------------------------ */

div[style*="display:flex"]:not(.nt-grid-2):not(.nt-grid-3):not(.nt-bento-grid):not([class*="nt-grid"]) {
  display: flex !important;
}

/* ---------- ENHANCE: Section heading sizes consistency ---------- */

.nt-section-light h2.wp-block-heading {
  color: #0f172a !important;
  margin-bottom: clamp(0.5rem, 1.5vw, 1rem) !important;
}

.nt-section-light p[style*="text-align:center"]:not([style*="font-weight"]) {
  color: #64748b !important;
}


/* ==========================================================================
   PATCH v2.1.2 — Emoji rendering + trust badges + final polish
   ========================================================================== */

/* ---------- FIX: Emoji rendering in light section cards ----------
   Emojis must NOT inherit color overrides — they render as
   monochrome squares on some browsers when colored via CSS.
   Reset them to initial so native emoji glyphs show.
   ---------------------------------------------------------------- */

/* Emoji paragraphs — don't color them, let native emoji render */
.nt-section-light div[style*="border-radius"] > p[style*="font-size:2rem"],
.nt-section-light p[style*="font-size:2rem"],
div[style*="border-radius"] > p[style*="font-size:2rem"] {
  color: initial !important;
  -webkit-text-fill-color: initial !important;
  text-shadow: none !important;
  font-size: 2rem !important;
  line-height: 1.2 !important;
}

/* Trust badge emojis — same fix */
.nt-section-4 span {
  color: #475569 !important;
}

/* ---------- ENHANCE: Trust badges section layout ----------
   Tighter vertical padding, proper centered flex layout
   ---------------------------------------------------------- */

.nt-section-4.wp-block-group.alignfull {
  padding-block: clamp(1rem, 2.5vw, 2rem) !important;
}

.nt-section-4 > div[style*="gap"] {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(0.75rem, 2vw, 1.5rem) clamp(1.5rem, 3vw, 2.5rem) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

.nt-section-4 span[style] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: #64748b !important;
  white-space: nowrap !important;
  padding: 0.5rem 0.75rem !important;
  background: rgba(0,0,0,0.02) !important;
  border-radius: 8px !important;
  border: 1px solid rgba(0,0,0,0.04) !important;
}

/* ---------- ENHANCE: Section 7 card polish ---------- */

.nt-section-7 div[style*="border-radius:24px"][style*="padding"] {
  padding: clamp(1.75rem, 3.5vw, 2.5rem) !important;
}

/* ---------- ENHANCE: Section 10 card link colors ---------- */

.nt-section-10 a[style] {
  color: var(--nt-primary) !important;
  font-weight: 600 !important;
}

/* ---------- ENHANCE: Dark section subtitle text ---------- */
/* Ensure subtitle/kicker text under headings is readable */

.wp-block-group.alignfull:not(.nt-section-light) p[style*="text-align:center"][style*="color:#c7c7d2"] {
  color: var(--nt-text-muted) !important;
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---------- ENHANCE: Coach section grid layout ---------- */

.nt-section-6 > div[style*="flex-wrap"][style*="max-width"] {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: clamp(1rem, 2vw, 1.25rem) !important;
}

@media (max-width: 991px) {
  .nt-section-6 > div[style*="flex-wrap"][style*="max-width"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .nt-section-6 > div[style*="flex-wrap"][style*="max-width"] {
    grid-template-columns: 1fr !important;
  }
}

.nt-section-6 > div[style*="flex-wrap"] > div[style*="border-radius"] {
  flex: none !important;
  min-width: 0 !important;
  width: auto !important;
}

/* ---------- ENHANCE: Comparison cards (Section 8) layout ---------- */

.nt-section-8 > div[style*="flex-wrap"] {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

@media (max-width: 640px) {
  .nt-section-8 > div[style*="flex-wrap"] {
    grid-template-columns: 1fr !important;
  }
}

.nt-section-8 > div[style*="flex-wrap"] > div[style*="border-radius"] {
  flex: none !important;
  min-width: 0 !important;
  width: auto !important;
}

/* ---------- ENHANCE: Testimonial card layout (Section 9) ---------- */

.nt-section-9 > div[style*="flex-wrap"] {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

@media (max-width: 991px) {
  .nt-section-9 > div[style*="flex-wrap"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .nt-section-9 > div[style*="flex-wrap"] {
    grid-template-columns: 1fr !important;
  }
}

.nt-section-9 > div[style*="flex-wrap"] > div[style*="border-radius"] {
  flex: none !important;
  min-width: 0 !important;
  width: auto !important;
}

/* ---------- ENHANCE: Section 2 card layout — proper grid ---------- */

.nt-section-2 > div[style*="flex-wrap"][style*="max-width"]:not([style*="text-align"]) {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

/* Third card spans full width */
.nt-section-2 > div[style*="flex-wrap"][style*="max-width"]:not([style*="text-align"]) > div:last-child:not(.nt-mockup-container) {
  grid-column: 1 / -1 !important;
  max-width: 500px !important;
  margin: 0 auto !important;
}

@media (max-width: 640px) {
  .nt-section-2 > div[style*="flex-wrap"][style*="max-width"]:not([style*="text-align"]) {
    grid-template-columns: 1fr !important;
  }
  .nt-section-2 > div[style*="flex-wrap"][style*="max-width"]:not([style*="text-align"]) > div:last-child:not(.nt-mockup-container) {
    max-width: none !important;
  }
}

/* ---------- ENHANCE: FAQ section styling ---------- */

.nt-section-11 .wp-block-details {
  border-bottom: 1px solid var(--nt-border-subtle) !important;
  padding: 1rem 0 !important;
}

.nt-section-11 summary {
  color: var(--nt-text) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  padding: 0.5rem 0 !important;
}

.nt-section-11 .wp-block-details p {
  color: var(--nt-text-muted) !important;
  line-height: 1.7 !important;
}

/* ---------- ENHANCE: Footer CTA section ---------- */

.nt-section-12 a[style*="background:#2f6fed"],
.nt-section-12 a[style*="border-radius:999px"][style*="background"] {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.nt-section-12 a[style*="background:#2f6fed"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(79,142,247,0.35) !important;
}


/* ==========================================================================
   PREMIUM TIER 1 UPLIFT — v2.2.0 (CareScribe baseline)
   ========================================================================== */

/* --- GRADIENT SECTION DIVIDERS --- */
.nt-section-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(79,142,247,0.25) 20%, rgba(139,92,246,0.2) 50%, rgba(79,142,247,0.25) 80%, transparent 100%);
  margin: 0;
  padding: 0;
  border: none;
}

/* --- SECTION REVEAL ANIMATION --- */
.nt-section-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.25,0.46,0.45,0.94),
              transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94) !important;
}
.nt-section-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
@media (prefers-reduced-motion: reduce) {
  .nt-section-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* --- STATS / COUNTER SECTION --- */
.nt-stats-grid {
  display: flex;
  gap: 2rem;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 900px;
  margin: 2rem auto 0;
}
.nt-stat-item {
  flex: 1;
  min-width: 180px;
  text-align: center;
  padding: 1.5rem 1rem;
}
.nt-stat-number {
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  background: linear-gradient(135deg, var(--nt-primary) 0%, var(--nt-accent) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
}
.nt-stat-label {
  font-size: 0.95rem;
  color: var(--nt-text-muted);
  line-height: 1.4;
}

@media (max-width: 600px) {
  .nt-stats-grid {
    gap: 1rem;
  }
  .nt-stat-item {
    min-width: 140px;
    padding: 1rem 0.5rem;
  }
}

/* --- TRUST / SECURITY SECTION --- */
.nt-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  max-width: 1100px;
  margin: 2.5rem auto 0;
}
.nt-trust-card {
  text-align: center;
  padding: 2rem 1.25rem;
  border: 1px solid var(--nt-border);
  border-radius: 20px;
  background: var(--nt-bg-card);
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.nt-trust-card:hover {
  transform: translateY(-3px);
  border-color: rgba(79,142,247,0.3);
}
.nt-trust-icon {
  font-size: 2rem;
  margin-bottom: 1rem;
  display: block;
}
.nt-trust-title {
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.nt-trust-desc {
  color: var(--nt-text-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .nt-trust-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .nt-trust-card {
    padding: 1.5rem 1rem;
  }
}
@media (max-width: 480px) {
  .nt-trust-grid {
    grid-template-columns: 1fr;
  }
}

/* --- INTEGRATIONS LOGO SHOWCASE --- */
.nt-integrations-row {
  display: flex;
  gap: 3rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  max-width: 800px;
  margin: 2rem auto 0;
  opacity: 0.65;
  transition: opacity 0.3s ease;
}
.nt-integrations-row:hover {
  opacity: 1;
}
.nt-integration-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--nt-text-muted);
  font-size: 0.95rem;
  font-weight: 500;
  white-space: nowrap;
}
.nt-integration-item span.nt-int-icon {
  font-size: 1.5rem;
}

@media (max-width: 600px) {
  .nt-integrations-row {
    gap: 1.5rem;
  }
  .nt-integration-item {
    font-size: 0.85rem;
  }
}

/* --- PRE-FOOTER CTA BANNER --- */
.nt-cta-banner {
  position: relative;
  overflow: hidden;
  max-width: 1000px;
  margin: 0 auto;
  padding: 2rem 2.5rem;
  border-radius: 32px;
  border: 1px solid var(--nt-border-accent);
  text-align: center;
  background: linear-gradient(145deg, rgba(79,142,247,0.08) 0%, var(--nt-bg-card) 40%, rgba(139,92,246,0.06) 100%);
}
.nt-cta-banner::before {
  content: "";
  position: absolute;
  top: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 400px;
  background: radial-gradient(ellipse, rgba(79,142,247,0.12) 0%, transparent 70%);
  filter: blur(60px);
  pointer-events: none;
  z-index: 0;
}
.nt-cta-banner > * {
  position: relative;
  z-index: 1;
}
.nt-cta-banner h2 {
  color: #fff !important;
  font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
  font-weight: 800 !important;
  margin-bottom: 0.75rem !important;
  letter-spacing: -0.025em !important;
}
.nt-cta-banner p {
  color: var(--nt-text-muted);
  font-size: 1.05rem;
  margin-bottom: 1.5rem;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.nt-cta-banner .nt-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--nt-primary);
  color: #fff;
  text-decoration: none;
  padding: 1rem 2rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 1rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  min-height: 56px;
}
.nt-cta-banner .nt-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(79,142,247,0.4);
}
.nt-cta-banner .nt-cta-secondary {
  display: block;
  margin-top: 1rem;
  color: var(--nt-text-dim);
  font-size: 0.875rem;
}
.nt-cta-banner .nt-cta-secondary a {
  color: var(--nt-primary);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .nt-cta-banner {
    padding: 2.5rem 1.5rem;
    margin: 0 1rem;
  }
}

/* --- FOOTER TRUST BAR --- */
.nt-footer-trust {
  display: flex;
  gap: 2rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 1.5rem 0;
  margin-top: 1rem;
  border-top: 1px solid var(--nt-border-subtle);
}
.nt-footer-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--nt-text-dim);
  font-size: 0.8rem;
  white-space: nowrap;
}

/* --- ENHANCED LINK HOVER STATES (CareScribe-level polish) --- */
a[style*="color:#8fb3ff"]:hover {
  text-shadow: 0 0 12px rgba(79,142,247,0.3);
}

/* --- PAGE TEMPLATE POLISH — all inner pages --- */
.page .entry-content,
.page .wp-block-post-content {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.page .entry-content h2,
.page .wp-block-post-content h2 {
  margin-top: 1em;
  margin-bottom: 0.75em;
}
.page .entry-content p,
.page .wp-block-post-content p {
  line-height: 1.75;
  margin-bottom: 1.25em;
}

/* --- ENHANCED CARD INNER GLOW — on hover, premium cards get subtle inner glow --- */
div[style*="border-radius:24px"][style*="padding:2rem"]:hover::after,
div[style*="border-radius:20px"][style*="padding:2rem"]:hover::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse at 50% 0%, rgba(79,142,247,0.04) 0%, transparent 70%);
  pointer-events: none;
}


/* ==========================================================================
   SAFETY NET — Scoped flex fallback (excludes grid containers)
   ========================================================================== */
div[style*="flex-wrap"][style*="gap"]:not(.nt-grid-2):not(.nt-grid-3):not([class*="nt-grid"]) {
  display: flex !important;
}
div[style*="justify-content"][style*="gap"]:not(.nt-grid-2):not(.nt-grid-3):not([class*="nt-grid"]) {
  display: flex !important;
}

/* ==========================================================================
   CRITICAL VISUAL FIXES — v2.2.1
   Fixes identified from live screenshot review
   ========================================================================== */

/* --- FIX: Mockup images grey background bleed ---
   Phone mockups were showing on a light/grey background that bleeds
   into the dark section. Force dark background and proper containment. */
.wp-block-group.alignfull img[src*="mockup"],
.wp-block-group.alignfull img[alt*="mockup"],
.wp-block-group.alignfull img[alt*="Choose Your Coach"],
.wp-block-group.alignfull img[alt*="gym coaching"] {
  background: transparent !important;
  mix-blend-mode: normal !important;
  border-radius: 24px !important;
  filter: none !important;
}

/* Mockup container — ensure side-by-side on desktop */
.nt-mockup-pair,
div[style*="flex:0 1 380px"] {
  background: transparent !important;
}

/* Force mockup pair containers to flex row */
div[style*="max-width:900px"][style*="flex-end"] {
  display: flex !important;
  gap: 24px !important;
  justify-content: center !important;
}

/* --- FIX: Bento/glow overlay making card headings unreadable ---
   The ::before and ::after glow pseudo-elements were covering card content.
   Ensure card content is ABOVE glow, and reduce glow intensity. */
.nt-glow::before {
  opacity: 0.025 !important;
  z-index: 0 !important;
}
.nt-glow::after {
  opacity: 0.02 !important;
  z-index: 0 !important;
}

/* Ensure ALL content inside glow sections is above the glow */
.nt-glow > *,
.nt-glow > * > *,
.nt-glow h2,
.nt-glow h3,
.nt-glow p,
.nt-glow div {
  position: relative;
  z-index: 1;
}

/* Card headings must be fully visible - no gradient overlay */
div[style*="border-radius:24px"] h3,
div[style*="border-radius:20px"] h3 {
  color: #ffffff !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Remove the inner glow pseudo-element that was obscuring card text */
div[style*="border-radius:24px"][style*="padding:2rem"]::after,
div[style*="border-radius:20px"][style*="padding:2rem"]::after {
  display: none !important;
}

/* --- FIX: "How it works" — force 3-across on desktop ---
   Cards were showing 2+1 instead of 3 across because min-width was too high */
div[style*="max-width:1200px"][style*="display:flex"] > div[style*="min-width:250px"] {
  min-width: 0 !important;
  flex: 1 1 30% !important;
}

/* --- FIX: Comparison cards stacking vertically ---
   The two comparison boxes (tracking apps vs NutriTracker) should be side by side */
div[style*="max-width:800px"][style*="display:flex"] > div[style*="min-width:300px"] {
  min-width: 0 !important;
  flex: 1 1 45% !important;
}

/* --- FIX: "Who is NutriTracker for" cards — force 3-across on desktop */
div[style*="max-width:1000px"][style*="display:flex"] > div[style*="min-width:280px"] {
  min-width: 0 !important;
  flex: 1 1 30% !important;
}

/* --- FIX: Testimonial cards — force 3-across on desktop */
div[style*="max-width:1200px"][style*="display:flex"] > div[style*="min-width:280px"] {
  min-width: 0 !important;
  flex: 1 1 30% !important;
}

/* --- FIX: Coach persona cards — force 3-across on desktop */
div[style*="max-width:1200px"][style*="display:flex"] > div[style*="min-width:280px"][style*="border-radius:20px"] {
  min-width: 0 !important;
  flex: 1 1 30% !important;
}

/* --- FIX: Blog article cards — force proper layout */
div[style*="max-width:1200px"][style*="display:flex"] > div[style*="border-radius:24px"] {
  min-width: 0 !important;
  flex: 1 1 30% !important;
}

/* --- FIX: Screenshot gallery — force 3-across */
div[style*="max-width:1000px"][style*="display:flex"] > div[style*="flex:0 1 280px"] {
  flex: 0 1 280px !important;
  min-width: 0 !important;
}

/* --- FIX: Hero mockup overlap section —
   Remove the grey/light background that bleeds through */
.nt-hero-overlap {
  background: transparent !important;
}
.nt-hero-overlap::before {
  background: transparent !important;
}
.nt-hero-mesh::before {
  opacity: 0.03 !important;
}

/* Images inside sections — remove any white background from Optimole processing */
.wp-block-group.alignfull img {
  background-color: transparent !important;
}

/* --- FIX: Stats section counters — ensure proper font rendering */
.nt-stat-number {
  font-variant-numeric: tabular-nums !important;
}

/* --- FIX: Gradient text readability on dark backgrounds */
.nt-gradient-text {
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
}

/* Mobile fixes for all the above */
@media (max-width: 768px) {
  div[style*="max-width:1200px"][style*="display:flex"] > div[style*="min-width"],
  div[style*="max-width:1000px"][style*="display:flex"] > div[style*="min-width"],
  div[style*="max-width:800px"][style*="display:flex"] > div[style*="min-width"] {
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }
  
  div[style*="max-width:900px"][style*="display:flex"] {
    flex-direction: column !important;
    align-items: center !important;
  }
}


/* ==========================================================================
   CONTRAST FIX v2.2.3 — Cards and text must be VISIBLE
   Root cause: card bg #12123a on section bg #070714 = no contrast
   ========================================================================== */

/* Override card background to something actually visible */
:root {
  --nt-bg-card: #1a1a50 !important;
  --nt-bg-card-hover: #222260 !important;
  --nt-border: rgba(255, 255, 255, 0.18) !important;
}

/* Force ALL card-like elements to use the lighter background */
div[style*="background-color:#0b0b22"] {
  background-color: #1a1a50 !important;
}

div[style*="border-radius:24px"][style*="padding:2rem"],
div[style*="border-radius:20px"][style*="padding:1.5rem"],
div[style*="border-radius:20px"][style*="padding:2rem"],
div[style*="border-radius:16px"][style*="padding:1.5rem"],
div[style*="border-radius:16px"][style*="padding:2rem"] {
  background: #1a1a50 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

/* Card text — ensure headings are bright white, body is clearly readable */
div[style*="border-radius:24px"] h3,
div[style*="border-radius:20px"] h3,
div[style*="border-radius:24px"] p[style*="font-weight:800"],
div[style*="border-radius:20px"] p[style*="font-weight:800"] {
  color: #ffffff !important;
}

div[style*="border-radius:24px"] p[style*="color:#c7c7d2"],
div[style*="border-radius:20px"] p[style*="color:#c7c7d2"] {
  color: #d0d0e0 !important;
}

/* KILL the glow pseudo-elements entirely — they render as grey rectangles */
.nt-glow::before,
.nt-glow::after,
.nt-glow-alt::before,
.nt-glow-alt::after {
  display: none !important;
}

/* Section rhythm — subtle alternation (disabled — was creating visible banding) */
/* .wp-block-group.alignfull.has-background:nth-of-type(even) { background-color: #0c0c28 !important; } */

/* Trust cards */
.nt-trust-card {
  background: #1a1a50 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

/* CTA banner background */
.nt-cta-banner {
  background: linear-gradient(145deg, rgba(79,142,247,0.1) 0%, #1a1a50 40%, rgba(139,92,246,0.08) 100%) !important;
  border: 1px solid rgba(79,142,247,0.4) !important;
}

/* Comparison featured card (NutriTracker column) */
div[style*="border-color:#2f6fed"][style*="border-radius:24px"] {
  background: linear-gradient(145deg, rgba(79,142,247,0.1) 0%, #1a1a50 100%) !important;
  border: 2px solid rgba(79,142,247,0.5) !important;
}

/* Stats section */
.nt-stat-number {
  color: #4f8ef7 !important;
  -webkit-text-fill-color: initial !important;
}

/* Testimonial card */
.wp-block-group.alignfull div[style*="border-radius:20px"][style*="max-width:700px"] {
  background: #1a1a50 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

/* FAQ section */
.saaslauncher-accordion details {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.saaslauncher-accordion summary {
  color: #ffffff !important;
}

/* Blog CTA */
.nt-blog-cta {
  background: #1a1a50 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}


/* ==========================================================================
   CLASS-BASED CARD STYLING v2.3.0
   Replaces ALL broken attribute selectors (div[style*="..."]).
   Browsers normalise inline styles, breaking attribute matching.
   JS now adds .nt-card, .nt-section, etc. classes for reliable targeting.
   ========================================================================== */

/* --- Cards: visible background, clear borders --- */
.nt-card {
  background: #1a1a50 !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.3) !important;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.nt-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(79, 142, 247, 0.4) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
}

/* Featured card (blue border accent) */
.nt-card-featured {
  background: linear-gradient(145deg, rgba(79,142,247,0.12) 0%, #1a1a50 100%) !important;
  border: 2px solid rgba(79, 142, 247, 0.5) !important;
}

/* Card text visibility */
.nt-card h3,
.nt-card p[style*="font-weight:800"],
.nt-card p[style*="font-weight: 800"] {
  color: #ffffff !important;
}
.nt-card p {
  color: #d0d0e0 !important;
}
.nt-card p[style*="color:#9a9ab0"],
.nt-card p[style*="color: rgb(154"] {
  color: #a0a0c0 !important;
}
.nt-card p[style*="color:#8fb3ff"],
.nt-card a[style*="color:#8fb3ff"] {
  color: #6da8ff !important;
}

/* --- Sections: alternating backgrounds --- */
.nt-section {
  background-color: #070714 !important;
}
.nt-section-alt {
  background-color: #0c0c28 !important;
}
.nt-section-hero {
  background: linear-gradient(165deg, #070714 0%, #0c1a3a 20%, #1a0e42 45%, #0d2847 65%, #070714 100%) !important;
}

/* Section headings */
.nt-section h2 {
  color: #ffffff !important;
}

/* --- Trust cards --- */
.nt-trust-card {
  background: #1a1a50 !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* --- Stats --- */
.nt-stat-number {
  color: #4f8ef7 !important;
  background: none !important;
  -webkit-text-fill-color: #4f8ef7 !important;
}

/* --- CTA banner --- */
.nt-cta-banner {
  background: linear-gradient(145deg, rgba(79,142,247,0.1) 0%, #1a1a50 40%, rgba(139,92,246,0.08) 100%) !important;
  border: 1px solid rgba(79,142,247,0.4) !important;
}

/* --- Images: force transparent bg to prevent Optimole grey --- */
.nt-section img {
  background-color: transparent !important;
}

/* --- Scroll reveal --- */
.nt-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease !important;
}
.nt-reveal.nt-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
@media (prefers-reduced-motion: reduce) {
  .nt-reveal { opacity: 1 !important; transform: none !important; }
}


/* ==========================================================================
   LAYOUT WIDTH FIX v2.3.2
   The .page .wp-block-post-content { max-width: 800px } rule was
   constraining the HOMEPAGE content to 800px, breaking all 3-column layouts.
   Homepage needs full width; inner pages keep the reading-width constraint.
   ========================================================================== */

/* Homepage: full width content */
.home .entry-content,
.home .wp-block-post-content {
  max-width: 100% !important;
}

/* Inner pages: keep reading width but not on homepage */
.page:not(.home) .entry-content,
.page:not(.home) .wp-block-post-content {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Testimonial cards — force 3-across */
.nt-card + .nt-card + .nt-card {
  flex: 1 1 30% !important;
}

/* Comparison side-by-side — min-width was too high */
.nt-card[style*="min-width: 300px"] {
  min-width: 0 !important;
  flex: 1 1 45% !important;
}

/* Coach persona card text — increase contrast */
.nt-card p[style*="font-style: italic"],
.nt-card p[style*="font-style:italic"] {
  color: #b0b0d0 !important;
}

/* Mockup images — force no background */
img[src*="mockup"],
img[alt*="mockup"],
img[alt*="Choose Your Coach"],
img[alt*="gym coaching"] {
  background: transparent !important;
  mix-blend-mode: normal !important;
}

/* Trust section wrapper — remove card treatment if applied */
.nt-trust-grid {
  background: transparent !important;
  border: none !important;
}


/* ==========================================================================
   FLEX LAYOUT FIX v2.3.3
   Cards wrapping because flex-basis:30% + gaps > 100%
   Fix: use calc-based flex-basis that accounts for gap
   ========================================================================== */

/* 3-card rows: fit exactly 3 cards accounting for 2 gaps of 1.5rem */
.nt-card {
  flex: 1 1 calc(33.333% - 1.5rem) !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* 2-card rows: comparison section, side-by-side */
.nt-card[style*="min-width: 300px"],
.nt-card[style*="min-width:300px"] {
  flex: 1 1 calc(50% - 1rem) !important;
}

/* Containers should allow full width for their children */
.nt-section div[style*="max-width"]:not(.nt-comparison-grid) {
  max-width: 1200px !important;
}

/* Comparison container — ensure flex row */
.nt-section div[style*="max-width: 800px"][style*="display: flex"],
.nt-section div[style*="max-width:800px"][style*="display:flex"] {
  max-width: 1000px !important;
}

/* Coach persona cards — 2 rows of 3 */
.nt-card[style*="border-radius: 20px"] {
  flex: 1 1 calc(33.333% - 1.5rem) !important;
}

/* Override the old min-width: 280px/250px that causes wrapping */
.nt-card[style*="min-width: 280px"],
.nt-card[style*="min-width:280px"],
.nt-card[style*="min-width: 250px"],
.nt-card[style*="min-width:250px"] {
  min-width: 0 !important;
}

/* Stats section — ensure all 4 stats are in a row */
.nt-stats-grid {
  flex-wrap: nowrap !important;
}

/* On mobile, stack everything */
@media (max-width: 768px) {
  .nt-card {
    flex: 1 1 100% !important;
  }
  .nt-stats-grid {
    flex-wrap: wrap !important;
  }
  .nt-stat-item {
    flex: 1 1 45% !important;
  }
}


/* ==========================================================================
   ROW-BASED CARD SIZING v2.3.4
   Cards sized based on how many siblings they have, not a blanket rule.
   ========================================================================== */

/* Reset the blanket flex rule */
.nt-card {
  flex: 1 1 auto !important;
}

/* 2-card rows (comparison): side by side */
.nt-in-row-2 {
  flex: 1 1 calc(50% - 1rem) !important;
  max-width: calc(50% - 1rem) !important;
}

/* 3-card rows (testimonials, how-it-works, who-for, blog, bento): 3-across */
.nt-in-row-3 {
  flex: 1 1 calc(33.333% - 1.5rem) !important;
  max-width: calc(33.333% - 1.5rem) !important;
}

/* 4-card rows (trust): handled by grid, no flex needed */

/* 6-card rows (coach personas): 3-across (2 rows of 3) */
.nt-in-row-6 {
  flex: 1 1 calc(33.333% - 1.5rem) !important;
  max-width: calc(33.333% - 1.5rem) !important;
}

/* Row containers — ensure they allow full width */
.nt-card-row {
  max-width: 1200px !important;
}
.nt-row-2 {
  max-width: 1000px !important;
}

/* Reduce excessive vertical padding between sections */
.nt-section {
  padding-top: clamp(2.5rem, 5vw, 4rem) !important;
  padding-bottom: clamp(2.5rem, 5vw, 4rem) !important;
}

/* Star ratings in testimonials — gold colour */
.nt-card p[style*="color: rgb(251, 191, 36)"],
.nt-card p[style*="color:#fbbf24"] {
  color: #fbbf24 !important;
}

/* Mobile: stack everything */
@media (max-width: 768px) {
  .nt-in-row-2,
  .nt-in-row-3,
  .nt-in-row-6 {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}


/* ==========================================================================
   CARD WIDTH HOTFIX v2.3.5
   Remove max-width on cards — flex-basis alone is enough.
   max-width was causing cards to be too narrow and tall.
   ========================================================================== */

.nt-in-row-2,
.nt-in-row-3,
.nt-in-row-6 {
  max-width: none !important;
}

.nt-row-2 {
  max-width: 1200px !important;
}


/* ==========================================================================
   DEFINITIVE FLEX FIX v2.3.6
   flex-wrap:wrap + min-width + flex-basis=30% = wrapping.
   Solution: force nowrap on desktop for known card counts.
   ========================================================================== */

@media (min-width: 769px) {
  .nt-row-2,
  .nt-row-3 {
    flex-wrap: nowrap !important;
  }
  
  .nt-row-2 > .nt-card {
    flex: 1 1 0% !important;
    min-width: 0 !important;
  }
  
  .nt-row-3 > .nt-card {
    flex: 1 1 0% !important;
    min-width: 0 !important;
  }
  
  .nt-row-6 {
    flex-wrap: wrap !important;
  }
  .nt-row-6 > .nt-card {
    flex: 1 1 calc(33.333% - 24px) !important;
    min-width: 0 !important;
  }
}


/* ==========================================================================
   FINAL POLISH v2.4.0
   ========================================================================== */

/* --- CTA BUTTONS: Always centered (excludes grid containers) --- */
div[style*="justify-content: center"]:not(.nt-grid-2):not(.nt-grid-3):not([class*="nt-grid"]),
div[style*="justify-content:center"]:not(.nt-grid-2):not(.nt-grid-3):not([class*="nt-grid"]) {
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Standalone CTA links that should be centered */
.nt-section > div > a[style*="border-radius: 999px"],
.nt-section > div > a[style*="border-radius:999px"] {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: fit-content !important;
}

/* Center the "Not sure which to pick" text + CTA */
.nt-section > p[class*="text-align-center"] + div {
  text-align: center !important;
}

/* Ensure CTA containers flex + center (excludes grid) */
.nt-section div[style*="justify-content"]:not(.nt-grid-2):not(.nt-grid-3):not([class*="nt-grid"]) {
  display: flex !important;
}

/* --- SECTION DIVIDERS: lighter, more elegant --- */
.nt-section + .nt-section {
  border-top: none !important;
}

/* --- MOCKUP IMAGES: force transparent background --- */
figure.wp-block-image img,
.nt-section img[style*="border-radius"] {
  background: transparent !important;
}

/* The Optimole-processed mockups have white backgrounds baked in.
   For images with known light backgrounds, use a slight dark overlay blend */
img[alt*="Choose Your Coach"],
img[alt*="gym coaching"],
img[alt*="mockup"] {
  border-radius: 24px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important;
}

/* --- HERO: center the CTA buttons row and see-pricing link --- */
.nt-section-hero p.has-text-align-center {
  text-align: center !important;
}
.nt-section-hero div[style*="gap"] {
  justify-content: center !important;
}

/* --- STAR RATINGS: gold colour --- */
p[style*="color: rgb(251, 191, 36)"],
p[style*="color:#fbbf24"] {
  color: #fbbf24 !important;
}

/* --- CHECKMARKS ROW: center --- */
div[style*="margin-top: 16px"][style*="gap"] {
  justify-content: center !important;
  text-align: center !important;
}

/* --- REDUCE PADDING on sections that are just spacers --- */
.nt-section[data-section] {
  padding-left: clamp(1rem, 3vw, 2rem) !important;
  padding-right: clamp(1rem, 3vw, 2rem) !important;
}


/* ==========================================================================
   GLOBAL — Kill parent gradient remnants (belt-and-suspenders with theme.json)
   ========================================================================== */

.has-center-top-gradient-gradient-background {
  background: radial-gradient(30% 14% at 50% 0%, #1a3a6b 0%, #070714 100%) !important;
}

.has-center-top-large-gradient-gradient-background {
  background: radial-gradient(48.39% 66.67% at 50% 0%, #4f8ef7 0%, #070714 100%) !important;
}

/* Override any parent background-alt cards */
.has-background-alt-background-color {
  background-color: var(--nt-bg-raised) !important;
}

/* ==========================================================================
   BLOG CARDS — nt-blog-card class from child templates
   ========================================================================== */

.nt-blog-card {
  background: var(--nt-bg-raised) !important;
  border: 1px solid var(--nt-border) !important;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              box-shadow 0.3s ease, border-color 0.3s ease !important;
  overflow: hidden !important;
}

.nt-blog-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(79, 142, 247, 0.25) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3),
              0 0 0 1px rgba(79, 142, 247, 0.10) !important;
}

.nt-blog-card .wp-block-post-featured-image img {
  object-fit: cover !important;
  width: 100% !important;
}

/* Blog grid responsive */
@media (max-width: 768px) {
  .nt-blog-grid.wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .nt-blog-grid.wp-block-post-template {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ==========================================================================
   SINGLE POST — Premium reading experience (global, not just .single-post)
   ========================================================================== */

.single .wp-block-post-content,
body:not(.home):not(.blog) .wp-block-post-content[class*="constrained"] {
  max-width: 65ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.8 !important;
  font-size: 1.05rem !important;
}

.single .wp-block-post-content h2 {
  color: var(--nt-text) !important;
  margin-top: 2.5em !important;
  font-size: 1.6rem !important;
}

.single .wp-block-post-content h3 {
  color: var(--nt-text) !important;
  margin-top: 2em !important;
  font-size: 1.3rem !important;
}

.single .wp-block-post-content p {
  margin-bottom: 1.5em !important;
}

.single .wp-block-post-content blockquote {
  border-left: 3px solid var(--nt-primary) !important;
  padding-left: 1.5rem !important;
  margin: 2rem 0 !important;
  color: var(--nt-text-muted) !important;
  font-style: italic !important;
}

.single .wp-block-post-content img {
  border-radius: 16px !important;
  margin: 2rem auto !important;
}

/* Author meta styling */
.single .wp-block-post-author-name,
.single .wp-block-post-date {
  font-size: 0.875rem !important;
}

/* Featured image */
.single .wp-block-post-featured-image img {
  border-radius: 16px !important;
  object-fit: cover !important;
}

/* ==========================================================================
   PAGINATION — Override parent styles
   ========================================================================== */

.wp-block-query-pagination {
  gap: 8px !important;
}

.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination a,
.wp-block-query-pagination span {
  color: var(--nt-text-muted) !important;
  background: var(--nt-bg-card) !important;
  border: 1px solid var(--nt-border) !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  font-size: 0.875rem !important;
  transition: all 0.2s ease !important;
}

.wp-block-query-pagination a:hover {
  border-color: var(--nt-primary) !important;
  color: var(--nt-primary) !important;
}

.wp-block-query-pagination .page-numbers.current,
.wp-block-query-pagination span[aria-current="page"] {
  background: var(--nt-primary) !important;
  border-color: var(--nt-primary) !important;
  color: #ffffff !important;
}

/* ==========================================================================
   HOMEPAGE GRID OVERRIDES — Anti-Wrap Protocol
   Applied via Gutenberg Advanced > Additional CSS class(es)
   ========================================================================== */

/* --- 3-column grid (Who is it for, How it works, Testimonials) --- */
.nt-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: clamp(1.5rem, 3vw, 3rem) !important;
  flex-wrap: unset !important;
  max-width: var(--nt-max-w) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nt-grid-3 > div {
  flex: none !important;
  min-width: 0 !important;
  width: auto !important;
}

/* --- 2-column grid (Comparison section) --- */
.nt-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: clamp(1.5rem, 3vw, 3rem) !important;
  flex-wrap: unset !important;
  max-width: var(--nt-max-w) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: stretch !important;
}

.nt-grid-2 > div {
  flex: none !important;
  min-width: 0 !important;
  width: auto !important;
}

/* --- Responsive: collapse to 1-column --- */
@media (max-width: 768px) {
  .nt-grid-3 {
    grid-template-columns: 1fr !important;
    gap: clamp(1rem, 2vw, 1.5rem) !important;
  }

  .nt-grid-2 {
    grid-template-columns: 1fr !important;
    gap: clamp(1rem, 2vw, 1.5rem) !important;
  }
}

/* Tablet: 2-col for 3-card grids */
@media (min-width: 769px) and (max-width: 1024px) {
  .nt-grid-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ==========================================================================
   LIGHT SECTIONS — Break the Dark Wall
   ========================================================================== */

.nt-section-light {
  background-color: #f8fafc !important;
  background-image: none !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

/* All text inside light sections */
.nt-section-light,
.nt-section-light p,
.nt-section-light li,
.nt-section-light span:not([style*="color:#"]) {
  color: #0f172a !important;
}

.nt-section-light h1,
.nt-section-light h2,
.nt-section-light h3,
.nt-section-light h4,
.nt-section-light .wp-block-heading {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

/* Muted text in light sections */
.nt-section-light [style*="color:#9a9ab0"],
.nt-section-light [style*="color:#c7c7d2"],
.nt-section-light [style*="color:#9898b0"] {
  color: #475569 !important;
}

/* Section label/eyebrow in light */
.nt-section-light p[style*="text-transform:uppercase"] {
  color: #4f8ef7 !important;
}

/* Cards inside light sections */
.nt-section-light div[style*="border-radius:24px"][style*="padding"],
.nt-section-light div[style*="border-radius:20px"][style*="padding"],
.nt-section-light div[style*="border-radius:16px"][style*="padding"] {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.03) !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.nt-section-light div[style*="border-radius:24px"][style*="padding"]:hover,
.nt-section-light div[style*="border-radius:20px"][style*="padding"]:hover,
.nt-section-light div[style*="border-radius:16px"][style*="padding"]:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.03) !important;
  border-color: #cbd5e1 !important;
}

/* Card text in light sections */
.nt-section-light div[style*="border-radius:24px"] p,
.nt-section-light div[style*="border-radius:20px"] p,
.nt-section-light div[style*="border-radius:16px"] p {
  color: #334155 !important;
}

.nt-section-light div[style*="border-radius:24px"] h3,
.nt-section-light div[style*="border-radius:20px"] h3,
.nt-section-light div[style*="border-radius:16px"] h3 {
  color: #0f172a !important;
}

/* Step numbers in light sections — keep blue */
.nt-section-light div[style*="border-radius"] > p[style*="font-size:2rem"] {
  color: #4f8ef7 !important;
  text-shadow: none !important;
}

/* Remove glow orbs in light sections (they are dark-mode only) */
.nt-section-light.nt-glow::before,
.nt-section-light.nt-glow::after {
  display: none !important;
}

/* Remove dark section border between dark/light transitions */
.nt-section-light + .wp-block-group.alignfull {
  border-top: none !important;
}
.wp-block-group.alignfull + .nt-section-light {
  border-top: none !important;
}

/* ==========================================================================
   DEVICE MOCKUP CONTAINMENT
   ========================================================================== */

.nt-mockup-container {
  max-width: 280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: hidden !important;
  border-radius: 32px !important;
  position: relative !important;
  background: #0a0a1f !important;
}

.nt-mockup-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  mix-blend-mode: normal !important;
  display: block !important;
  max-height: none !important;
  border-radius: 0 !important;
}

/* Light section variant — white bg behind mockup */
.nt-section-light .nt-mockup-container {
  background: #f1f5f9 !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) !important;
}

/* Responsive scaling */
@media (max-width: 768px) {
  .nt-mockup-container {
    max-width: 200px !important;
  }
}

@media (max-width: 480px) {
  .nt-mockup-container {
    max-width: 160px !important;
  }
}

/* When mockups sit inside a grid row, center them */
.nt-grid-2 .nt-mockup-container,
.nt-grid-3 .nt-mockup-container {
  justify-self: center !important;
}

/* ==========================================================================
   PREMIUM CTA BANNER
   ========================================================================== */

.nt-cta-banner {
  background: linear-gradient(
    145deg,
    #0d1f3c 0%,
    #111840 35%,
    #0f1535 65%,
    #0a1028 100%
  ) !important;
  border: 1px solid rgba(79, 142, 247, 0.20) !important;
  border-radius: 24px !important;
  padding: clamp(2rem, 3vw, 2.5rem) clamp(2rem, 4vw, 3rem) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Subtle ambient glow behind the CTA */
.nt-cta-banner::before {
  content: "" !important;
  position: absolute !important;
  top: -40% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 500px !important;
  height: 300px !important;
  background: radial-gradient(
    ellipse,
    rgba(79, 142, 247, 0.10) 0%,
    rgba(139, 92, 246, 0.05) 50%,
    transparent 70%
  ) !important;
  filter: blur(60px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.nt-cta-banner > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Heading inside the CTA banner */
.nt-cta-banner h2,
.nt-cta-banner .wp-block-heading {
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
  margin-bottom: 1rem !important;
  color: #ffffff !important;
}

/* Subtext */
.nt-cta-banner p {
  font-size: clamp(1rem, 1.5vw, 1.15rem) !important;
  color: #9898b0 !important;
  max-width: 540px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 2rem !important;
}

/* Button inside CTA */
.nt-cta-banner a[style*="border-radius:999px"],
.nt-cta-banner .wp-block-button__link {
  padding: 1rem 2.5rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  background: var(--nt-primary) !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  text-decoration: none !important;
}

.nt-cta-banner a[style*="border-radius:999px"]:hover,
.nt-cta-banner .wp-block-button__link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(79, 142, 247, 0.35) !important;
}

/* Mobile CTA spacing */
@media (max-width: 768px) {
  .nt-cta-banner {
    padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 3vw, 2rem) !important;
    border-radius: 20px !important;
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
}


/* --- HEADER/FOOTER: Zero out padding that leaks from section rules --- */
header .wp-block-group.alignfull,
header .wp-block-group,
footer .wp-block-group.alignfull:not(.saaslauncher-footer) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Header sticky nav — compact */
header .saaslauncher-header {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ==========================================================================
   HOMEPAGE AUTHORITY OVERRIDES v3.0.0
   Final layer — resolves all layout, spacing, and visual issues.
   These rules have the highest specificity and are the source of truth.
   ========================================================================== */

/* --- GRID AUTHORITY: .nt-grid-* ALWAYS wins over attribute flex selectors --- */
.nt-grid-3,
.nt-grid-2,
.nt-bento-grid {
  display: grid !important;
  flex-wrap: unset !important;
}

/* --- HERO: Reduce padding so content is visible above fold --- */
.nt-section-hero,
.nt-section-0 {
  padding-top: clamp(1.5rem, 3vw, 2.5rem) !important;
  padding-bottom: clamp(2rem, 4vw, 3rem) !important;
}

/* --- SECTION PADDING: Tighter rhythm, no dead space --- */
.entry-content > .wp-block-group.alignfull,
.wp-block-post-content > .wp-block-group.alignfull {
  padding-top: clamp(3rem, 5vw, 4.5rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.5rem) !important;
}

/* Trust badges strip — extra tight */
.nt-section-4,
.nt-section-4.wp-block-group.alignfull {
  padding-top: clamp(1rem, 2vw, 1.5rem) !important;
  padding-bottom: clamp(1rem, 2vw, 1.5rem) !important;
}

/* --- SECTION TRANSITIONS: No visible breaks between sections --- */
.entry-content > .wp-block-group.alignfull {
  border-top: none !important;
  border-bottom: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Seamless section flow — matching background tones */
.nt-section-alt {
  background-color: #0a0a20 !important;
}

/* --- STATS SECTION: Fix spacing in stat labels --- */
.nt-stat-label {
  white-space: pre-line !important;
  line-height: 1.5 !important;
  font-size: 0.9rem !important;
}

.nt-stat-number {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  margin-bottom: 0.25rem !important;
}

.nt-stat-item {
  padding: 1rem 0.75rem !important;
  min-width: 150px !important;
}

.nt-stats-grid {
  gap: 1.5rem !important;
  max-width: 800px !important;
  margin: 1.5rem auto 0 !important;
  padding: 0 !important;
}

/* --- TRUST GRID: Reduce card height --- */
.nt-trust-grid {
  gap: 1.25rem !important;
  margin-top: 2rem !important;
}

.nt-trust-card {
  padding: 1.5rem 1rem !important;
}

.nt-trust-icon {
  font-size: 1.75rem !important;
  margin-bottom: 0.75rem !important;
}

.nt-trust-desc {
  font-size: 0.85rem !important;
  line-height: 1.5 !important;
}

/* --- FAQ: Constrain width within its parent --- */
.saaslauncher-accordion {
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- FOOTER: Kill parent gradient, use solid dark background --- */
footer,
footer .saaslauncher-footer,
footer .wp-block-group,
.saaslauncher-footer,
.saaslauncher-footer.has-dark-shade-background-color,
.saaslauncher-footer .wp-block-group.alignfull {
  background-color: #070714 !important;
  background-image: none !important;
}

/* Footer border top — subtle separator */
.saaslauncher-footer {
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}

/* Footer scroll-to-top button */
.saaslauncher-scrollto-top {
  background-color: #070714 !important;
}

/* --- MOCKUP IMAGES: No grey backgrounds, proper containment --- */
.nt-section img[src*="mockup"],
.nt-section img[alt*="mockup"],
.nt-section img[alt*="Choose Your Coach"],
.nt-section img[alt*="gym coaching"],
.nt-section img[alt*="coaching chat"],
.nt-section img[alt*="NutriTracker"] {
  background: transparent !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Mockup pair — center properly */
.nt-mockup-pair {
  max-width: 700px !important;
  margin: 1.5rem auto 0 !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

/* --- HERO CTA BUTTONS: Center alignment --- */
.nt-section-hero div[style*="gap"][style*="justify-content"] {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

/* CTA buttons inside hero */
.nt-section-hero a[style*="border-radius:999px"],
.nt-section-hero a[style*="border-radius: 999px"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* --- "START COACHING FREE" standalone CTA at bottom --- */
.entry-content > a[style*="border-radius:999px"],
.entry-content > a[style*="border-radius: 999px"] {
  display: block !important;
  width: fit-content !important;
  margin: 0 auto 1rem !important;
}

/* Checkmarks row below CTA */
.entry-content > p:last-child {
  text-align: center !important;
  margin-bottom: 2rem !important;
}

/* --- SCREENSHOT GALLERY (Section 5): Proper grid layout --- */
.nt-section-5 {
  overflow: hidden !important;
}

/* --- TESTIMONIAL SECTION (Section 9): Ensure grid works --- */
.nt-section-9 .nt-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
}

/* --- COMPARISON SECTION (Section 8): Equal-height cards --- */
.nt-section-8 .nt-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  align-items: stretch !important;
}

/* --- WHO IS NUTRITRACKER FOR (Section 2): Fix card layout --- */
.nt-section-2 .nt-grid-3 {
  display: grid !important;
}

/* --- HOW IT WORKS (Section 3): Fix cards --- */
.nt-section-3 .nt-grid-3 {
  display: grid !important;
}

/* --- COACH CARDS (Section 6): 3-across grid --- */
.nt-section-6 .nt-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
}

/* --- INTEGRATIONS ROW: Tighter spacing --- */
.nt-integrations-row {
  gap: 2rem !important;
  margin-top: 1rem !important;
  opacity: 0.8 !important;
}

/* --- CARD BACKGROUNDS: Consistent dark cards --- */
.nt-card {
  background: #0f0f30 !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
}

/* Featured card (NutriTracker comparison column) */
.nt-card-featured {
  background: linear-gradient(145deg, rgba(79,142,247,0.08) 0%, #0f0f30 100%) !important;
  border: 1px solid rgba(79, 142, 247, 0.35) !important;
}

/* --- LIGHT SECTION CARDS: White background, proper contrast --- */
.nt-section-light .nt-card,
.nt-section-light div[style*="border-radius:24px"][style*="padding"],
.nt-section-light div[style*="border-radius:20px"][style*="padding"] {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 1px solid #e2e8f0 !important;
}

.nt-section-light .nt-card p,
.nt-section-light .nt-card span {
  color: #334155 !important;
}

.nt-section-light .nt-card h3,
.nt-section-light .nt-card p[style*="font-weight:800"],
.nt-section-light .nt-card p[style*="font-weight: 800"] {
  color: #0f172a !important;
}

/* --- PAGE CONTENT: Homepage full width, inner pages constrained --- */
.home .entry-content,
.home .wp-block-post-content {
  max-width: 100% !important;
}

/* Wide pages must not be constrained */
.page-template-page-wide .entry-content,
.page-template-page-wide .wp-block-post-content {
  max-width: 100% !important;
}

/* --- PREFERS REDUCED MOTION: Respect user preference --- */
@media (prefers-reduced-motion: reduce) {
  .nt-card, .nt-trust-card, .nt-blog-card, .nt-cta-banner a {
    transition: none !important;
  }
  .nt-card:hover, .nt-trust-card:hover {
    transform: none !important;
  }
}


/* ==========================================================================
   REMAINING HOMEPAGE FIXES v3.3.0
   ========================================================================== */

/* --- HERO: Google Play badge constrained to match App Store size --- */
.entry-content > .wp-block-group.alignfull:first-child img[alt*="Google Play"],
.nt-section-hero img[alt*="Google Play"],
.nt-section-0 img[alt*="Google Play"] {
  max-width: 135px !important;
  height: 40px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* App Store badge size consistency */
.entry-content > .wp-block-group.alignfull:first-child img[alt*="App Store"],
.nt-section-hero img[alt*="App Store"],
.nt-section-0 img[alt*="App Store"] {
  max-width: 120px !important;
  height: 40px !important;
}

/* Store badges container — horizontal row */
.nt-section-hero div[style*="gap"][style*="line-height:0"],
.nt-section-0 div[style*="gap"][style*="line-height:0"] {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
}

/* --- HERO MOCKUP IMAGE: Constrain width --- */
.nt-section-hero img[alt*="coaching chat"],
.nt-section-hero img[alt*="NutriTracker AI"],
.nt-section-0 img[alt*="coaching chat"],
.nt-section-0 img[alt*="NutriTracker AI"] {
  max-width: 800px !important;
  margin: 1.5rem auto 0 !important;
  display: block !important;
  border-radius: 16px !important;
}

/* --- BOTTOM CTA: Fix blob button --- */
.entry-content > a[style*="border-radius"],
.entry-content > a[style*="background"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 280px !important;
  margin: 2rem auto 0.75rem !important;
  padding: 1rem 2.5rem !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  background: var(--nt-primary) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Checkmarks text below bottom CTA */
.entry-content > p:last-child {
  text-align: center !important;
  color: var(--nt-text-dim) !important;
  font-size: 0.875rem !important;
  margin-bottom: 3rem !important;
}

/* --- SECTION 2 (Who is NutriTracker for): Light section with proper card styling --- */
.nt-section-light .nt-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.03) !important;
}

.nt-section-light .nt-card:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 12px 24px rgba(0,0,0,0.06) !important;
}

.nt-section-light .nt-card h3,
.nt-section-light .nt-card p[style*="font-weight:800"],
.nt-section-light .nt-card p[style*="font-weight: 800"] {
  color: #0f172a !important;
}

.nt-section-light .nt-card p {
  color: #475569 !important;
}

/* --- STATS SECTION: Remove massive dead space above numbers --- */
.nt-section-12,
div.wp-block-group.alignfull[class*="nt-section-12"] {
  padding-top: clamp(2rem, 3vw, 3rem) !important;
  padding-bottom: clamp(2rem, 3vw, 3rem) !important;
}

/* Integrations section — tighter */
.nt-section-13,
div.wp-block-group.alignfull[class*="nt-section-13"] {
  padding-top: clamp(1.5rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.5rem, 2.5vw, 2rem) !important;
}

/* Trust + FAQ section — tighter */
.nt-section-14,
div.wp-block-group.alignfull[class*="nt-section-14"] {
  padding-top: clamp(2.5rem, 4vw, 3.5rem) !important;
  padding-bottom: clamp(2.5rem, 4vw, 3.5rem) !important;
}

/* --- "MORE TO EXPLORE" / footer links section: tighter --- */
footer .wp-block-group:not(.saaslauncher-footer) {
  padding-top: clamp(1.5rem, 2vw, 2rem) !important;
  padding-bottom: clamp(1.5rem, 2vw, 2rem) !important;
}

/* --- SECTION COLOUR TRANSITIONS: Smoother alternation --- */
/* Even-numbered content sections get subtle alt background */
.entry-content > .wp-block-group.alignfull:nth-child(even) {
  background-color: #0a0a1f !important;
}

/* Odd sections — base dark */
.entry-content > .wp-block-group.alignfull:nth-child(odd):not(:first-child) {
  background-color: #070714 !important;
}

/* Hero keeps its gradient */
.entry-content > .wp-block-group.alignfull:first-child {
  background: linear-gradient(165deg, #070714 0%, #0c1a3a 20%, #1a0e42 45%, #0d2847 65%, #070714 100%) !important;
}

/* Light sections override the alternation */
.nt-section-light {
  background-color: #f1f5f9 !important;
  background-image: none !important;
}

/* --- SCREENSHOT GALLERY (Section 5): Fix image heights --- */
.nt-section-5 img {
  max-height: 400px !important;
}


/* ==========================================================================
   CTA BUTTON FIXES v3.4.0
   ========================================================================== */

/* All pill-shaped CTA links — inline-flex, proper sizing */
a[style*="border-radius:999px"],
a[style*="border-radius: 999px"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-height: 52px !important;
  width: auto !important;
}

/* CTA inside the CTA banner */
.nt-cta-banner a[style*="border-radius:999px"],
.nt-cta-banner a[style*="border-radius: 999px"] {
  max-height: 52px !important;
  padding: 0.85rem 2rem !important;
}

/* Section-level CTA containers — center them (exclude flex-child buttons) */
.entry-content > .wp-block-group.alignfull > :not([style*="display:flex"]) a[style*="border-radius:999px"] {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fix the standalone "Start coaching free" near bottom of page */
.entry-content > div:not(.wp-block-group) > a[style*="border-radius:999px"],
.entry-content > a[style*="border-radius:999px"] {
  display: inline-flex !important;
  max-width: 260px !important;
  max-height: 50px !important;
  padding: 0.85rem 1.8rem !important;
}

/* Center the bottom CTA + checkmarks */
.entry-content > div:has(> a[style*="border-radius:999px"]) {
  text-align: center !important;
}

/* --- SECTION TRANSITIONS: Smoother colour flow --- */
/* Remove hard borders between all content sections */
.entry-content > .wp-block-group.alignfull + .wp-block-group.alignfull {
  border-top: none !important;
}

/* Subtle gradient transition between different-coloured sections */
.entry-content > .wp-block-group.alignfull {
  position: relative !important;
}


/* ==========================================================================
   CTA BUTTON FIX v3.5.0 — Override min-height and parent card treatment
   ========================================================================== */

/* CTA buttons: override inline min-height, force proper sizing */
a[style*="border-radius:999px"][style*="min-height"],
a[style*="border-radius: 999px"][style*="min-height"] {
  min-height: 0 !important;
  height: auto !important;
  max-height: 52px !important;
  padding: 0.75rem 1.8rem !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
}

/* CTA wrapper divs — should NOT have card styling */
div:has(> a[style*="border-radius:999px"]):not(.nt-card):not(.wp-block-button) {
  background: transparent !important;
  border: none !important;
  border-top: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* Download buttons — same fix */
a[style*="border-radius:999px"][style*="min-height:56px"] {
  min-height: 0 !important;
  padding: 0.7rem 1.5rem !important;
}


/* ==========================================================================
   SCROLL-TO-TOP + SPACING FIXES v3.6.0
   ========================================================================== */

/* --- SCROLL TO TOP: Fixed position, bottom-right corner --- */
.saaslauncher-scrollto-top {
  position: fixed !important;
  bottom: 2rem !important;
  right: 2rem !important;
  z-index: 999 !important;
  opacity: 0 !important;
  transform: translateY(20px) !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
  pointer-events: none !important;
}

.saaslauncher-scrollto-top.nt-scroll-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

.saaslauncher-scrollto-top .wp-block-button__link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;
  font-size: 1.25rem !important;
  background: rgba(79, 142, 247, 0.9) !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.saaslauncher-scrollto-top .wp-block-button__link:hover {
  background: var(--nt-primary) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(79, 142, 247, 0.4) !important;
}

/* Hide the parent wp-block-buttons wrapper styling */
.wp-block-buttons:has(.saaslauncher-scrollto-top) {
  position: fixed !important;
  bottom: 2rem !important;
  right: 2rem !important;
  z-index: 999 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- HERO MOCKUP AREA: Fix grey background patch --- */
.entry-content > .wp-block-group.alignfull:first-child figure.wp-block-image,
.entry-content > .wp-block-group.alignfull:first-child .wp-block-image {
  background: transparent !important;
}

.entry-content > .wp-block-group.alignfull:first-child figure.wp-block-image img {
  background: transparent !important;
  border-radius: 16px !important;
}

/* --- SECTION 2 (Who is NutriTracker for): Tighten 2+1 card layout --- */
.nt-section-2 .nt-grid-3 {
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

/* Third card (spans full width in the grid) — reduce vertical gap above it */
.nt-section-2 .nt-grid-3 > div:last-child {
  margin-top: 0 !important;
}

/* --- TESTIMONIAL SECTION: Reduce padding on light sections --- */
.nt-section-light.wp-block-group.alignfull {
  padding-top: clamp(2.5rem, 4vw, 3.5rem) !important;
  padding-bottom: clamp(2.5rem, 4vw, 3.5rem) !important;
}

/* --- GENERAL SPACING: Tighter section rhythm for all sections --- */
.entry-content > .wp-block-group.alignfull {
  padding-top: clamp(2.5rem, 4.5vw, 4rem) !important;
  padding-bottom: clamp(2.5rem, 4.5vw, 4rem) !important;
}

/* Hero stays compact */
.entry-content > .wp-block-group.alignfull:first-child {
  padding-top: clamp(1.5rem, 3vw, 2.5rem) !important;
  padding-bottom: clamp(1.5rem, 3vw, 2rem) !important;
}

/* Trust badges strip — extra compact */
.nt-section-4.wp-block-group.alignfull {
  padding-top: clamp(0.75rem, 1.5vw, 1.25rem) !important;
  padding-bottom: clamp(0.75rem, 1.5vw, 1.25rem) !important;
}


/* ==========================================================================
   HERO TESTIMONIAL FIX v3.7.0
   Section 1 quote should be subtle, not a huge purple card.
   ========================================================================== */

div[data-nt-section="1"] .nt-card,
.nt-section-1 div[style*="border-radius"][style*="padding"].nt-card,
.nt-section-1 .wp-block-group.nt-card {
  background: rgba(13, 13, 38, 0.6) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 2rem 2.5rem !important;
  border-radius: 20px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 4px 20px rgba(0,0,0,0.2) !important;
}

.nt-section-1 .nt-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* Star ratings gold */
.nt-section-1 p[style*="color: rgb(251, 191, 36)"],
.nt-section-1 p[style*="color:#fbbf24"] {
  color: #fbbf24 !important;
}

/* Quote text */
.nt-section-1 .nt-card p {
  color: var(--nt-text-muted) !important;
}


/* --- CTA BANNER: Reset heading margins inside banners --- */
.nt-cta-banner h2,
.nt-cta-banner .wp-block-heading {
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}

.nt-cta-banner p {
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
}

.nt-cta-banner div[style*="gap"] {
  margin-top: 0.5rem !important;
}


/* ==========================================================================
   HERO CTA ROW — Button + Store Badges alignment
   ========================================================================== */

/* The hero CTA container — center everything, align items */
.entry-content > .wp-block-group.alignfull:first-child div[style*="gap"][style*="justify-content:center"],
.entry-content > .wp-block-group.alignfull:first-child div[style*="gap"][style*="justify-content: center"] {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

/* Store badge links — don't apply CTA button sizing */
a[style*="line-height:0"],
a[style*="line-height: 0"] {
  display: inline-flex !important;
  align-items: center !important;
  max-height: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* Store badge images — consistent height */
a[style*="line-height:0"] img,
a[style*="line-height: 0"] img {
  height: 40px !important;
  width: auto !important;
  max-width: 140px !important;
}


/* ==========================================================================
   SCROLL TO TOP — Override parent theme styles
   ========================================================================== */

.saaslauncher-scrollto-top,
.saaslauncher-scrollto-top.is-style-button-hover-secondary-bgcolor {
  background: var(--nt-primary) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  border: none !important;
}

.saaslauncher-scrollto-top a,
.saaslauncher-scrollto-top .wp-block-button__link {
  background: transparent !important;
  color: #ffffff !important;
  padding: 0 !important;
  border: none !important;
  min-width: 0 !important;
}

.wp-block-buttons:has(.saaslauncher-scrollto-top) {
  background: transparent !important;
}




/* FIX: Pill buttons inside flex containers must not get auto margins */
.entry-content .wp-block-group.alignfull div[style*="display:flex"] > a[style*="border-radius:999px"],
.entry-content .wp-block-group.alignfull div[style*="display:flex"] > a[style*="border-radius: 999px"] {
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline: 0 !important;
}


/* ==========================================================================
   TIGHTER SECTION FLOW — Reduce inter-section dead space
   ========================================================================== */

/* Mockup rows: reduce bottom margin */
.entry-content > .wp-block-group div[style*="display:flex"]:has(.nt-mockup-container) {
  margin-bottom: 24px !important;
}

/* "See it in action" mockup sub-containers — remove excess height */
.entry-content > .wp-block-group div[style*="display:flex"][style*="max-width:1000px"] > div {
  height: auto !important;
}

/* Tighten gap between mockup captions row and end of section */
.entry-content > .wp-block-group div[style*="display:flex"][style*="max-width:1000px"] > div > p:empty {
  display: none !important;
}

/* Reduce spacing between mockup rows in "See it in action" */
.entry-content > .wp-block-group div[style*="display:flex"][style*="max-width:1000px"] {
  margin-bottom: 16px !important;
}
.entry-content > .wp-block-group div[style*="display:flex"][style*="max-width:1000px"]:last-of-type {
  margin-bottom: 0 !important;
}


/* "See it in action" mockup containers — tighten internal spacing */
.entry-content > .wp-block-group div[style*="max-width:1000px"] > div > p:empty,
.entry-content > .wp-block-group div[style*="max-width: 1000px"] > div > p:empty {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

.entry-content > .wp-block-group div[style*="max-width:1000px"] > div > p:last-child,
.entry-content > .wp-block-group div[style*="max-width: 1000px"] > div > p:last-child {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
}

.entry-content > .wp-block-group div[style*="max-width:1000px"] > div > img,
.entry-content > .wp-block-group div[style*="max-width: 1000px"] > div > img {
  margin-bottom: 0 !important;
}



/* ==========================================================================
   FOOTER — Compact spacing
   ========================================================================== */

/* Kill the blanket padding rule for ALL groups inside footer */
footer .wp-block-group:not(.saaslauncher-footer),
footer.wp-block-template-part .wp-block-group:not(.saaslauncher-footer) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Main footer links area */
footer .saaslauncher-footer,
footer.wp-block-template-part .saaslauncher-footer {
  padding-top: 32px !important;
  padding-bottom: 20px !important;
}

/* Company line + trust badges wrapper */
footer > .wp-block-group > .wp-block-group:nth-child(2) {
  padding-top: 16px !important;
  padding-bottom: 12px !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}

/* Footer columns — tighter vertical spacing */
.saaslauncher-footer .wp-block-columns {
  gap: 16px 40px !important;
}

/* Footer outer wrapper */
footer > .wp-block-group {
  padding-bottom: 12px !important;
}

/* ==========================================================================
   MAIN — Zero block gap between top-level sections
   WordPress --wp--style--block-gap adds 24px margin between main > children
   ========================================================================== */

main.wp-block-group > .wp-block-group.alignfull,
main.wp-block-group > .entry-content,
main.wp-block-group > .wp-block-post-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Hero first heading — no top margin */
.nt-section-0 h2:first-child,
.entry-content > .wp-block-group:first-child h2:first-child {
  margin-top: 0 !important;
}

/* ==========================================================================
   COMPARISON GRID — Tracking vs Coaching
   ========================================================================== */

.nt-comparison-grid {
  box-shadow: 0 4px 32px rgba(0,0,0,0.3) !important;
}

@media (max-width: 640px) {
  .nt-comparison-grid {
    grid-template-columns: 1fr !important;
  }
  .nt-comparison-grid > div:first-child {
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
}

/* Comparison grid — override the broad .nt-section max-width rule */
.nt-comparison-grid {
  max-width: 900px !important;
  margin: 0 auto !important;
}

/* ==========================================================================
   FIND YOUR COACH QUIZ — Premium v2
   /find-your-coach
   ========================================================================== */

/* ── Page-level: ambient background glows ──────────────────────────────── */

#nt-quiz {
  --coach-accent: #4f8ef7;
  position: relative;
  min-height: 85vh;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3rem 1.25rem 4rem !important;
  max-width: 100% !important;
}

#nt-quiz::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 15% 10%, rgba(79,142,247,0.08) 0%, transparent 70%),
    radial-gradient(ellipse 50% 50% at 85% 80%, rgba(139,92,246,0.06) 0%, transparent 70%);
  z-index: 0;
}

/* ── Screen transitions ────────────────────────────────────────────────── */

.ntq-screen {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.ntq-enter {
  opacity: 0;
  transform: translateY(12px);
}

/* ── Glass card container ──────────────────────────────────────────────── */

.ntq-intro,
.ntq-question,
.ntq-teaser,
.ntq-result {
  background: rgba(13,13,38,0.75);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 24px;
  padding: 2.5rem 2rem;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 32px 64px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.04) inset;
}

/* ── Intro screen ──────────────────────────────────────────────────────── */

.ntq-intro {
  text-align: center;
}

.ntq-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--nt-primary);
  background: rgba(79,142,247,0.10);
  border: 1px solid rgba(79,142,247,0.20);
  border-radius: 999px;
  padding: 7px 18px;
  margin-bottom: 1.75rem;
}

.ntq-title {
  font-size: clamp(1.75rem, 5vw, 2.75rem) !important;
  font-weight: 800 !important;
  color: var(--nt-text) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 1rem !important;
}
.ntq-grad {
  background: linear-gradient(135deg, #ebe9f4 0%, rgba(139,92,246,0.9) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ntq-subtitle {
  font-size: 1rem;
  color: var(--nt-text-muted);
  line-height: 1.65;
  margin: 0 auto 2rem;
  max-width: 440px;
}

.ntq-dots {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.ntq-coach-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: default;
  transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
}
.ntq-coach-chip:hover {
  transform: translateY(-4px);
}
.ntq-chip-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: box-shadow 0.25s ease, transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
}
.ntq-coach-chip:hover .ntq-chip-avatar {
  transform: scale(1.1);
}
.ntq-chip-emoji {
  font-size: 1.35rem;
  line-height: 1;
}
.ntq-chip-name {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--nt-text-muted);
  letter-spacing: 0.02em;
}

.ntq-meta {
  font-size: 0.78rem;
  color: var(--nt-text-dim);
  margin-top: 1.25rem;
  letter-spacing: 0.02em;
}

/* ── Buttons ───────────────────────────────────────────────────────────── */

.ntq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--nt-font-body);
  font-weight: 700;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  border-radius: 999px;
  transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.2s ease;
  text-decoration: none !important;
  line-height: 1.2;
}

.ntq-btn-glow {
  background: linear-gradient(135deg, #4f8ef7 0%, #8b5cf6 100%);
  color: #ffffff;
  padding: 16px 36px;
  box-shadow: 0 4px 24px rgba(79,142,247,0.35);
  min-width: 220px;
}
.ntq-btn-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(79,142,247,0.45);
}
.ntq-btn-glow:active {
  transform: scale(0.98);
}

.ntq-btn-coach {
  color: #ffffff !important;
  padding: 16px 36px;
  font-size: 1.05rem;
}
.ntq-btn-coach:hover {
  transform: translateY(-2px);
  filter: brightness(1.1);
}

.ntq-btn-ghost {
  background: transparent;
  color: var(--nt-text-muted) !important;
  padding: 12px 24px;
  border: 1px solid var(--nt-border);
  font-size: 0.9rem;
}
.ntq-btn-ghost:hover {
  border-color: rgba(255,255,255,0.20);
  color: var(--nt-text) !important;
}

.ntq-btn-full {
  width: 100%;
  display: flex;
}

/* ── Progress bar ──────────────────────────────────────────────────────── */

.ntq-progress {
  height: 4px;
  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  margin-bottom: 1.75rem;
  overflow: hidden;
}
.ntq-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #4f8ef7 0%, #8b5cf6 100%);
  border-radius: 2px;
  transition: width 0.4s cubic-bezier(0.4,0,0.2,1);
}

/* ── Question screen ───────────────────────────────────────────────────── */

.ntq-q-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.ntq-q-count {
  font-size: 0.78rem;
  color: var(--nt-text-dim);
  font-weight: 500;
}

.ntq-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  color: var(--nt-text-muted);
  font-size: 0.85rem;
  font-family: var(--nt-font-body);
  font-weight: 500;
  cursor: pointer;
  padding: 6px 10px;
  margin: -6px -10px;
  border-radius: 8px;
  transition: color 0.2s ease, background 0.2s ease;
}
.ntq-back:hover {
  color: var(--nt-text);
  background: rgba(255,255,255,0.06);
}

.ntq-q-text {
  font-size: clamp(1.2rem, 3vw, 1.45rem) !important;
  font-weight: 700 !important;
  color: var(--nt-text) !important;
  margin: 0 0 1.5rem !important;
  line-height: 1.35 !important;
}

/* ── Answer options ────────────────────────────────────────────────────── */

.ntq-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ntq-option {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  background: rgba(18,18,58,0.5);
  border: 1.5px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 15px 18px;
  cursor: pointer;
  text-align: left;
  font-family: var(--nt-font-body);
  font-size: 0.93rem;
  color: var(--nt-text);
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.ntq-option:hover {
  border-color: rgba(79,142,247,0.30);
  background: rgba(79,142,247,0.05);
  transform: translateX(4px);
}
.ntq-option.ntq-selected {
  border-color: var(--nt-primary);
  background: rgba(79,142,247,0.08);
  box-shadow: 0 0 0 1px rgba(79,142,247,0.15), 0 4px 16px rgba(79,142,247,0.12);
}

.ntq-option:focus-visible {
  outline: 2px solid var(--nt-primary);
  outline-offset: 2px;
}

/* Radio dot indicator */
.ntq-option-dot {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.ntq-option.ntq-selected .ntq-option-dot {
  border-color: var(--nt-primary);
  box-shadow: 0 0 8px rgba(79,142,247,0.3);
}
.ntq-option-dot-fill {
  width: 0;
  height: 0;
  border-radius: 50%;
  background: var(--nt-primary);
  transition: width 0.15s ease, height 0.15s ease;
}
.ntq-option.ntq-selected .ntq-option-dot-fill {
  width: 10px;
  height: 10px;
}

.ntq-option-label {
  line-height: 1.45;
}

/* ── Teaser screen ─────────────────────────────────────────────────────── */

.ntq-teaser {
  text-align: center;
}

.ntq-teaser-top {
  margin-bottom: 1.5rem;
}

.ntq-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(79,142,247,0.12);
  color: var(--nt-primary);
  margin-bottom: 1rem;
}

.ntq-teaser-h {
  font-size: clamp(1.4rem, 3.5vw, 1.85rem) !important;
  font-weight: 800 !important;
  color: var(--nt-text) !important;
  margin: 0 0 0.6rem !important;
  line-height: 1.2 !important;
}

.ntq-teaser-sub {
  font-size: 0.93rem;
  color: var(--nt-text-muted);
  line-height: 1.6;
  max-width: 400px;
  margin: 0 auto;
}

/* Blurred preview */
.ntq-preview {
  position: relative;
  padding: 2rem 1.5rem 1.5rem;
  margin: 0 -0.5rem 0;
  border-radius: 16px;
  background: rgba(7,7,20,0.6);
  overflow: hidden;
  filter: blur(10px);
  opacity: 0.45;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
  margin-bottom: -2rem;
}
.ntq-preview-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.ntq-preview-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  margin: 0 auto 0.75rem;
}
.ntq-preview-name {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--nt-text);
  margin-bottom: 0.25rem;
}
.ntq-preview-tagline {
  font-size: 0.9rem;
  color: var(--nt-text-muted);
}

/* Gate overlay */
.ntq-gate {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, transparent 0%, rgba(13,13,38,0.98) 30%);
  padding: 2.5rem 0 0;
}

/* ── Form ──────────────────────────────────────────────────────────────── */

.ntq-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 360px;
  margin: 0 auto;
}

.ntq-input-wrap {
  position: relative;
}

.ntq-input {
  width: 100%;
  background: rgba(255,255,255,0.05);
  border: 1.5px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  padding: 15px 18px;
  font-family: var(--nt-font-body);
  font-size: 1rem;
  color: var(--nt-text);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}
.ntq-input::placeholder {
  color: var(--nt-text-dim);
}
.ntq-input:focus {
  border-color: var(--nt-primary);
  box-shadow: 0 0 0 3px rgba(79,142,247,0.18);
}

.ntq-error {
  color: #f97316;
  font-size: 0.82rem;
  margin: 0;
  text-align: left;
}

.ntq-trust {
  font-size: 0.75rem;
  color: var(--nt-text-dim);
  line-height: 1.5;
  margin: 0.75rem auto 0;
  max-width: 300px;
}

/* Loading spinner */
.ntq-loading {
  opacity: 0.7;
  cursor: wait;
  pointer-events: none;
}
.ntq-spinner {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2.5px solid rgba(255,255,255,0.25);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: ntq-spin 0.6s linear infinite;
  margin-right: 8px;
  vertical-align: middle;
}
@keyframes ntq-spin {
  to { transform: rotate(360deg); }
}

/* ── Result screen ─────────────────────────────────────────────────────── */

.ntq-result {
  text-align: center;
}

/* ── Check your email confirmation screen ──────────────────────────────── */

.ntq-result-email {
  text-align: center;
}

.ntq-email-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(79,142,247,0.10);
  color: var(--nt-primary);
  margin-bottom: 1.5rem;
}

.ntq-email-title {
  font-size: clamp(1.5rem, 4vw, 2rem) !important;
  font-weight: 800 !important;
  color: var(--nt-text) !important;
  margin: 0 0 0.75rem !important;
  line-height: 1.2 !important;
}

.ntq-email-subtitle {
  font-size: 1rem;
  color: var(--nt-text-muted);
  line-height: 1.6;
  margin: 0 0 1rem;
}
.ntq-email-subtitle strong {
  color: var(--nt-text);
  font-weight: 600;
}

.ntq-email-body {
  font-size: 0.93rem;
  color: var(--nt-text-muted);
  line-height: 1.65;
  margin: 0 0 1.75rem;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}

.ntq-email-tips {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 1rem;
}
.ntq-email-tip {
  font-size: 0.82rem;
  color: var(--nt-text-dim);
  margin: 0;
  line-height: 1.5;
}
.ntq-email-tip strong {
  color: var(--nt-text-muted);
}

.ntq-retake {
  display: inline-block;
  background: none;
  border: none;
  color: var(--nt-text-dim);
  font-family: var(--nt-font-body);
  font-size: 0.78rem;
  cursor: pointer;
  padding: 8px 12px;
  margin-top: 0.5rem;
  transition: color 0.2s ease;
}
.ntq-retake:hover {
  color: var(--nt-text-muted);
}

/* ── Reduced motion ────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .ntq-enter { opacity: 1; transform: none; }
  .ntq-screen { transition: none; }
  .ntq-option:hover { transform: none; }
  .ntq-dot:hover { transform: none; }
  .ntq-progress-fill { transition: none; }
  .ntq-spinner { animation: none; }
}

/* ── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 600px) {
  #nt-quiz {
    padding: 2rem 0.75rem 3rem !important;
  }

  .ntq-intro,
  .ntq-question,
  .ntq-teaser,
  .ntq-result {
    border-radius: 20px;
    padding: 2rem 1.25rem;
  }

  .ntq-option {
    padding: 13px 14px;
    gap: 12px;
    font-size: 0.88rem;
  }

  .ntq-dots {
    gap: 12px;
  }
  .ntq-chip-avatar {
    width: 40px;
    height: 40px;
  }
  .ntq-chip-emoji {
    font-size: 1.15rem;
  }
  .ntq-chip-name {
    font-size: 0.65rem;
  }

  .ntq-result-card {
    padding: 1.5rem 1.25rem;
  }

  .ntq-btn-glow,
  .ntq-btn-coach {
    padding: 14px 28px;
    font-size: 0.95rem;
  }
}

@media (max-width: 380px) {
  .ntq-intro,
  .ntq-question,
  .ntq-teaser,
  .ntq-result {
    padding: 1.5rem 1rem;
    border-radius: 16px;
  }
}

/* ==========================================================================
   GLOBAL PAGE FIXES v4.8.0
   Hero H2 margins, section gaps, full-width backgrounds
   ========================================================================== */

/* --- HERO H2: Kill the 2.5em margin on first heading in hero banners --- */
.page-template-page-wide .entry-content h2:first-of-type,
.nt-section-0 h2:first-child,
.entry-content > .wp-block-group:first-child h2:first-of-type,
.entry-content > .wp-block-group.alignfull:first-of-type h2:first-of-type,
.entry-content > main h2:first-of-type {
  margin-top: 0.5em !important;
}

/* --- SECTION GAPS: Zero all direct children gaps on wide pages --- */
.page-template-page-wide .entry-content > *,
.page-template-page-wide .wp-block-post-content > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* --- EMPTY PARAGRAPHS: Hide WordPress spacer comments between sections --- */
.page-template-page-wide .entry-content > p:empty,
.page-template-page-wide .wp-block-post-content > p:empty {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Also hide p tags that only contain HTML comments */
.page-template-page-wide .entry-content > p {
  display: none !important;
}

/* --- FULL-WIDTH BACKGROUNDS: Card row sections fill viewport --- */
.nt-card-row.alignfull,
.page-template-page-wide .nt-section.alignfull {
  max-width: none !important;
  width: 100% !important;
}

.nt-card-row.alignfull > * {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- MAIN BLOCK GAP: Zero gap between top-level main children --- */
main.wp-block-group > .wp-block-group.alignfull,
main.wp-block-group > .entry-content,
main.wp-block-group > .wp-block-post-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* --- FOOTER: Compact spacing --- */
footer .wp-block-group:not(.saaslauncher-footer),
footer.wp-block-template-part .wp-block-group:not(.saaslauncher-footer) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

footer .saaslauncher-footer,
footer.wp-block-template-part .saaslauncher-footer {
  padding-top: 32px !important;
  padding-bottom: 20px !important;
}

footer > .wp-block-group > .wp-block-group:nth-child(2) {
  padding-top: 16px !important;
  padding-bottom: 12px !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}

footer > .wp-block-group {
  padding-bottom: 12px !important;
}

/* --- COMPARISON GRID: Homepage tracking vs coaching --- */
.nt-comparison-grid {
  max-width: 900px !important;
  margin: 0 auto !important;
  box-shadow: 0 4px 32px rgba(0,0,0,0.3) !important;
}

@media (max-width: 640px) {
  .nt-comparison-grid {
    grid-template-columns: 1fr !important;
  }
  .nt-comparison-grid > div:first-child {
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
}

/* --- PRICING PAGE: Empty p tags outside main --- */
.page-id-1899 .entry-content > p {
  display: none !important;
}

/* --- ABOUT PAGE: Constrain images --- */
.page-id-1950 .entry-content img {
  max-width: 100% !important;
  height: auto !important;
}

.page-id-1950 .entry-content .wp-block-image {
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ==========================================================================
   PRICING PAGE HERO — Match aurora gradient from other pages
   The pricing page wraps content in <main>, so the standard
   .entry-content > .wp-block-group.alignfull:first-child selector misses it.
   ========================================================================== */

.page-id-1899 .entry-content main > .wp-block-group.alignfull:first-of-type {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(165deg, #070714 0%, #0c1a3a 20%, #1a0e42 45%, #0d2847 65%, #070714 100%) !important;
}

.page-id-1899 .entry-content main > .wp-block-group.alignfull:first-of-type::before {
  content: "" !important;
  position: absolute !important;
  top: -30% !important; left: -10% !important; width: 120% !important; height: 100% !important;
  background: radial-gradient(ellipse at 30% 50%, rgba(79,142,247,0.15) 0%, transparent 55%),
              radial-gradient(ellipse at 70% 30%, rgba(139,92,246,0.12) 0%, transparent 50%),
              radial-gradient(ellipse at 50% 80%, rgba(99,102,241,0.08) 0%, transparent 45%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
  animation: ntAuroraShift 12s ease-in-out infinite alternate !important;
}

.page-id-1899 .entry-content main > .wp-block-group.alignfull:first-of-type::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,0.4) 50%, transparent 100%),
    radial-gradient(1px 1px at 25% 45%, rgba(255,255,255,0.3) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 40% 15%, rgba(255,255,255,0.5) 50%, transparent 100%),
    radial-gradient(1px 1px at 55% 65%, rgba(255,255,255,0.25) 50%, transparent 100%),
    radial-gradient(1px 1px at 70% 30%, rgba(255,255,255,0.35) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 85% 55%, rgba(255,255,255,0.45) 50%, transparent 100%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
  animation: ntStarTwinkle 8s ease-in-out infinite alternate !important;
}

.page-id-1899 .entry-content main > .wp-block-group.alignfull:first-of-type > * {
  position: relative !important;
  z-index: 1 !important;
}

/* ==========================================================================
   PRICING PAGE — Kill gaps between sections inside <main> wrapper
   ========================================================================== */

.page-id-1899 .entry-content main > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.page-id-1899 .entry-content main > p {
  display: none !important;
}

/* Generic: any page-wide template with main wrapper */
.page-template-page-wide .entry-content main > *,
.page-template-page-wide .entry-content > main > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.page-template-page-wide .entry-content main > p:empty,
.page-template-page-wide .entry-content > main > p:empty,
.page-template-page-wide .entry-content main > p {
  display: none !important;
}
