/* ═══════════════════════════════════════════════════════════
   BİLİŞİMCİ HOCAM — NASIL ÇALIŞIR — TAM SAYFA SLIDER
   Scroll yok, ok navigasyonu, smooth geçiş animasyonları
   ═══════════════════════════════════════════════════════════ */

/* Body tam ekran — scroll yok */
html.nc-slider-mod-html {
  min-height: 100%;
  background: var(--bg1);
}

body.nc-slider-mod {
  overflow: hidden !important;
  height: 100vh !important;
  height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  /* iOS safe area padding */
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  /* body core padding sıfırla */
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ─── Slider Sarıcı ─────────────────────────────────────────── */
.nc-slider-wrap {
  flex: 1;
  min-height: calc(100dvh - var(--bh-header-h, 72px));
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: stretch;
}

/* Arka plan ambient orb'lar */
.nc-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  pointer-events: none;
  z-index: 0;
  animation: ncOrbFloat 14s ease-in-out infinite alternate;
}
.nc-orb-1 { width: 500px; height: 500px; background: var(--primary, #00d4ff); opacity: .07; top: -120px; left: -100px; }
.nc-orb-2 { width: 350px; height: 350px; background: #a855f7; opacity: .06; top: 30%; right: -80px; animation-delay: -5s; }
.nc-orb-3 { width: 280px; height: 280px; background: #10b981; opacity: .05; bottom: -60px; left: 35%; animation-delay: -10s; }

@keyframes ncOrbFloat {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(20px, -15px) scale(1.05); }
  100% { transform: translate(-10px, 10px) scale(.97); }
}

/* ─── Slaytlar Katmanı ──────────────────────────────────── */
.nc-slides {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

/* ─── Tek Slayt ─────────────────────────────────────────── */
.nc-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 2vw, 2rem) clamp(1rem, 4vw, 3rem);

  /* Gizli başlangıç durumu */
  opacity: 0;
  pointer-events: none;
  transform: translateX(60px) scale(.97);
  transition:
    opacity .45s cubic-bezier(.16,1,.3,1),
    transform .45s cubic-bezier(.16,1,.3,1);
}

/* Aktif slayt */
.nc-slide.aktif {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0) scale(1);
}

/* ─── Slayt İçerik Kutusu ───────────────────────────────── */
.nc-slide-icerik {
  width: min(94vw, 1100px);
  text-align: center;
  position: relative;
  z-index: 2;
}

/* ─── GİRİŞ SLAYT ───────────────────────────────────────── */
.nc-slide-intro .nc-slide-icerik {
  max-width: 720px;
}

.nc-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(.62rem, .72vw, .8rem);
  font-weight: 700;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 2px;
  background: rgba(var(--primary-rgb, 0,212,255), .1);
  border: 1px solid rgba(var(--primary-rgb, 0,212,255), .3);
  padding: .45rem 1.2rem;
  border-radius: 30px;
  margin-bottom: 1.5rem;
}

.nc-baslik {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2rem, 4vw, 3.8rem);
  font-weight: 900;
  color: var(--text1);
  line-height: 1.15;
  margin-bottom: 1.2rem;
}

.nc-baslik span {
  background: linear-gradient(135deg, var(--primary, #00d4ff), #a855f7, #10b981);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: ncGradText 4s ease-in-out infinite;
}

@keyframes ncGradText {
  0%, 100% { background-position: 0% 50%; }
  50%       { background-position: 100% 50%; }
}

.nc-alt-baslik {
  color: var(--text2);
  font-size: clamp(.88rem, 1vw, 1.1rem);
  line-height: 1.7;
  max-width: 520px;
  margin: 0 auto 2rem;
}

/* Başlat butonu */
.nc-baslat-btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .9rem 2.4rem;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--primary, #00d4ff), #a855f7);
  background-size: 200% 200%;
  color: #fff;
  font-family: 'Sora', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: all .3s;
  box-shadow: 0 8px 32px rgba(var(--primary-rgb, 0,212,255), .3);
  animation: ncBtnGrad 3s ease-in-out infinite;
}

@keyframes ncBtnGrad {
  0%, 100% { background-position: 0% 50%; }
  50%       { background-position: 100% 50%; }
}

.nc-baslat-btn:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 14px 40px rgba(var(--primary-rgb, 0,212,255), .4);
}

