/* ============ PREMIUM POLISH LAYER ============ */

/* 1. Softer, deeper card shadows; reduce border reliance */
.nh-cond-card, .nh-prog-card, .nh-case-card, .nh-rv-card,
.nh-pain-card, .cert-item, .nh-yt-card, .nh-quiz-card {
  border-color: rgba(232,228,220,.6);
}
.nh-cond-card:hover, .nh-yt-card:hover {
  box-shadow: 0 24px 60px rgba(27,67,50,.10);
  border-color: transparent;
}
.nh-prog-card:hover {
  box-shadow: 0 28px 70px rgba(27,67,50,.14);
}

/* 2. Button micro-interactions: arrow slide + refined lift */
.nh-btn-primary, .nh-btn-wa, .nh-btn-outline, .btn {
  transition: transform .28s cubic-bezier(.22,.68,.4,1), box-shadow .28s ease, background .28s ease;
}
.nh-btn-primary:hover, .btn-forest:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(27,67,50,.28);
}
.nh-btn-primary:active, .btn:active { transform: translateY(0) scale(.98); }
a[class*="btn"] { position: relative; }

/* 3. Section rhythm: more breathing room on desktop */
@media (min-width: 1024px) {
  .nh-pain, .nh-method, .nh-conditions, .nh-myths,
  .nh-doctor, .nh-proof, .nh-programs, .nh-faq, .nh-funnel {
    padding-top: 108px;
    padding-bottom: 108px;
  }
}

/* 4. Review card polish: clamp long text, avatar rings */
.nh-rv-text {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rv-av { border: 2px solid var(--gold, #C9A84C); background: rgba(27,67,50,.9); }

/* 5. Headline refinement: tighter tracking on serif display sizes */
.nh-h1, .sec-title, .nh-pain-head h2, .nh-sec-head h2 {
  letter-spacing: -0.4px;
}

/* 6. Image hover: subtle scale on photo frames */
.nh-photo-frame img, .nh-yt-thumb-img {
  transition: transform .8s cubic-bezier(.22,.68,.4,1);
}
.nh-yt-card:hover .nh-yt-thumb-img { transform: scale(1.05); }

/* 7. Focus states for accessibility + premium feel */
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--gold, #C9A84C);
  outline-offset: 3px;
  border-radius: 4px;
}

/* 8. Gold keyline frame on hero portrait */
.nh-photo-frame { position: relative; }
.nh-photo-frame::after {
  content: '';
  position: absolute;
  inset: -12px;
  border: 1px solid rgba(201,168,76,.45);
  border-radius: 28px;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 768px) { .nh-photo-frame::after { display: none; } }

/* 9. Smooth counter rendering */
.nhp-n, .nh-rrc-num, .nh-rb-num, .dcb-n, .hs-n {
  font-variant-numeric: tabular-nums;
}

/* 10. Selection colour — tiny detail, premium tell */
::selection { background: rgba(201,168,76,.3); color: #1B4332; }

/* ============ SVG ICON SYSTEM (emoji replacement) ============ */
.pv-ic { display: inline-block; vertical-align: middle; }
.nh-cc-icon .pv-ic { width: 30px; height: 30px; color: var(--forest, #1B4332); }
.nh-cc-icon { display: flex !important; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 14px; background: rgba(27,67,50,.07);
  margin-bottom: 12px; transition: background .3s, color .3s; }
.nh-cond-card:hover .nh-cc-icon { background: var(--forest, #1B4332); }
.nh-cond-card:hover .nh-cc-icon .pv-ic { color: var(--gold, #C9A84C); }
.nh-fast-pill .pv-ic { width: 20px; height: 20px; color: #F0D080; flex-shrink: 0; }
.nh-ct-icon .pv-ic { width: 36px; height: 36px; color: var(--forest, #1B4332); }
.nh-dcl-icon .pv-ic { width: 20px; height: 20px; color: var(--gold, #C9A84C); }
.nh-rrc-icon .pv-ic { width: 28px; height: 28px; color: #C9A84C; }
