/* Neody Legacy — ultra premium plugin surfaces (Forum / FAQ / Support / Vote) */
.plugin-hero,
.neody-plugin-hero {
  position: relative;
  overflow: hidden;
  margin: 10px 0 28px;
  padding: clamp(28px, 4vw, 58px);
  border: 1px solid var(--nl-line-strong);
  border-radius: 4px;
  background:
    radial-gradient(circle at 78% 16%, rgba(212,160,23,.18), transparent 34%),
    radial-gradient(circle at 12% 100%, rgba(156,42,42,.16), transparent 38%),
    linear-gradient(135deg, rgba(38,31,24,.94), rgba(10,8,5,.96));
  box-shadow: var(--nl-shadow-deep), inset 0 1px 0 rgba(245,232,199,.05);
}
.plugin-hero::before,
.neody-plugin-hero::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(212,160,23,.18);
  pointer-events: none;
}
.plugin-hero::after,
.neody-plugin-hero::after {
  content: "";
  position: absolute;
  right: clamp(22px, 6vw, 92px);
  top: 50%;
  width: min(250px, 28vw);
  aspect-ratio: 1;
  transform: translateY(-50%);
  background: url('/storage/img/neody-legacy-crest.svg') center/contain no-repeat;
  opacity: .13;
  filter: drop-shadow(0 0 30px rgba(212,160,23,.32));
  pointer-events: none;
}
.plugin-hero > *,
.neody-plugin-hero > * { position: relative; z-index: 1; }
.plugin-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  margin-bottom: 14px;
  border: 1px solid rgba(212,160,23,.24);
  background: rgba(10,8,5,.64);
  color: var(--nl-gold-bright);
  font: 800 11px/1 "JetBrains Mono", monospace;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.plugin-title,
.neody-plugin-hero h1,
.plugin-hero h1 {
  max-width: 860px;
  margin: 0;
  color: var(--nl-parchment);
  font-family: "Cinzel", "Trajan Pro", serif;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: clamp(34px, 5vw, 72px);
  line-height: .95;
  text-shadow: 0 4px 24px rgba(0,0,0,.72), 0 0 26px rgba(212,160,23,.12);
}
.plugin-subtitle,
.neody-plugin-hero p,
.plugin-hero p {
  max-width: 760px;
  margin: 18px 0 0;
  color: var(--nl-muted) !important;
  font-size: clamp(14px, 1.4vw, 17px);
  line-height: 1.75;
}
.plugin-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }

.plugin-grid { display:grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 22px; }
.plugin-main { grid-column: span 8; min-width:0; }
.plugin-side { grid-column: span 4; min-width:0; }
.plugin-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--nl-line) !important;
  border-radius: 4px !important;
  background:
    linear-gradient(180deg, rgba(245,232,199,.035), transparent 28%),
    linear-gradient(180deg, rgba(28,24,18,.92), rgba(10,8,5,.95)) !important;
  box-shadow: var(--nl-shadow-deep), inset 0 1px 0 rgba(245,232,199,.04);
}
.plugin-card::before { content:""; display:block; height:1px; background:linear-gradient(90deg, transparent, rgba(212,160,23,.54), transparent); }
.plugin-card-body { padding: clamp(18px, 2vw, 28px); }
.plugin-card-title {
  color: var(--nl-parchment);
  font-family: "Cinzel", serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.plugin-kpi-row { display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-top:18px; }
.plugin-kpi { padding:14px; border:1px solid rgba(212,160,23,.16); background:rgba(10,8,5,.45); }
.plugin-kpi strong { display:block; color:var(--nl-gold-bright); font:800 22px/1 "Cinzel",serif; }
.plugin-kpi span { color:var(--nl-faint); font-size:12px; text-transform:uppercase; letter-spacing:.12em; }

/* Forum */
#forum .forum-intro.card .card-body { padding: clamp(28px, 4vw, 52px) !important; }
#forum .forum-intro .fw-bold { font-family:"Cinzel",serif; text-transform:uppercase; letter-spacing:.08em; color:var(--nl-parchment); }
#forum .forum-wrapper {
  border: 1px solid rgba(212,160,23,.18);
  background:
    radial-gradient(circle at 92% 0%, rgba(212,160,23,.10), transparent 30%),
    linear-gradient(180deg, rgba(28,24,18,.82), rgba(10,8,5,.94)) !important;
  box-shadow: var(--nl-shadow-deep);
}
#forum .forums-parent {
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(212,160,23,.22);
  background: linear-gradient(90deg, rgba(212,160,23,.18), rgba(10,8,5,.3)) !important;
  color: var(--nl-parchment);
}
#forum .forums-parent-title {
  font-family:"Cinzel",serif;
  text-transform:uppercase;
  letter-spacing:.1em;
}
#forum .forums {
  background: transparent !important;
  border-radius: 0 !important;
}
#forum .forum-item {
  align-items:center;
  gap: 14px;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(245,232,199,.055);
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
#forum .forum-item:last-child { border-bottom:0; }
#forum .forum-item:hover { background: rgba(212,160,23,.055); transform: translateX(3px); }
#forum .forum-item-icon {
  width: 46px;
  height: 46px;
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--nl-gold-bright) !important;
  border: 1px solid rgba(212,160,23,.25);
  background: rgba(10,8,5,.62);
  box-shadow: inset 0 0 20px rgba(212,160,23,.06);
}
#forum .forum-item-title a { color:var(--nl-parchment) !important; font-family:"Cinzel",serif; letter-spacing:.04em; }
#forum .forum-item-title a:hover { color:var(--nl-gold-bright) !important; }
#forum .forum-info-number { color:var(--nl-gold-bright); font-family:"Cinzel",serif; font-weight:900; }
#forum .forum-info-text,
#forum .forum-item-description,
#forum .forum-lastest-text2 { color:var(--nl-muted) !important; }
#forum .forum-lastest-profile img,
#forum .online-user img,
#forum .forum-post-profile img { border-color: rgba(212,160,23,.48) !important; box-shadow:0 0 18px rgba(0,0,0,.55); }
#forum .forum-nav { padding:12px 14px; border:1px solid rgba(212,160,23,.15); background:rgba(10,8,5,.45); }
#forum .forum-nav .forum-nav-item { color:var(--nl-muted) !important; }
#forum .forum-nav .forum-nav-item.active,
#forum .forum-nav .forum-nav-item:hover { color:var(--nl-gold-bright) !important; }
#forum .stats .card-body > div { padding:8px 0; border-bottom:1px solid rgba(245,232,199,.055); }
#forum .stats .card-body > div:last-child { border-bottom:0; }

