/* NeuroCombat Academy — carrossel de cursos. Prefixo nc- isolado. */
.nc-upcoming .section-header{margin-bottom:32px}
.nc-carousel{--nc-gap:24px;--nc-visible:3;min-width:0}
.nc-carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.nc-carousel-status{color:var(--text-muted);font-size:.9rem;line-height:1.5}
.nc-carousel-controls{display:flex;gap:10px;flex-shrink:0}
.nc-carousel-arrow{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(212,175,55,.35);border-radius:50%;background:rgba(255,255,255,.04);color:var(--text-light);cursor:pointer;transition:var(--transition-smooth)}
.nc-carousel-arrow:hover:not(:disabled),.nc-carousel-arrow:focus-visible{background:var(--orange);border-color:var(--orange);color:#fff}
.nc-carousel-arrow:focus-visible,.nc-carousel-dots button:focus-visible,.nc-carousel-viewport:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.nc-carousel-arrow:disabled{opacity:.35;cursor:not-allowed}
.nc-carousel-viewport{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--orange) rgba(255,255,255,.06);padding:4px 2px 18px;-webkit-overflow-scrolling:touch}
.nc-carousel-viewport::-webkit-scrollbar{height:6px}.nc-carousel-viewport::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:10px}.nc-carousel-viewport::-webkit-scrollbar-thumb{background:var(--orange);border-radius:10px}
.nc-carousel-track{display:flex;align-items:stretch;gap:var(--nc-gap)}
.nc-carousel .nc-slide{flex:0 0 calc((100% - (var(--nc-gap)*(var(--nc-visible) - 1)))/var(--nc-visible));min-width:0;scroll-snap-align:start;height:auto;display:flex;flex-direction:column}
.nc-carousel .nc-slide .curso-image{flex-shrink:0}.nc-carousel .nc-slide .curso-image img{display:block}
.nc-carousel .nc-slide .curso-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.nc-carousel .nc-slide .curso-info h3{color:var(--text-light);font-family:'Bebas Neue',sans-serif;font-size:1.45rem;line-height:1.2;margin:0}
.nc-carousel .nc-slide .curso-info p{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin:0}
.nc-course-category{display:inline-flex;align-items:center;margin-top:auto;padding-top:8px;color:var(--gold);font-size:.75rem;font-weight:600;letter-spacing:.04em}
.nc-carousel-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}.nc-carousel-dots{display:flex;align-items:center;gap:8px}
.nc-carousel-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(241,245,249,.3);cursor:pointer;transition:transform .2s ease,background .2s ease}
.nc-carousel-dots button[aria-current=true]{background:var(--orange);transform:scale(1.25)}
.nc-carousel-hint{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.75rem}
@media(max-width:992px){.nc-carousel{--nc-visible:2;--nc-gap:20px}}
@media(max-width:600px){.nc-carousel{--nc-visible:1;--nc-gap:16px}.nc-carousel-toolbar{align-items:center}.nc-carousel-arrow{width:40px;height:40px}.nc-carousel .nc-slide .curso-info{padding:18px 20px 22px}.nc-carousel .nc-slide .curso-info h3{font-size:1.35rem}.nc-carousel .nc-slide .curso-info p{font-size:.9rem}.nc-carousel-footer{align-items:flex-start}.nc-carousel-hint{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.nc-carousel-viewport{scroll-behavior:auto}.nc-carousel-arrow,.nc-carousel-dots button{transition:none}}


/* Diagnóstico visual discreto caso um arquivo de imagem falhe ao carregar. */
.nc-carousel .curso-image.nc-image-missing {
  background: radial-gradient(circle at 50% 35%, #263653 0%, #0A0F1E 75%);
}
.nc-carousel .curso-image.nc-image-missing::before {
  content: 'NEUROCOMBAT ACADEMY';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: rgba(241,245,249,.75);
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.4rem;
  letter-spacing: .12em;
  text-align: center;
  z-index: 1;
}
.nc-carousel .curso-image.nc-image-missing img { display: none; }