/* ─── ADIM LAYOUT (sol metin — sağ kart) ────────────────── */
.nc-adim-layout {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(2rem, 5vw, 6rem);
  align-items: center;
  text-align: left;
}

.nc-adim-sol {
  display: flex;
  flex-direction: column;
  gap: .9rem;
}

.nc-adim-numara {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(3.5rem, 7vw, 7rem);
  font-weight: 900;
  line-height: 1;
  opacity: .18;
  margin-bottom: -.3rem;
}

.nc-adim-baslik {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.5rem, 2.2vw, 2.2rem);
  font-weight: 800;
  color: var(--text1);
  line-height: 1.2;
}

.nc-adim-aciklama {
  color: var(--text2);
  font-size: clamp(.88rem, .98vw, 1.05rem);
  line-height: 1.75;
  max-width: 520px;
}

/* Etiket grubu */
.nc-adim-etiketler {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .4rem;
}

.nc-etiket {
  padding: .32rem .78rem;
  border-radius: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: .68rem;
  font-weight: 600;
  border: 1px solid;
  transition: transform .3s;
}
.nc-etiket:hover { transform: translateY(-2px); }

.nc-etiket-mavi    { color: #00d4ff; border-color: rgba(0,212,255,.3); background: rgba(0,212,255,.08); }
.nc-etiket-yesil   { color: #10b981; border-color: rgba(16,185,129,.3); background: rgba(16,185,129,.08); }
.nc-etiket-mor     { color: #a855f7; border-color: rgba(168,85,247,.3); background: rgba(168,85,247,.08); }
.nc-etiket-turuncu { color: #f59e0b; border-color: rgba(245,158,11,.3); background: rgba(245,158,11,.08); }
.nc-etiket-kirmizi { color: #ef4444; border-color: rgba(239,68,68,.3); background: rgba(239,68,68,.08); }

/* ─── SAĞ GÖRSEL KART ────────────────────────────────────── */
.nc-adim-sag {
  flex-shrink: 0;
}

.nc-gorsel-kart {
  width: clamp(180px, 20vw, 260px);
  height: clamp(180px, 20vw, 260px);
  border-radius: 28px;
  border: 1px solid var(--border, rgba(255,255,255,.1));
  background: var(--card, rgba(255,255,255,.04));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  backdrop-filter: blur(12px);
  position: relative;
  overflow: hidden;
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}

.nc-gorsel-kart:hover { transform: translateY(-6px) scale(1.02); }

/* Üst gradient şerit */
.nc-gorsel-kart::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-radius: 28px 28px 0 0;
}

/* İç glow */
.nc-gorsel-kart::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: 28px;
}

.nc-kart-mavi::before    { background: linear-gradient(90deg, #00d4ff, #a855f7); }
.nc-kart-mavi::after     { background: radial-gradient(ellipse at 50% 0%, rgba(0,212,255,.12), transparent 70%); }
.nc-kart-mavi            { box-shadow: 0 8px 40px rgba(0,212,255,.1); }

.nc-kart-yesil::before   { background: linear-gradient(90deg, #10b981, #06d6a0); }
.nc-kart-yesil::after    { background: radial-gradient(ellipse at 50% 0%, rgba(16,185,129,.12), transparent 70%); }
.nc-kart-yesil           { box-shadow: 0 8px 40px rgba(16,185,129,.1); }

.nc-kart-turuncu::before { background: linear-gradient(90deg, #f59e0b, #ef4444); }
.nc-kart-turuncu::after  { background: radial-gradient(ellipse at 50% 0%, rgba(245,158,11,.12), transparent 70%); }
.nc-kart-turuncu         { box-shadow: 0 8px 40px rgba(245,158,11,.1); }

.nc-kart-mor::before     { background: linear-gradient(90deg, #6366f1, #a855f7); }
.nc-kart-mor::after      { background: radial-gradient(ellipse at 50% 0%, rgba(168,85,247,.12), transparent 70%); }
.nc-kart-mor             { box-shadow: 0 8px 40px rgba(168,85,247,.1); }

.nc-kart-kirmizi::before { background: linear-gradient(90deg, #ef4444, #f97316); }
.nc-kart-kirmizi::after  { background: radial-gradient(ellipse at 50% 0%, rgba(239,68,68,.12), transparent 70%); }
.nc-kart-kirmizi         { box-shadow: 0 8px 40px rgba(239,68,68,.1); }

/* Kart içi ikon */
.nc-gorsel-ikon {
  width: 72px; height: 72px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  position: relative;
  z-index: 1;
  transition: transform .3s;
}
.nc-gorsel-kart:hover .nc-gorsel-ikon { transform: scale(1.12); }

.ikon-mavi    { background: rgba(0,212,255,.15);   color: #00d4ff; box-shadow: 0 0 28px rgba(0,212,255,.2); }
.ikon-yesil   { background: rgba(16,185,129,.15);  color: #10b981; box-shadow: 0 0 28px rgba(16,185,129,.2); }
.ikon-turuncu { background: rgba(249,115,22,.15);  color: #f59e0b; box-shadow: 0 0 28px rgba(245,158,11,.2); }
.ikon-mor     { background: rgba(124,58,237,.15);  color: #a855f7; box-shadow: 0 0 28px rgba(168,85,247,.2); }
.ikon-kirmizi { background: rgba(239,68,68,.15);   color: #ef4444; box-shadow: 0 0 28px rgba(239,68,68,.2); }

.nc-kart-yazi {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(.95rem, 1.1vw, 1.2rem);
  font-weight: 800;
  color: var(--text1);
  position: relative;
  z-index: 1;
}

.nc-kart-alt {
  font-family: 'JetBrains Mono', monospace;
  font-size: .68rem;
  color: var(--text3);
  position: relative;
  z-index: 1;
  margin-top: -.5rem;
}

/* ─── BİTİŞ SLAYT ───────────────────────────────────────── */
.nc-slide-bitis .nc-slide-icerik {
  max-width: 620px;
}

.nc-bitis-ikon {
  font-size: 3.5rem;
  color: var(--primary);
  margin-bottom: 1rem;
  animation: ncPulse 2s ease-in-out infinite;
}

@keyframes ncPulse {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 0 12px rgba(var(--primary-rgb,0,212,255),.4)); }
  50%       { transform: scale(1.1); filter: drop-shadow(0 0 24px rgba(var(--primary-rgb,0,212,255),.6)); }
}

.nc-cta-butonlar {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.nc-btn-birincil {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .9rem 2.2rem; border-radius: 14px;
  background: linear-gradient(135deg, var(--primary, #00d4ff), #a855f7);
  background-size: 200% 200%;
  color: #fff; font-family: 'Sora', sans-serif;
  font-size: .95rem; font-weight: 700;
  text-decoration: none; transition: all .3s;
  box-shadow: 0 6px 30px rgba(var(--primary-rgb, 0,212,255), .3);
  animation: ncBtnGrad 3s ease-in-out infinite;
}
.nc-btn-birincil:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(var(--primary-rgb, 0,212,255), .4); }

.nc-btn-ikincil {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .9rem 2.2rem; border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--border, rgba(255,255,255,.12));
  color: var(--text1); font-family: 'Sora', sans-serif;
  font-size: .95rem; font-weight: 600;
  text-decoration: none; transition: all .3s;
  backdrop-filter: blur(8px);
}
.nc-btn-ikincil:hover { border-color: var(--primary); color: var(--primary); transform: translateY(-2px); }

/* ─── NAVIGASYON OKLARI ─────────────────────────────────── */
.nc-ok {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: clamp(48px, 4vw, 64px);
  height: clamp(48px, 4vw, 64px);
  border-radius: 50%;
  border: 1.5px solid rgba(var(--primary-rgb, 0,212,255), .25);
  background: rgba(var(--primary-rgb, 0,212,255), .06);
  color: var(--primary, #00d4ff);
  font-size: clamp(1rem, 1.4vw, 1.4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .3s cubic-bezier(.16,1,.3,1);
  backdrop-filter: blur(8px);
}

.nc-ok:hover {
  background: rgba(var(--primary-rgb, 0,212,255), .16);
  border-color: rgba(var(--primary-rgb, 0,212,255), .55);
  box-shadow: 0 0 24px rgba(var(--primary-rgb, 0,212,255), .2);
  transform: translateY(-50%) scale(1.08);
}

.nc-ok.pasif {
  opacity: .45 !important;
  cursor: not-allowed;
}

.nc-ok.pasif:hover {
  background: rgba(var(--primary-rgb, 0,212,255), .06);
  border-color: rgba(var(--primary-rgb, 0,212,255), .25);
  box-shadow: none;
  transform: translateY(-50%);
}

.nc-ok-sol { left: clamp(.8rem, 2vw, 2.5rem); }
.nc-ok-sag { right: clamp(.8rem, 2vw, 2.5rem); }

/* ─── DOT NAVİGASYON ────────────────────────────────────── */
.nc-dotlar {
  position: absolute;
  bottom: clamp(.8rem, 1.5vw, 1.6rem);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  align-items: center;
  gap: .55rem;
}

.nc-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(var(--primary-rgb, 0,212,255), .25);
  cursor: pointer;
  transition: all .3s;
  padding: 0;
}

.nc-dot.aktif {
  width: 24px;
  border-radius: 4px;
  background: var(--primary, #00d4ff);
  box-shadow: 0 0 10px rgba(var(--primary-rgb, 0,212,255), .4);
}

.nc-dot:hover:not(.aktif) {
  background: rgba(var(--primary-rgb, 0,212,255), .5);
  transform: scale(1.2);
}

/* ─── SAYAÇ METNİ ───────────────────────────────────────── */
.nc-sayac-metin {
  position: absolute;
  top: clamp(.6rem, 1.2vw, 1.2rem);
  right: clamp(5rem, 8vw, 9rem);
  z-index: 10;
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(.58rem, .65vw, .72rem);
  font-weight: 600;
  color: var(--text3);
  background: rgba(var(--primary-rgb, 0,212,255), .06);
  border: 1px solid rgba(var(--primary-rgb, 0,212,255), .12);
  padding: .28rem .75rem;
  border-radius: 20px;
  letter-spacing: .04em;
  white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════
   ZENGİN MOCKUP STİLLERİ
   ═══════════════════════════════════════════════════════════ */

/* ─── Ortak Mockup Kapsayıcı ────────────────────────────── */
.nc-mockup {
  width: clamp(240px, 22vw, 320px);
  background: var(--card, rgba(255,255,255,.04));
  border: 1px solid var(--border, rgba(255,255,255,.1));
  border-radius: 20px;
  overflow: hidden;
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 32px rgba(0,0,0,.2);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.nc-mockup:hover { transform: translateY(-6px) scale(1.01); }

.nc-mockup-baslik {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .65rem 1rem;
  background: rgba(var(--primary-rgb,0,212,255),.07);
  border-bottom: 1px solid var(--border,rgba(255,255,255,.08));
  font-family: 'JetBrains Mono', monospace;
  font-size: .7rem;
  font-weight: 700;
  color: var(--primary);
  letter-spacing: .03em;
}

/* ─── Form Mockup ───────────────────────────────────────── */
.nc-mockup-form { padding-bottom: .5rem; }

.nc-form-alan {
  padding: .55rem 1rem .35rem;
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

.nc-form-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: .58rem;
  font-weight: 700;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.nc-form-input {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem .65rem;
  border-radius: 8px;
  background: rgba(var(--primary-rgb,0,212,255),.04);
  border: 1px solid rgba(var(--primary-rgb,0,212,255),.15);
  font-family: 'Sora', sans-serif;
  font-size: .72rem;
  color: var(--text2);
}
.nc-form-input i { color: var(--primary); font-size: .65rem; opacity: .7; }

.nc-form-secimler {
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
}

.nc-form-sec {
  padding: .28rem .62rem;
  border-radius: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: .62rem;
  font-weight: 600;
  border: 1px solid var(--border,rgba(255,255,255,.1));
  color: var(--text3);
  cursor: pointer;
  transition: all .2s;
}
.nc-form-sec.aktif {
  background: rgba(0,212,255,.12);
  border-color: rgba(0,212,255,.4);
  color: #00d4ff;
}

.nc-form-btn {
  margin: .6rem 1rem .4rem;
  padding: .55rem;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--primary,#00d4ff), #a855f7);
  color: #fff;
  font-family: 'Sora', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
}

.nc-form-alt {
  text-align: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: .58rem;
  color: var(--text3);
  padding-bottom: .6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
}

/* ─── Modül Grid Mockup ─────────────────────────────────── */
.nc-modul-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  padding: .75rem;
}

.nc-modul-kart {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  padding: .65rem .5rem;
  border-radius: 12px;
  border: 1px solid rgba(var(--mk-rgb,0,212,255),.15);
  background: rgba(0,0,0,.12);
  font-family: 'JetBrains Mono', monospace;
  font-size: .6rem;
  font-weight: 700;
  color: var(--mk);
  transition: all .3s;
  cursor: pointer;
}
.nc-modul-kart i { font-size: 1.1rem; }
.nc-modul-kart:hover { background: rgba(0,0,0,.22); transform: scale(1.04); }
.nc-modul-kart.nc-mk-tam { grid-column: 1 / -1; flex-direction: row; justify-content: center; gap: .6rem; }

/* ─── Konu Listesi Mockup ───────────────────────────────── */
.nc-konu-liste {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  padding: .5rem .75rem;
}

.nc-konu-satir {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .42rem .55rem;
  border-radius: 8px;
  font-family: 'Sora', sans-serif;
  font-size: .72rem;
  color: var(--text3);
  transition: all .2s;
}
.nc-konu-satir i { font-size: .72rem; flex-shrink: 0; }
.nc-ks-tamam { color: var(--text2); }
.nc-ks-tamam i { color: #10b981; }
.nc-ks-aktif { background: rgba(245,158,11,.07); color: var(--text1); font-weight: 600; border: 1px solid rgba(245,158,11,.2); }
.nc-ks-aktif i { color: #f59e0b; }

/* İlerleme barı */
.nc-ilerleme-wrap { padding: .5rem .75rem .75rem; }
.nc-ilerleme-ust {
  display: flex;
  justify-content: space-between;
  font-family: 'JetBrains Mono', monospace;
  font-size: .6rem;
  color: var(--text3);
  margin-bottom: .35rem;
}
.nc-ilerleme-yuzde { font-weight: 700; color: var(--text2); }
.nc-ilerleme-bar {
  height: 6px;
  border-radius: 3px;
  background: rgba(255,255,255,.06);
  overflow: hidden;
}
.nc-ilerleme-dolu {
  height: 100%;
  border-radius: 3px;
  transition: width .8s cubic-bezier(.16,1,.3,1);
}

/* ─── Dashboard Mockup ──────────────────────────────────── */
.nc-dash-statlar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .3rem;
  padding: .6rem .75rem .4rem;
  border-bottom: 1px solid var(--border,rgba(255,255,255,.06));
}
.nc-dash-stat { text-align: center; }
.nc-dash-stat-sayi { font-family: 'Montserrat', sans-serif; font-size: 1.3rem; font-weight: 900; line-height: 1; }
.nc-dash-stat-lbl { font-family: 'JetBrains Mono', monospace; font-size: .55rem; color: var(--text3); margin-top: .2rem; }

.nc-dash-bars { padding: .55rem .75rem .75rem; display: flex; flex-direction: column; gap: .55rem; }
.nc-dash-bar-satir {
  display: grid;
  grid-template-columns: 60px 1fr 32px;
  align-items: center;
  gap: .45rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: .6rem;
  color: var(--text3);
}
.nc-dash-bar-satir span:last-child { text-align: right; font-weight: 700; color: var(--text2); }

/* ─── Kod Editörü Mockup ────────────────────────────────── */
.nc-mockup-editor { overflow: hidden; }

.nc-editor-bar {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .85rem;
  background: #1e2232;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.nc-editor-dot { width: 11px; height: 11px; border-radius: 50%; flex-shrink: 0; }
.nc-editor-dosya {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: .6rem;
  color: #8b9bb4;
}

.nc-editor-kod {
  background: #12151f;
  padding: .75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-height: 140px;
}

.nc-kod-satir {
  font-family: 'JetBrains Mono', monospace;
  font-size: .68rem;
  line-height: 1.7;
  white-space: pre;
}
.nc-k-mor  { color: #c084fc; }
.nc-k-mavi { color: #67e8f9; }
.nc-k-bey  { color: #e2e8f0; }
.nc-k-tur  { color: #fb923c; }
.nc-k-yes  { color: #86efac; }
.nc-k-gri  { color: #64748b; }
.nc-k-cikti { margin-top: .4rem; border-top: 1px solid rgba(255,255,255,.06); padding-top: .4rem; }

/* ─── Açık Tema ─────────────────────────────────────────── */

[data-theme="cream"] .nc-gorsel-kart,
[data-theme="corporate"] .nc-gorsel-kart {
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
}

/* ─── RESPONSİF ─────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* Tablet: mockup küçült */
  .nc-mockup { width: clamp(200px, 28vw, 280px); }
  .nc-adim-layout { gap: clamp(1.5rem, 3vw, 3rem); }
}

@media (max-width: 768px) {
  body.nc-slider-mod {
    height: auto !important;
    min-height: 100dvh !important;
    overflow-y: auto !important;
  }

  .nc-slider-wrap {
    min-height: calc(100dvh - var(--bh-header-h, 72px));
  }

  /* Tablet/telefon: layout dikey, mockup altta kompakt görünür */
  .nc-adim-layout {
    grid-template-columns: 1fr;
    gap: .9rem;
    text-align: center;
    align-content: center;
  }

  .nc-adim-etiketler { justify-content: center; }

  .nc-adim-sag {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .nc-mockup {
    width: min(100%, 360px);
    max-height: 34vh;
    overflow: hidden;
  }

  .nc-mockup-baslik { padding: .48rem .72rem; font-size: .62rem; }
  .nc-form-alan { padding: .42rem .72rem .24rem; }
  .nc-form-label { font-size: .52rem; }
  .nc-form-input { padding: .32rem .52rem; font-size: .64rem; }
  .nc-form-sec { font-size: .54rem; padding: .22rem .48rem; }
  .nc-form-btn { margin: .42rem .72rem .28rem; padding: .42rem; font-size: .68rem; }
  .nc-form-alt { font-size: .52rem; padding-bottom: .42rem; }
  .nc-modul-grid { gap: .42rem; padding: .55rem; }
  .nc-modul-kart { padding: .5rem .42rem; font-size: .54rem; }
  .nc-konu-liste { padding: .42rem .58rem; }
  .nc-konu-satir { padding: .32rem .44rem; font-size: .64rem; }
  .nc-ilerleme-wrap { padding: .38rem .58rem .58rem; }
  .nc-dash-statlar { padding: .48rem .58rem .32rem; }
  .nc-dash-stat-sayi { font-size: 1rem; }
  .nc-dash-stat-lbl { font-size: .48rem; }
  .nc-dash-bars { padding: .42rem .58rem .58rem; gap: .42rem; }
  .nc-dash-bar-satir { grid-template-columns: 52px 1fr 28px; font-size: .52rem; }
  .nc-editor-bar { padding: .42rem .62rem; }
  .nc-editor-dot { width: 9px; height: 9px; }
  .nc-editor-kod { min-height: 104px; padding: .52rem .7rem; }
  .nc-kod-satir { font-size: .56rem; line-height: 1.55; }

  /* Ok butonları — parmakla kolay dokunulabilir */
  .nc-ok {
    width: 46px; height: 46px;
    font-size: 1rem;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    /* Ok butonlarını slider ortasına kilitle */
    top: 50%;
  }

  .nc-ok-sol { left: .4rem; }
  .nc-ok-sag { right: .4rem; }

  /* Sayaç metni küçük ekranda gizle */
  .nc-sayac-metin { display: none; }

  .nc-adim-aciklama { font-size: .88rem; max-width: 100%; }

  /* Slayt içi scroll: uzun içerik kayabilsin */
  .nc-slide {
    padding: 1rem 3.8rem; /* oklara yer bırak */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    align-items: flex-start;
    /* padding top: header yüksekliğinin slayt içine taşmaması için */
    padding-top: 1rem;
  }

  .nc-slide-icerik {
    width: 100%;
    max-width: 100%;
    /* Dikey ortalama için margin kullan */
    margin: auto;
  }

  .nc-baslik { font-size: clamp(1.5rem, 5vw, 2.2rem); }
  .nc-alt-baslik { font-size: .9rem; }

  /* Dot navigasyon alanı */
  .nc-dotlar { bottom: .6rem; gap: .45rem; }

  /* CTA butonlar */
  .nc-cta-butonlar { gap: .75rem; }
  .nc-btn-birincil,
  .nc-btn-ikincil { font-size: .85rem; padding: .8rem 1.6rem; }
}

@media (max-width: 480px) {
  .nc-baslat-btn { padding: .75rem 1.8rem; font-size: .9rem; }
  .nc-badge { font-size: .6rem; padding: .38rem .9rem; }
  .nc-adim-numara { font-size: 2.8rem; }
  .nc-adim-baslik { font-size: 1.35rem; }
  .nc-adim-aciklama { font-size: .84rem; }
  .nc-adim-etiketler { display: none; }
  .nc-mockup { max-height: 31vh; }

  .nc-ok { width: 42px; height: 42px; font-size: .9rem; }
  .nc-ok-sol { left: .2rem; }
  .nc-ok-sag { right: .2rem; }

  .nc-slide { padding: 1rem 3.2rem 3.5rem; }

  .nc-dotlar {
    bottom: .45rem;
    gap: .35rem;
  }

  .nc-dot { width: 6px; height: 6px; }
  .nc-dot.aktif { width: 18px; }

  .nc-cta-butonlar { flex-direction: column; align-items: center; gap: .6rem; }
  .nc-btn-birincil,
  .nc-btn-ikincil { width: 100%; max-width: 280px; justify-content: center; }
}

@media (max-width: 360px) {
  .nc-slide { padding: .75rem 2.8rem 3rem; }
  .nc-ok { width: 36px; height: 36px; font-size: .8rem; }
  .nc-ok-sol { left: .1rem; }
  .nc-ok-sag { right: .1rem; }
  .nc-adim-baslik { font-size: 1.2rem; }
}

/* Mobil guvenli gorunum: cPanel/telefonlarda absolute slider yuksekligi sifirlanirsa icerik kaybolmasin. */
@media (max-width: 768px) {
  body.nc-slider-mod {
    display: block !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: auto !important;
    min-height: 100svh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .nc-slider-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100vw !important;
    min-height: calc(100svh - var(--bh-header-h, 72px)) !important;
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  .nc-slides {
    display: block !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: auto !important;
    min-height: calc(100svh - var(--bh-header-h, 72px)) !important;
    overflow-x: hidden !important;
  }

  .nc-slide {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    min-height: calc(100svh - var(--bh-header-h, 72px)) !important;
    display: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    padding-inline: 3rem !important;
    overflow-x: hidden !important;
  }

  .nc-slide.aktif {
    display: flex !important;
  }

  .nc-slide-icerik,
  .nc-adim-layout,
  .nc-adim-sol,
  .nc-adim-sag,
  .nc-mockup {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .nc-adim-aciklama,
  .nc-alt-baslik,
  .nc-baslik,
  .nc-adim-baslik,
  .nc-etiket,
  .nc-konu-satir,
  .nc-form-input,
  .nc-modul-kart,
  .nc-dash-bar-satir {
    overflow-wrap: anywhere !important;
  }

  .nc-editor-kod {
    overflow-x: auto !important;
  }

  .nc-ok,
  .nc-dotlar {
    position: fixed !important;
  }

  .nc-ok {
    top: 50svh !important;
    z-index: 2147482000 !important;
  }

  .nc-ok-sol {
    left: max(.35rem, env(safe-area-inset-left, 0px)) !important;
  }

  .nc-ok-sag {
    right: max(.35rem, env(safe-area-inset-right, 0px)) !important;
  }
}

@media (max-width: 420px) {
  .nc-slide {
    padding-inline: 2.65rem !important;
  }

  .nc-ok {
    width: 38px !important;
    height: 38px !important;
  }
}


/* ── Akilli Tahta (1920px+) ── */
@media (min-width: 1920px) {
  .page-container,
  .content-wrap,
  .section-inner { max-width: 1600px; margin-inline: auto; }
}
