/* MartinsCode v44 — cards da home no mesmo padrão das páginas internas */

.nx-home{
  --nx-home-card-bg: #0d1119;
  --nx-home-card-bg-2: #0f1420;
  --nx-home-card-bg-3: #111726;
  --nx-home-card-border: rgba(255,255,255,.08);
  --nx-home-card-shadow: 0 18px 48px rgba(0,0,0,.18);
}
html[data-theme="light"] .nx-home{
  --nx-home-card-bg: #ffffff;
  --nx-home-card-bg-2: #fbfbfe;
  --nx-home-card-bg-3: #f7f8fd;
  --nx-home-card-border: rgba(37,29,61,.10);
  --nx-home-card-shadow: 0 16px 40px rgba(31,22,58,.07);
}

/* Base dos cards */
.nx-card,
.nx-service-card,
.nx-score-panel,
.nx-process-grid article,
.nx-home-plan,
.nx-accordion details{
  position:relative;
  overflow:hidden;
  border:1px solid var(--nx-home-card-border) !important;
  background:var(--nx-home-card-bg) !important;
  box-shadow:var(--nx-home-card-shadow) !important;
}
.nx-card::before,
.nx-service-card::before,
.nx-score-panel::before,
.nx-process-grid article::before,
.nx-home-plan::before,
.nx-accordion details::before{
  content:"";
  position:absolute;
  left:28px;
  top:0;
  width:76px;
  height:3px;
  border-radius:999px;
  background:var(--nx-grad);
  opacity:.95;
}
.nx-card:hover,
.nx-service-card:hover,
.nx-score-panel:hover,
.nx-process-grid article:hover,
.nx-home-plan:hover,
.nx-accordion details:hover{
  transform:translateY(-6px);
  border-color:rgba(132,95,255,.34) !important;
  background:var(--nx-home-card-bg-2) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.22) !important;
}
html[data-theme="light"] .nx-card:hover,
html[data-theme="light"] .nx-service-card:hover,
html[data-theme="light"] .nx-score-panel:hover,
html[data-theme="light"] .nx-process-grid article:hover,
html[data-theme="light"] .nx-home-plan:hover,
html[data-theme="light"] .nx-accordion details:hover{
  box-shadow:0 22px 52px rgba(31,22,58,.10) !important;
}

