:root {
  --vgc-blue-50: #eff6ff;
  --vgc-blue-100: #dbeafe;
  --vgc-blue-300: #93c5fd;
  --vgc-blue-700: #1d4ed8;
  --vgc-sky-50: #f3f8ff;
  --vgc-sky-100: #e8f1ff;
  --vgc-teal-50: #f0fdfa;
  --vgc-teal-100: #ccfbf1;
  --vgc-teal-600: #0d9488;
  --vgc-mint-50: #f2fdf8;
  --vgc-mint-100: #def7ec;
  --vgc-amber-50: #fffbeb;
  --vgc-amber-100: #fef3c7;
  --vgc-amber-300: #fcd34d;
  --vgc-amber-700: #b45309;
  --vgc-slate-50: #f8fafc;
  --vgc-slate-100: #f1f5f9;
  --vgc-slate-200: #e2e8f0;
}

/* Better contrast for main cards */
.cons-card,
.pkg-card,
.fn-card,
.fx-card,
.sg-card,
.np-card,
.nc-card,
.cb-card {
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.06) !important;
}

/* Section heading clarity */
.cons-block-head,
.pkg-h2,
.fn-h2,
.fx-h2,
.sg-h2,
.np-h2,
.nc-h2,
.cb-h2 {
  background: linear-gradient(90deg, var(--vgc-blue-50), #ffffff 72%) !important;
  border-left: 4px solid var(--vgc-blue-300) !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
}

/* Emotional/concern cards highlighted softly */
.sg-emotional .box,
.np-emotional .box,
.nc-emotional .box,
.cb-emotional .box,
.cons-trigger,
.cons-need-card {
  background: linear-gradient(180deg, var(--vgc-sky-50), var(--vgc-mint-50)) !important;
  border-color: var(--vgc-sky-100) !important;
}

/* Recommendation/question blocks */
.cons-home-quiz,
.sg-quiz,
.np-quiz,
.nc-quiz,
.cb-quiz {
  background: linear-gradient(180deg, var(--vgc-amber-50), #ffffff) !important;
  border-color: var(--vgc-amber-300) !important;
}

/* Trust areas */
.cons-trust-item,
.pkg-chip,
.sg-chip,
.np-chip,
.nc-chip,
.cb-chip,
.fn-note {
  background: linear-gradient(180deg, var(--vgc-teal-50), #ffffff) !important;
  border-color: var(--vgc-teal-100) !important;
}

/* Comparison table headers */
.cons-table th,
.sg-table th,
.np-table th,
.nc-table th,
.cb-table th,
.pkg-table th,
.fn-table th {
  background: linear-gradient(180deg, var(--vgc-blue-100), #eef4ff) !important;
  color: #0f172a !important;
}

/* Table containers */
.cons-table-wrap,
.sg-table-wrap,
.np-table-wrap,
.nc-table-wrap,
.cb-table-wrap {
  border-color: var(--vgc-blue-300) !important;
  box-shadow: 0 4px 14px rgba(30, 64, 175, 0.08) !important;
}

/* Package card tier clarity */
.sg-pack,
.np-pack,
.nc-pack,
.cb-pack,
.cons-pack-card,
.fn-pcard,
.pkg-box {
  background: linear-gradient(180deg, #ffffff, var(--vgc-slate-50)) !important;
}

.sg-pack.reco,
.np-pack.reco,
.nc-pack.reco,
.cb-pack.reco,
.cons-pack-card.is-recommended {
  background: linear-gradient(180deg, var(--vgc-blue-50), #ffffff) !important;
  border-color: var(--vgc-blue-300) !important;
}

.sg-pack.sig,
.np-pack.sig,
.nc-pack.sig,
.cb-pack.sig,
.cons-pack-card.is-signature {
  background: linear-gradient(180deg, var(--vgc-amber-50), #ffffff) !important;
  border-color: var(--vgc-amber-300) !important;
}

/* FAQ readability */
.pkg-faq,
.fn-faq,
.fx-faq,
.sg-faq,
.np-faq,
.nc-faq,
.cb-faq {
  background: linear-gradient(180deg, var(--vgc-slate-50), #ffffff) !important;
  border-color: var(--vgc-slate-200) !important;
}

/* Story/highlight blocks */
.fn-story,
.np-core,
.np-note,
.np-upgrade,
.np-signature,
.nc-signature,
.cb-signature,
.pkg-panel {
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
}

/* CTA contrast polish */
.cons-btn.primary,
.pkg-btn.primary,
.fn-btn.primary,
.fx-btn.primary,
.sg-btn.primary,
.np-btn.primary,
.nc-btn.primary,
.cb-btn.primary {
  background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
}

.cons-btn.alt,
.pkg-btn.alt,
.fn-btn.alt,
.fx-btn.alt,
.sg-btn.alt,
.np-btn.alt,
.nc-btn.alt,
.cb-btn.alt {
  background: linear-gradient(135deg, #166534, #15803d) !important;
}

/* Unified consultation button system */
:root {
  --vgc-btn-primary-bg: #1a1a1a;
  --vgc-btn-primary-bg-hover: #333333;
  --vgc-btn-secondary-bg: #ffffff;
  --vgc-btn-secondary-border: #1a1a1a;
  --vgc-btn-secondary-hover: #f5f5f5;
  --vgc-btn-ghost-text: #555555;
  --vgc-btn-ghost-hover: #111111;
  --vgc-btn-radius: 8px;
  --vgc-btn-text-size: 15px;
}

.cons-btn,
.pkg-btn,
.fn-btn,
.fx-btn,
.sg-btn,
.np-btn,
.nc-btn,
.cb-btn,
.hc-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 12px 22px !important;
  font-size: var(--vgc-btn-text-size) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  border-radius: var(--vgc-btn-radius) !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.cons-btn.primary,
.pkg-btn.primary,
.fn-btn.primary,
.fx-btn.primary,
.sg-btn.primary,
.np-btn.primary,
.nc-btn.primary,
.cb-btn.primary,
.hc-btn.primary {
  background: var(--vgc-btn-primary-bg) !important;
  color: #ffffff !important;
  border-color: var(--vgc-btn-primary-bg) !important;
  box-shadow: none !important;
}

.cons-btn.primary:hover,
.pkg-btn.primary:hover,
.fn-btn.primary:hover,
.fx-btn.primary:hover,
.sg-btn.primary:hover,
.np-btn.primary:hover,
.nc-btn.primary:hover,
.cb-btn.primary:hover,
.hc-btn.primary:hover {
  background: var(--vgc-btn-primary-bg-hover) !important;
  border-color: var(--vgc-btn-primary-bg-hover) !important;
}

.cons-btn.ghost,
.pkg-btn.ghost,
.fn-btn.ghost,
.fx-btn.ghost,
.sg-btn.ghost,
.np-btn.ghost,
.nc-btn.ghost,
.cb-btn.ghost,
.hc-btn.ghost {
  background: var(--vgc-btn-secondary-bg) !important;
  color: #1a1a1a !important;
  border-color: var(--vgc-btn-secondary-border) !important;
}

.cons-btn.ghost:hover,
.pkg-btn.ghost:hover,
.fn-btn.ghost:hover,
.fx-btn.ghost:hover,
.sg-btn.ghost:hover,
.np-btn.ghost:hover,
.nc-btn.ghost:hover,
.cb-btn.ghost:hover,
.hc-btn.ghost:hover {
  background: var(--vgc-btn-secondary-hover) !important;
}

.cons-btn.alt,
.pkg-btn.alt,
.fn-btn.alt,
.fx-btn.alt,
.sg-btn.alt,
.np-btn.alt,
.nc-btn.alt,
.cb-btn.alt,
.hc-btn.alt {
  color: #ffffff !important;
  border-color: #166534 !important;
}

.cons-btn:focus-visible,
.pkg-btn:focus-visible,
.fn-btn:focus-visible,
.fx-btn:focus-visible,
.sg-btn:focus-visible,
.np-btn:focus-visible,
.nc-btn:focus-visible,
.cb-btn:focus-visible,
.hc-btn:focus-visible {
  outline: 2px solid #2563eb !important;
  outline-offset: 2px !important;
}

.cons-cta-row,
.cons-card-actions,
.pkg-cta,
.fn-cta,
.fx-cta,
.sg-cta,
.np-cta,
.nc-cta,
.cb-cta,
.hc-cta,
.hc-actions,
.btn-group {
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.badge-highlight,
.sg-badge,
.np-badge,
.nc-badge,
.cb-badge,
.cons-pack-card.is-recommended .cons-for strong,
.cons-pack-card.is-signature .cons-for strong,
.hc-pack.recommended .hc-for strong,
.hc-pack.signature .hc-for strong {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  background: #f2e6c9 !important;
  color: #7a5c00 !important;
  border: 1px solid #ead8a4 !important;
}

@media (max-width: 600px) {
  .cons-card-actions .cons-btn,
  .pkg-cta .pkg-btn,
  .fn-pack .fn-btn,
  .fx-cta .fx-btn,
  .sg-cta .sg-btn,
  .np-cta .np-btn,
  .nc-cta .nc-btn,
  .cb-cta .cb-btn,
  .hc-actions .hc-btn {
    width: 100% !important;
  }
}