/* FAQ */
#faq-neody .accordion-item,
#faq .accordion-item {
  margin-bottom: 12px;
  border: 1px solid rgba(212,160,23,.18) !important;
  background: rgba(10,8,5,.38) !important;
}
#faq-neody .accordion-button,
#faq .accordion-button {
  color: var(--nl-parchment) !important;
  background: linear-gradient(90deg, rgba(212,160,23,.12), rgba(28,24,18,.8)) !important;
  font-family:"Cinzel",serif;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
#faq-neody .accordion-button:not(.collapsed),
#faq .accordion-button:not(.collapsed) { color:var(--nl-gold-bright) !important; box-shadow:none; }
#faq-neody .accordion-body,
#faq .accordion-body { color:var(--nl-muted); line-height:1.75; background:rgba(10,8,5,.35); }

/* Support */
#support-neody .support-category,
.support-category {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px;
  border:1px solid rgba(212,160,23,.16);
  background:rgba(10,8,5,.42);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
#support-neody .support-category:hover,
.support-category:hover { transform:translateY(-2px); border-color:var(--nl-line-strong); background:rgba(38,31,24,.68); }
.support-category-icon {
  width:54px;height:54px;display:flex;align-items:center;justify-content:center;
  color:var(--nl-gold-bright);border:1px solid rgba(212,160,23,.25);background:rgba(10,8,5,.6);font-size:24px;
}
.support-ticket-row { border-bottom:1px solid rgba(245,232,199,.055); }
.support-ticket-row:last-child { border-bottom:0; }
.support-ticket-row a { color:var(--nl-parchment); font-weight:800; }
.support-ticket-row a:hover { color:var(--nl-gold-bright); }
.support-thread-comment { border-left: 2px solid rgba(212,160,23,.34); }

/* Vote */
#vote.neody-vote .vote-side { position:sticky; top:18px; }
#vote.neody-vote #vote-card { min-height: 220px; }
#vote.neody-vote #vote-card .spinner-parent {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 5;
  align-items: center;
  justify-content: center;
  background: rgba(10,8,5,.72);
  backdrop-filter: blur(3px);
}
#vote.neody-vote #vote-card.voting .spinner-parent { display: flex; }
#vote.neody-vote .vote-site-button {
  min-height: 54px;
  justify-content:space-between;
  border-color: rgba(212,160,23,.38) !important;
  box-shadow: var(--nl-glow-gold);
}
#vote.neody-vote .vote-empty,
.plugin-empty {
  padding: 20px;
  border: 1px dashed rgba(212,160,23,.28);
  background: rgba(10,8,5,.38);
  color: var(--nl-muted);
}
#vote.neody-vote .leaderboard-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-bottom:1px solid rgba(245,232,199,.055);
}
#vote.neody-vote .leaderboard-row:last-child { border-bottom:0; }
#vote.neody-vote .leaderboard-rank { color:var(--nl-gold-bright); font-family:"Cinzel",serif; font-weight:900; min-width:42px; }
#vote.neody-vote .reward { filter: drop-shadow(0 0 14px rgba(212,160,23,.22)); }
#vote-goal .progress { background:rgba(10,8,5,.72) !important; border:1px solid rgba(212,160,23,.22); }
#vote-goal .progress-bar { background:linear-gradient(90deg,var(--nl-gold),var(--nl-crimson)) !important; }