/* Prova / serviços */
.nx-proof-grid,
.nx-service-grid,
.nx-home-plan-grid{
  gap:18px !important;
}
.nx-card,
.nx-service-card{
  border-radius:22px !important;
  background:var(--nx-home-card-bg) !important;
  box-shadow:var(--nx-home-card-shadow), inset 0 1px 0 rgba(255,255,255,.02) !important;
}
.nx-card{
  min-height:320px !important;
  padding:28px !important;
}
.nx-service-card{
  min-height:320px !important;
  padding:28px !important;
}
.nx-card-icon,
.nx-service-icon{
  width:50px !important;
  height:50px !important;
  border:1px solid rgba(139,92,246,.18) !important;
  border-radius:14px !important;
  background:rgba(126,86,255,.14) !important;
  color:#c0a7ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.nx-card h3,
.nx-service-card h3{
  margin:42px 0 12px !important;
  color:var(--nx-text) !important;
  font-size:26px !important;
  letter-spacing:-.03em !important;
}
.nx-card p,
.nx-service-card p{
  color:var(--nx-copy) !important;
  font-size:13px !important;
  line-height:1.78 !important;
}
.nx-card small,
.nx-service-top small{
  color:var(--nx-muted) !important;
}
.nx-card small{
  position:absolute !important;
  left:28px !important;
  bottom:24px !important;
}
.nx-service-card a{
  left:28px !important;
  right:28px !important;
  bottom:24px !important;
  min-height:46px !important;
  padding-top:16px !important;
  border-top:1px solid var(--nx-home-card-border) !important;
  color:var(--nx-text) !important;
}
html[data-theme="light"] .nx-service-card a{
  border-top-color:rgba(37,29,61,.10) !important;
}
.nx-service-card a span{color:#a78bfa !important}

/* Score / performance */
.nx-score-panel{
  border-radius:24px !important;
  padding:30px !important;
  background:var(--nx-home-card-bg) !important;
}
.nx-score-head span{color:var(--nx-muted) !important}
.nx-score-head b{color:#65d9a1 !important}
.nx-score-ring{
  box-shadow:none !important;
}
.nx-score-ring::before{
  background:var(--nx-home-card-bg) !important;
}
.nx-score-items span{
  color:var(--nx-copy) !important;
}
.nx-score-panel > p{
  color:var(--nx-muted) !important;
}

/* Processo em cards separados */
.nx-process-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  border:0 !important;
}
.nx-process-grid article{
  display:grid !important;
  grid-template-columns:38px 1fr !important;
  gap:16px !important;
  min-height:230px !important;
  padding:28px 24px !important;
  border-right:0 !important;
  border-radius:22px !important;
  background:var(--nx-home-card-bg) !important;
}
.nx-process-grid > article > span{
  color:#a78bfa !important;
  font-size:10px !important;
  font-weight:800 !important;
}
.nx-process-grid h3{
  margin:10px 0 10px !important;
  color:var(--nx-text) !important;
  font-size:24px !important;
  line-height:1.15 !important;
  letter-spacing:-.03em !important;
}
.nx-process-grid p{
  color:var(--nx-copy) !important;
  font-size:13px !important;
  line-height:1.75 !important;
}

/* Planos */
.nx-home-plan{
  min-height:420px !important;
  padding:28px !important;
  border-radius:22px !important;
  background:var(--nx-home-card-bg) !important;
}
.nx-home-plan.featured{
  background:#171c32 !important;
  border-color:rgba(141,110,255,.42) !important;
  box-shadow:0 24px 64px rgba(58,49,170,.18) !important;
}
html[data-theme="light"] .nx-home-plan.featured{
  background:#f6f2ff !important;
  box-shadow:0 20px 50px rgba(73,55,146,.10) !important;
}
.nx-home-plan h3{
  margin:16px 0 12px !important;
  font-size:28px !important;
  color:var(--nx-text) !important;
}
.nx-home-plan > p{
  min-height:68px !important;
  color:var(--nx-copy) !important;
}
.nx-home-plan > div{
  gap:12px !important;
  margin-top:20px !important;
  padding-top:18px !important;
  border-top:1px solid var(--nx-home-card-border) !important;
}
html[data-theme="light"] .nx-home-plan > div{
  border-top-color:rgba(37,29,61,.10) !important;
}
.nx-home-plan > div span{
  color:var(--nx-copy) !important;
}
.nx-home-plan > div i{
  color:#a78bfa !important;
}
.nx-home-plan > a{
  left:28px !important;
  right:28px !important;
  bottom:24px !important;
  min-height:46px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:var(--nx-home-card-bg-2) !important;
  color:var(--nx-text) !important;
}
.nx-home-plan.featured > a{
  border:0 !important;
  background:var(--nx-grad) !important;
  color:#fff !important;
}
.nx-popular{
  top:18px !important;
  right:18px !important;
  border:1px solid rgba(118,240,221,.18) !important;
}

/* FAQ */
.nx-faq-grid{
  align-items:start !important;
}
.nx-accordion{
  border-top:0 !important;
  display:grid !important;
  gap:12px !important;
}
.nx-accordion details{
  border-bottom:0 !important;
  border-radius:18px !important;
  padding:0 22px !important;
  transition:.25s !important;
}
.nx-accordion summary{
  padding:22px 0 !important;
}
.nx-accordion details p{
  margin:0 0 20px !important;
  color:var(--nx-copy) !important;
}

@media (max-width: 1180px){
  .nx-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 860px){
  .nx-proof-grid,
  .nx-service-grid,
  .nx-home-plan-grid,
  .nx-process-grid{
    grid-template-columns:1fr !important;
  }
  .nx-card,
  .nx-service-card,
  .nx-home-plan,
  .nx-score-panel,
  .nx-process-grid article,
  .nx-accordion details{
    border-radius:20px !important;
  }
  .nx-card,
  .nx-service-card,
  .nx-home-plan{
    min-height:0 !important;
    padding:24px !important;
  }
  .nx-card h3,
  .nx-service-card h3,
  .nx-home-plan h3,
  .nx-process-grid h3{
    font-size:24px !important;
  }
  .nx-process-grid article{
    min-height:0 !important;
    padding:24px !important;
  }
  .nx-home-plan > a,
  .nx-service-card a{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    margin-top:22px !important;
  }
  .nx-card small{
    position:relative !important;
    left:auto !important;
    bottom:auto !important;
    display:block !important;
    margin-top:22px !important;
  }
}