@media (max-width: 991.98px) {
  .plugin-grid { grid-template-columns: 1fr; }
  .plugin-main,
  .plugin-side { grid-column: 1; }
  #vote.neody-vote .vote-side { position: static; }
}
@media (max-width: 767.98px) {
  .plugin-hero,
  .neody-plugin-hero { padding: 24px 18px; }
  .plugin-title,
  .neody-plugin-hero h1,
  .plugin-hero h1 { font-size: clamp(30px, 12vw, 48px); }
  .plugin-kpi-row { grid-template-columns:1fr; }
  #forum .forum-item { align-items:flex-start; padding:16px; }
  .support-category { align-items:flex-start; flex-direction:column; }
}

/* Critical plugin contrast pass — 2026-05-02 */
#forum,
#faq,
#vote,
#support-neody {
  color: var(--nl-parchment) !important;
}
#forum .forums-parent,
#forum .forums-parent-title,
#forum .forums-parent-description,
#forum .card-header,
#forum .card-header *,
#forum .forum-wrapper .card-header,
#forum .forum-wrapper .card-header * {
  color: var(--nl-parchment) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.62);
}
#forum .forums-parent {
  background: linear-gradient(90deg, rgba(38,31,24,.98), rgba(10,8,5,.94)) !important;
  border-top: 1px solid rgba(212,160,23,.34) !important;
  border-bottom: 1px solid rgba(212,160,23,.28) !important;
}
#forum .forums-parent-description {
  opacity: 1 !important;
  color: var(--nl-muted) !important;
}
#forum .forum-item,
#forum .forum-item *,
#forum .discussion-row,
#forum .discussion-row *,
#forum .card,
#forum .card * {
  color: var(--nl-parchment);
}
#forum .forum-item-description,
#forum .forum-info-text,
#forum .forum-lastest-text2,
#forum .forum-post-date,
#forum .forum-nav .forum-nav-item {
  color: var(--nl-muted) !important;
}
#forum .forum-info-number,
#forum .leaderboard-rank,
#forum .forum-item-icon {
  color: var(--nl-gold-readable) !important;
}
#vote.neody-vote .btn-gradient,
#vote.neody-vote .btn-primary,
#vote.neody-vote .vote-site-button {
  color: var(--nl-ink-on-gold) !important;
}
#vote.neody-vote .btn-gradient *,
#vote.neody-vote .btn-primary *,
#vote.neody-vote .vote-site-button * {
  color: inherit !important;
}
#vote.neody-vote .plugin-card,
#vote.neody-vote .plugin-card *,
#faq-neody .plugin-card,
#faq-neody .plugin-card * {
  color: var(--nl-parchment);
}
#vote.neody-vote .plugin-empty,
#vote.neody-vote .leaderboard-row,
#vote.neody-vote .leaderboard-row *,
#vote.neody-vote .reward-name,
#vote.neody-vote .text-muted {
  color: var(--nl-muted) !important;
}

/* Critical plugin contrast pass 2 */
#vote.neody-vote .btn-gradient,
#vote.neody-vote .btn-primary,
#forum .btn-gradient,
#forum .btn-primary,
#support-neody .btn-gradient,
#support-neody .btn-primary {
  background-color: var(--nl-gold-bright) !important;
  background-image: linear-gradient(180deg, rgba(255,246,204,.92), rgba(232,183,48,.94) 42%, rgba(138,104,16,.98)) !important;
  color: #090603 !important;
  border-color: rgba(255,236,180,.72) !important;
}
#vote.neody-vote .btn-gradient *,
#vote.neody-vote .btn-primary *,
#forum .btn-gradient *,
#forum .btn-primary *,
#support-neody .btn-gradient *,
#support-neody .btn-primary * {
  color: inherit !important;
}
#ranks .rank .face2,
#ranks .rank .face2 *,
#ranks .rank .number,
#ranks .rank .number * {
  color: #090603 !important;
  text-shadow: 0 1px 0 rgba(255,246,204,.45) !important;
}
